@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic&display=swap');

/* Global Styles */

/*ハンバーガーボタン*/
.el_humburger {
  position: fixed;
  top: 30px;
  right: 30px;
  width: 50px;
  height: 50px;
  padding-top: 1px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 0px;
  z-index: 20;
  cursor: pointer;
  pointer-events: auto;
  color: #999999;
  text-align: center;}
 
@media screen and (max-width: 840px) {
  .el_humburger {
    display: block;
    left: 0;
    top: 0;
    padding-top: 20px;
    width: 70px;
    height: 70px;}
    #factory .el_humburger {
      display: none; } }
 
.el_humburger_wrapper {
  margin-bottom: 5px;
  width: 42px;
  display: inline-block; }
 
@media screen and (max-width: 840px) {
  .el_humburger_wrapper {
    margin-bottom: 5px;
    width: 30px; } }
 
.el_humburger_text {
  font-size: 12px;
  letter-spacing: 0.1em;
  font-family: 'Zen Maru Gothic', serif;}
 
.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
  display: none; }
 
.el_humburger_text.el_humburger_text__close {
  display: none; }
 
.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
  display: block; }
 
@media screen and (max-width: 840px) {
  .el_humburger_text {
    font-size: 10px;
    padding-top: 2px; } }
 
@media screen and (max-width: 840px) {
  .el_humburger_text svg path {
    -webkit-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    -o-transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    transition: all 200ms cubic-bezier(0.16, 0.52, 0.25, 1);
    fill: #999999; } }
 
@media screen and (max-width: 840px) {
  .js_humburgerOpen .el_humburger_text svg path {
    fill: #999999; } }
 
.el_humburger span.el_humburger_bar {
  display: block;
  width: 100%;
  margin: 0 auto 9px;
  height: 1px;
  background: #999999;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out; }
 
.el_humburger span.el_humburger_bar:last-child {
  margin-bottom: 0; }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar {
  background: #999999; }
 
@media screen and (max-width: 840px) {
  .el_humburger span.el_humburger_bar {
    left: 0;
    top: 0;
    background: #999999; } }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
  -webkit-transform: translateY(9px) rotate(-45deg);
  -ms-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg); }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
  opacity: 0; }
 
.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-11px) rotate(45deg);
  -ms-transform: translateY(-11px) rotate(45deg);
  transform: translateY(-11px) rotate(45deg); }
 
.el_humburgerButton.el_humburgerButton__close {
  top: 2%;
  right: 2%; }
 
.el_humburgerButton__close span.el_humburger_bar {
  display: block;
  width: 35px;
  margin: 0 auto;
  height: 4px;
  background: #999999; }
 
.el_humburgerButton__close span.el_humburger_bar.top {
  -webkit-transform: translateY(5px) rotate(-45deg);
  -ms-transform: translateY(5px) rotate(-45deg);
  transform: translateY(5px) rotate(-45deg); }
 
.el_humburgerButton__close span.el_humburger_bar.bottom {
  -webkit-transform: translateY(-6px) rotate(45deg);
  -ms-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg); }
 
.navi {
  position: fixed;
  right: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  width: 200px;
  z-index: 3;
  padding-top: 100px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 600ms ease-out;
  -o-transition: all 600ms ease-out;
  transition: all 600ms ease-out;
  transform:translateZ(0) translateX(100%);
  overflow: hidden; }
  .js_humburgerOpen .navi {
    margin-left: auto;
    transform:translateZ(0) translateX(0); }
    @media screen and (max-width: 840px) {
      .navi {
        padding: 100px 5% 0; }
      .js_humburgerOpen .navi {
        width: 100%;} }
 
.navi_item {
  margin-bottom: 28px;
  font-size: 20px;
  font-family: 'Zen Maru Gothic', serif;
  white-space: nowrap;
  margin-left: 0; }
  .navi_item.op_innerLink {
    cursor: pointer; }
  @media screen and (max-width: 840px) {
    .navi_item {
      margin-left: 0;
      font-size: 18px; } }

.navi_item a{
	color: #999999;
	text-decoration: none;
}



html {
    scroll-behavior: smooth;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #999999;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #999999;
    border-right: 3px solid #999999;
    transform: translateY(20%) rotate(-45deg);
}

body {
	margin-left: auto;
	margin-right: auto;
	width: 85%;
	padding-left: 2.275%;
	padding-right: 2.275%;
	font-family: 'Zen Maru Gothic', serif;
		background-color : #f3f3f3;
}
/* Header */
header {
	text-align: center;
	display: block;
	font-family: 'Zen Maru Gothic', serif;
}
header .profileLogo .logoPlaceholder {
	background-color: #f3f3f3;
	width: 187px;
	text-align: center;
	font-family: 'Zen Maru Gothic', serif;
}
header .logoPlaceholder span {
	width: 80px;
	height: 22px;
	color: rgba(255,255,255,1.00);
	font-size: 30px;
	font-weight: 700;
	line-height: 53px;
	font-family: 'Zen Maru Gothic', serif;
}
header .profilePhoto {
	margin-right: 200px;
	background-color: rgba(237,237,237,1.00);
	width: 150px;
	border-radius: 50%;
	height: 150px;
	clear: both;
}
header .profileHeader h1 {
	color: rgba(146,146,146,1.00);
	font-size: 30px;
	font-weight: 700;
	line-height: 24px;
	font-family: 'Zen Maru Gothic', serif;
}
header .profileHeader h3 {
	font-family: 'Zen Maru Gothic', serif;
	color: rgba(146,146,146,1.00);
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}
hr {
	background-color: rgba(208,207,207,1.00);
	height: 1px;
}
header .profileHeader p {
	font-family: 'Zen Maru Gothic', serif;
	color: rgba(146,146,146,1.00);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
	overflow-y: auto;
}
header .socialNetworkNavBar {
	text-align: center;
	display: block;
	margin-top: 60px;
	clear: both;
}
header .socialNetworkNavBar .socialNetworkNav {
	border-radius: 50%;
	cursor: pointer;
}
header .socialNetworkNavBar .socialNetworkNav img:hover {
	opacity: 0.5;
}
/* Main Content sections */
.mainContent .section1 {
	display: block;
}
.section1 .sectionTitle, .section2 .sectionTitle {
	font-family: 'Zen Maru Gothic', serif;
	color: rgba(146,146,146,1.00);
	font-size: 18px;
	font-weight: 700;
}
.section1 .sectionTitleRule, .section2 .sectionTitleRule {
	margin: 0 3% 0 0;
	float: left;
	clear: both;
}
.section1 .sectionTitleRule2, .section2 .sectionTitleRule2 {
	background-color: rgba(208,207,207,1.00);
	height: 1px;
	padding: 0px;
}
.mainContent .section1 .section1Content {
	font-family: 'Zen Maru Gothic', serif;
	font-size: 14px;
	font-weight: 100;
	color: rgba(132,132,132,1.00);
}
.mainContent .section1 .section1Content span {
	color: rgba(146,146,146,1.00);
	font-family: 'Zen Maru Gothic', serif;
}
.section2 .sectionContentTitle {
	font-family: 'Zen Maru Gothic', serif;
	color: rgba(146,146,146,1.00);
	font-size: 18px;
	font-weight: 700;
}
.section2 .sectionContentSubTitle {
	font-family: 'Zen Maru Gothic', serif;
	color: rgba(68,67,67,1.00);
	font-size: 14px;
	font-weight: 400;
}
.section2 .sectionContent {
	font-family: 'Zen Maru Gothic', serif;
	color: rgba(146,146,146,1.00);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.8;
}
.mainContent {
	display: block;
}
.mainContent .externalResourcesNav .externalResources {
	display: inline-block;
	text-align: center;
	margin-top: 0px;
	cursor: pointer;
}

.externalResourcesNav .externalResources a {
	font-family: 'Zen Maru Gothic', serif;
	color: rgba(255,255,255,1.00);
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	text-decoration: none;
}
.stretch {
	content: '';
	display: inline-block;

	margin-right: 3%;
}
/* Footer */
footer .footerDisclaimer {
	font-family: 'Zen Maru Gothic', serif;
	font-size: 14px;
	line-height: 18px;
	color: rgba(104,103,103,1.00);
	font-weight: 700;
}
footer .footerDisclaimer span {
	color: rgba(181,178,178,1.00);
	font-weight: 400;
}
footer .footerNote {
	font-family: 'Zen Maru Gothic', serif;
	font-size: 14px;
	line-height: 18px;
	color: rgba(104,103,103,1.00);
	font-weight: 700;
}
footer .footerNote span {
	color: rgba(181,178,178,1.00);
	font-weight: 400;
}

/* Media query for Mobile devices*/
@media only screen and (min-width : 285px) and (max-width : 480px) {
/* Header */
header {
	width: 100%;
	float: none;
}
header .profileLogo .logoPlaceholder {
	display: inline-block;
}
header .profilePhoto {
	margin: auto;
	display: block;
}
header .profileHeader {
	text-align: center;
	margin-top: 10%;
}
header .profileHeader p {
	text-align: justify;
}
header .socialNetworkNavBar {
	text-align: center;
	display: block;
	margin-top: 60px;
	clear: both;
	margin-bottom: 15%;
}
header .socialNetworkNavBar .socialNetworkNav {
	width: 60px;
	height: 60px;
	display: inline-block;
	margin-right: 23px;
}
/* Main content sections */
.mozi p{
	color: rgba(104,103,103,1.00);
	
}
.moziusu a{
	color: rgba(200,200,200,1.00);
	font-size: 10px;
}
.mainContent .section1 {
	text-align: center;
	margin-bottom: 10%;
}
.section1 .section1Title, .section2 .section1Title {
	text-align: center;
}
.section1 .sectionTitleRule, .section2 .sectionTitleRule {
	width: 100%;
}
.section1 .sectionTitleRule2, .section2 .sectionTitleRule2 {
	display: none;
}
.mainContent .section1 .section1Content {
	display: inline-block;
	text-align: left;
	font-family: 'Zen Maru Gothic', serif;
	text-align: justify;
}
.mainContent .section2 {
	display: block;
	text-align: center;
}
.section2 .section2Content {
	margin-top: 10%;
	text-align: justify;
	margin-bottom: 10%;
}
.mainContent .externalResourcesNav {
	margin-bottom: 10%;
}
.mainContent .externalResourcesNav .externalResources {
	width: 100%;
	height: 35px;
}
	
.body{
	width: 100%;
	}

.port{
		width: 100%;
	}

.portfolio{
	max-width: 100%;
	display : flex;
	margin-left: auto;
	margin-right: auto;
	}

img{
	max-width: 100%;
	height: auto;
	}
		
.profilePhoto img{
	width: 100%;
	}
	
.externalResources img{
	width: 30%;
	}
	
.sikaku img{
	width : 70%;
	margin : 10px auto;
}

.element {
	width: 90%;
  	opacity: 0;
  	visibility: hidden;
  	transform: translateY(50px);
  	transition: opacity 1s, visibility 1s, transform 1s;
}
	
.is-fadein {
  	opacity: 1;
  	visibility: visible;
  	transform: translateX(0);
}

/* Footer */
footer {
	display: block;
	text-align: center;
	font-family: 'Zen Maru Gothic', serif;
}
}

/* Media Query for Tablets */
@media only screen and (min-width : 481px) and (max-width : 1024px) {
/* Header */
header {
	width: 100%;
	float: none;
}
header .profileLogo .logoPlaceholder {
	display: inline-block;
	font-family: 'Zen Maru Gothic', serif;
}
header .profilePhoto {
	float: left;
	clear: both;
	margin-right: 3%;
	margin-top: 5%;
}
header .profileHeader {
	text-align: left;
	margin-top: 7%;
}
header .socialNetworkNavBar .socialNetworkNav {
	width: 74px;
	height: 74px;
	display: inline-block;
	margin-right: 23px;
}
/* Main content and sections */
.mozi p{
	color: rgba(104,103,103,1.00);
	padding-left: 10%;
	
}
.moziusu a{
	color: rgba(200,200,200,1.00);
	padding-left: 10%;
}
.portfolio{
	width : 100%;
	display : flex;
	margin-left: auto;
	margin-right: auto;
}
	
img{
	max-width: 100%;
	height: auto;
	}
		
.sikaku img{
	width : 60%;
	margin : auto;
}

.element {
	margin: auto;
	width: 80%;
  	opacity: 0;
  	visibility: hidden;
  	transform: translateY(50px);
  	transition: opacity 1s, visibility 1s, transform 1s;
}
	
.is-fadein {
  	opacity: 1;
  	visibility: visible;
  	transform: translateX(0);
}
.section1 .section1Title, .section2 .section1Title {
	text-align: center;
}
.section1 .sectionTitleRule, .section2 .sectionTitleRule {
	width: 100%;
}
.section1 .sectionTitleRule2, .section2 .sectionTitleRule2 {
	display: none;
}
.mainContent .section1 .section1Content {
	display: block;
	margin: 0% 0% 0% 20%;
	font-family: 'Zen Maru Gothic', serif;
	margin-top: 5%;
	margin-bottom: 5%;
}
.mainContent .section2 {
	clear: both;
}
.section2 .section2Content {
	padding: 0px;
	margin-left: 20%;
	font-family: 'Zen Maru Gothic', serif;
	margin-top: 5%;
	margin-bottom: 5%;
}
.mainContent .externalResourcesNav {
	margin-left: 20%;
	margin-top: 40px;
	margin-bottom: 40px;
	text-align: center;
	padding-top: 0px;
	clear: both;
}
.mainContent .externalResourcesNav .externalResources {
	width: 199px;
	height: 48px;
	margin-top: 5%;
}
/* Footer */
footer .footerDisclaimer {
	float: left;
	margin-left: 3%;
	font-family: 'Zen Maru Gothic', serif;
}
footer .footerNote {
	float: right;
	margin-right: 3%;
	font-family: 'Zen Maru Gothic', serif;
}
}

/* Desktops and laptops  */
@media only screen and (min-width:1025px) {
/* Header */
header .profileLogo .logoPlaceholder {
	float: left;
	margin-bottom: 50px;
}
header .profilePhoto {
	float: left;
	clear: both;
	margin-right: 3%;
}
header .profileHeader {
	text-align: left;
	padding-top: 10%;
}
header .socialNetworkNavBar .socialNetworkNav {
	width: 74px;
	height: 74px;
	display: inline-block;
	margin-right: 23px;
}
/* Main content sections */
.mozi p{
	color: rgba(104,103,103,1.00);
	padding-left: 10%;
	
}
	
.moziusu a{
	color: rgba(200,200,200,1.00);
	padding-left: 10%;
}
	
.portfolio{
	width : 100%;
	display : flex;
	margin-left: auto;
	margin-right: auto;
}
	
img{
	max-width: 100%;
	height: auto;
	}
		
.sikaku img{
	width : 60%;
	margin : auto;
}

.element {
	margin: auto;
	width: 80%;
  	opacity: 0;
  	visibility: hidden;
  	transform: translateY(50px);
  	transition: opacity 1s, visibility 1s, transform 1s;
}
	
.is-fadein {
  	opacity: 1;
  	visibility: visible;
  	transform: translateX(0);
}
.section1 .sectionTitleRule, .section2 .sectionTitleRule {
	width: 22.5%;
}
.mainContent .section1 .section1Content {
	display: block;
	margin-top: 0%;
	margin-right: 0%;
	margin-left: 26%;
	margin-bottom: 0%;
	font-family: 'Zen Maru Gothic', serif;
}
.mainContent .section2 {
	clear: both;
}
.section2 .section2Content {
	padding: 0px;
	margin-left: 26%;
	font-family: 'Zen Maru Gothic', serif;
}
.mainContent .externalResourcesNav {
	margin-top: 40px;
	margin-bottom: 40px;
	text-align: center;
	padding-top: 0px;
	clear: both;
}
.mainContent .externalResourcesNav .externalResources {
	width: 199px;
	height: 48px;
}
/* Footer */
footer .footerDisclaimer {
	text-align: center;
	margin: 3%;
	font-family: 'Zen Maru Gothic', serif;
}

}
