html { font-size: 62.5%; }
body, h1, h2, h3, h4, h5, p, li, div {font-size: 11px; font-size: 1.1rem;}
#cv h3 {font-size: 12px; font-size: 1.2rem;}
#ntop {font-size: 15px; font-size: 1.5rem;}
#textes h2, #textes li, .small, .ex {font-size: 10px; font-size: 1.0rem;}

/*body, a:link, a:visited, a:active {color:#565656;}*/
a:hover { color: #aaaaaa }
.imgb h3, .imgb li {color:#828282;}

body {
    font-family: 'Roboto', Arial, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
    letter-spacing: 1px;
}
h1, h2, h3, h4, h5, h6 {
  font-weight:normal;
}
ul, ol, li, figure {
  margin:0;
  padding:0;
}
h1,
h3,
li { line-height: 28px }
b { font-weight: bold }
i { font-style: italic }
ul {
  list-style:none;
}
a:link,
a:visited {
    text-decoration: none;
    font-weight: none;
	  outline:none;
}
h2 { display: none }
html {
  opacity: 0;
}

/* menu */
h1,
h1 + ul {
    position: absolute;
    margin-top: 80px;
    z-index: 10000;
}
h1 { margin-left: 100px }
h1 + ul { margin-left: 260px }
h1 +ul > li {
    float: left;
    margin-right: 40px;
}

/* works */
#portforio {
    margin-bottom:20px;
    font-weight: bold;
}
#travaux {
  margin:0 0 100px 100px;
  padding-top:190px;
}
.imgb {
  width:250px;
  height:320px;
  position:relative;
  float: left;
  margin: 0 30px 20px 0;
  overflow: hidden;
}
.imgb > figure {
  position:absolute;
  bottom:0;
  max-width:240px;
  overflow:hidden;
}
figcaption {
  height:65px;
}
.cap { margin-bottom: 20px }
.imgb h3,
.imgb li {
	line-height: 16px;
	white-space: nowrap;
}
.imgb h3 { margin: 15px 0 0 0 }
.imgb .cap { margin-bottom: 0 }
.td { display: none!important;}
.pswp .td { display: block!important;}
.pswp .ex { line-height: 15px!important;}
.pswp .extop { margin-top: 15px; }

/* cv */
#cv {
    margin: 0 100px 120px 100px;
    padding-top:190px;
}
#cv h3 {
    clear: both;
    margin-top: 60px;
    margin-bottom: 20px;
    font-weight: bold;
}
#cv h4 , #cv ul {
  margin-left:40px;
}
#cv h4 {
  margin-top:30px;
  margin-bottom:10px;
  font-weight:bold;
}
#cv li {
    line-height: 16px;
    margin-bottom: 10px;
}
#bhead {
  max-width: 960px;
}
#portrait {
  float: right;
  display:block;
}
#bhead .name {
    margin-top: 0;
    margin-right:128px;
    margin-bottom: 40px;
    margin-left:0;
    float: left;
}
#bhead .name > li {
    line-height: 22px;
    margin-bottom: 0;
}

/* textes */
#textes {
    max-width: 750px;
    margin: 0 100px 120px 100px;
    padding-top:190px;
}
#textes h1, #textes h2, #textes h3 {
  margin:0;
  margin-bottom:10px;
  position:relative;
  font-weight:bold;
  margin-bottom:40px;
  line-height: 22px;
}
#textes ul {
  margin-bottom:30px;
}
#textes li {
  line-height: 18px;
  margin-bottom:15px;
  text-align: justify;
}
#textes p {
  line-height: 22px;
  margin:20px 0;
  text-align: justify;
}
#textes p.small {
  line-height: 18px;
  margin-top:40px;
}
#textes p.indent {
  text-indent: 4em;
  margin-top:0;
  margin-bottom:0;
}
#textes p.indent2 {
  text-indent: 4em;
}
hr {
   border-width: 1px 0 0 0;
   border-style: solid;
   border-color: #565656;
   height: 1px;
   margin:60px 0;
}

/* info */
#info {
	position: absolute;
	width: 450px;
	height: 40%;
	/* height:auto; */
	bottom: 60px;
	right: 40px;
	border: none;
	padding: 20px 2px 20px 20px;
	z-index: 9999;
}
#info h3 {
    font-weight: bold;
}
#info h3, #info p {
    line-height: 15px;
    clear: both;
    margin: 5px 0;
}
#info p > a { text-decoration: underline }
#info i {
  font-weight:bold;
}

#info, .slides {
  overflow:hidden;
}

/* flexslider */
.slides > li {
  display: block!important;
  overflow: hidden!important;
  position: relative!important;
}
.slides > li > img {
  width: 100%!important;
  height: auto!important;
  position: absolute!important;
  top: 50%!important;
  left: 50%!important;
  -webkit-transform: translate(-50%, -50%)!important;
  -ms-transform: translate(-50%, -50%)!important;
  transform: translate(-50%, -50%)!important;
}
.flex-control-nav {
  position:absolute;
  width:100%;
  text-align:center;
  bottom:10px;
  z-index: -10001;
}
.flex-control-nav li {
  margin:0 10px;
  list-style:none;
}
.flex-control-nav li {
  display:inline;
}
.flex-control-nav li a {
	width: 7px;
	height: 7px;
	display: inline-block;
	background: #fff;
	background: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	text-indent: -9999px;
	-webkit-box-shadow: inset 0px 0px 3px rgba(255,255,255,0.3);
	-moz-box-shadow: inset 0px 0px 3px rgba(255,255,255,0.3);
	-o-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
	box-shadow: inset 0px 0px 3px rgba(255,255,255,0.3);
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
}
.flex-control-nav li a:hover {
	background: #fff;
	background-color: rgba(255,255,255,0.7);
}
.flex-control-nav li a.flex-active {
  background: #fff;
  background: rgba(255, 255, 255, 0.9);
  cursor: default;
}

/* back to top */
#ntopWrap {
  display:none;
}
#ntop {
  position: fixed;
  z-index: 9999;
  right: 40px;
  bottom: 40px;
  width:30px;
  line-height:30px;
  text-align:center;
  background-color: transparent;
}

/* captcha */
.captchaWrap {
	position:relative;
}
#captcha3 {
	position:absolute;
	left:-90px;
	top:-30px;
}

/* photoswipe */
.mainmenu { z-index: 1000;}
.pswp { z-index: 999999;}
.pswp__bg {
	background: #fff;
}
.pswp h3 {
	margin-top:0;
}
.pswp__counter, .pswp__caption, .pswp__caption__center {
  font-size: 11px; font-size: 1.1rem;
	color:#565656;
}
.pswp__button--arrow--left:before, .pswp__button--arrow--right:before, .pswp__ui--fit .pswp__top-bar, .pswp__ui--fit .pswp__caption {
	background-color: transparent;
}
.pswp__caption__center {
	position:fixed;
	bottom:0;
	left:0;
	padding:20px;
  padding-bottom:0;
	background-color: rgba(255,255,255,.7);
}
.pswp__caption__center h3, .pswp__caption__center li {
  line-height:22px;
}
.pswp__caption__center h3 {
  margin-bottom:0;
}
.pswp__top-bar, .pswp__caption {
	background-color: transparent;
}

/* clearfix */
.cf {
  overflow: hidden;
  zoom: 1;
}

/* letter spacing 0 */
.ls0 {
  letter-spacing:0;
}
.ls00 {
  letter-spacing:0;
  word-spacing:-1px;
}

/* lang */
#lang {
  position:absolute;
  top:80px;
  right:60px;
  z-index: 10000;
  display:table;
}
#lang li {
  display:table-cell;
  padding-left:20px;
}

/* footer */
input, button, textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
footer {
  position: relative;
  margin: 0 100px 60px 100px;
  padding-bottom: 1px;
}
footer p {
  margin:8px 0;
  text-align: right;
}
footer ul {
  position: absolute;
  bottom: 0;
}
footer li {
  display: inline-block;
  margin-right:20px;
  line-height:12px;
  vertical-align: bottom;
}
footer form {
  float:right;
}
footer input {
  border:solid 1px #828282;
  text-align:right;
  direction: ltr;
}
::-webkit-input-placeholder {
  direction: rtl;
}
.inputMail {
  height: 18px;
  width:200px;
}
.submitButton {
  border-left:none;
  height: 20px;
  padding:0 5px;
}
.topFoot {
  margin:0;
  position: absolute;
  z-index: 99999;
  bottom:60px;
  left:100px;
}
.topFoot ul {
  position: relative;
  bottom: 0;
}

/* icons 
.fab {
  font-size: 16px; font-size: 1.6rem;
} */

@media only screen and (max-device-width:960px) and (orientation:landscape) {
  #bhead .name {
    margin-right: 100px;
    margin-left:0px;
  }
}

@media screen and (max-width: 800px){
  #bhead .name {
    margin-right:20px;
    margin-left:0px;
  }
}

@media screen and (max-width: 768px){
  a:hover { color: #ffffff }
  /* menu */
  #menu {
    width:600px;
    margin:0 auto;
  }
  h1,
  h1 + ul {
      margin-top: 80px;
  }
  h1 { margin-left: 0 }
  h1 + ul { margin-left: 160px }
  h1 +ul > li {
      float: left;
      margin-right: 40px;
  }

  /* works */
  #portforio {
    margin-left:0;
  }
  #travaux {
    margin-left:0;
    margin-bottom:60px;
  }
  .works {
    width:600px;
    margin:0 auto;
  }
  .imgb {
    margin-right:50px;
  }


  /* cv */
  #cv, #textes {
    width:600px;
    margin:0 auto;
    margin-bottom:60px;
  }
  #bhead, #cv h3 {
    margin-left:0;
    margin-right:0;
  }
  #cv h4 , #cv ul {
    margin-left:20px;
  }

  #info {
      position: absolute;
  	  width:45%;
      height:35%;
      /* height:auto; */
      bottom:60px;
      right: 20px;
      padding: 20px 2px 20px 20px;
  }
  #bhead .name {
    margin-top: 0;
    margin-right:30px;
    margin-bottom: 40px;
    margin-left:0;
    float: left;
  }

  /* textes */
  #textes h2 {
    margin:40px 0;
  }

  /* captcha */
  #captcha3 {
  	left:-70px;
  	top:10px;
  }

  /* lang */
  #lang {
    position:absolute;
    top:30px;
    right:30px;
  }

  .flex-control-nav {
    bottom:10px;
  }

  /* footer */
  footer {
    left:0;
    width:100%;
    margin:0;
  }
  .footWrap {
    position: relative;
    width:600px;
    margin: 0 auto;
    margin-bottom:60px;
  }
  .topFootWrap {
    position: relative;
    width:600px;
    margin: 0 auto;
  }
  .topFoot {
    left:0;
    width:100%;
  }
  footer form {
    position:absolute;
    right:0;
    bottom:0;
  }
  footer ul {
    position:absolute;
    bottom:0;
  }
  footer nav {
    display:inline-block;
  }
}
@media screen and (max-width:640px){
  /* menu */
  #menu {
    width:560px;
  }
  h1, h1 + ul {
    margin-top:60px;
  }
  h1 {
    margin-left:15px;
    margin-right:15px;
  }
  /* works */
  #travaux {
    padding-top:150px;
  }
  .works {
    width:560px;
  }
  #portforio {
    width:560px;
    margin-left:15px;
    margin-right:15px;
    margin-bottom:0;
  }
  .imgb {
    width:250px;
    height:320px;
    margin: 0 15px;
  }
  .imgb > figure {
    max-width:250px;
  }
  /* cv */
  #cv, #textes {
    width:560px;
    padding-top: 150px;
  }
  #bhead {
    margin-bottom:0;
  }
  #bhead, #cv h3 {
    margin-left:15px;
    margin-right:15px;
  }
  #bhead .name {
    margin-bottom:20px;
    margin-left:0;
  }
  #bhead #cvName1 {
    margin-bottom:50px;
  }
   #bhead #cvName2 {
    clear: both;
  }
  #cv h4 , #cv ul {
    margin-left:15px;
    margin-right:15px;
  }
  #portrait {
    width:90px;
  }
  #portrait img {
    max-width:100%;
	height:auto;
  }
  /* textes */
  #textes h1 , #textes h1, #textes h3, #textes ul, #textes p {
    margin-left:15px;
    margin-right:15px;
  }
  #ntop {
      right: 5%;
      bottom: 3%;
  }
  hr {
     margin:60px 15px;
  }
  /* info */
  #info {
      position: absolute;
  	  width:55%;
      height:40%;
      /* height:auto; */
      bottom:60px;
      right: 20px;
  }
  /* captcha */
  #captcha3 {
    left:10px;
    top:0;
  }
  /* lang */
  #lang {
    position:absolute;
    top:20px;
    right:20px;
  }

  /* footer */
  footer {
    margin-bottom: 80px;
  }
  .topFootWrap {
    width:560px;
    margin: 0 auto;
  }
  .footWrap {
    width:auto;
    margin:0 15px;
  }
  footer ul {
    margin:0 15px;
  }
  footer li {
    margin-right:20px;
  }
  .inputMail {
    width:180px;
  }

  .flex-control-nav {
    bottom:0;
  }

}

@media only screen and (orientation:landscape) {
  #bhead #cvName2 {
    clear:none;
  }
}

@media screen and (max-height:480px){
  h1, h1 + ul {
    margin-top:40px;
  }
  #travaux {
    padding-top:110px;
  }
  #portforio {
    margin-bottom:0;
  }
  /* cv */
  #cv, #textes {
    padding-top: 110px;
  }
  #bhead .name {
    letter-spacing: 0;
  }
  #bhead {
    margin-bottom:50px;
  }
  /* info */
  #info {
      position: absolute;
      width:50%;
      height:45%;
      /* height:auto; */
      bottom:50px;
      right: 10px
  }

  /* footer */
  .footWrap {
    width:600px!important;
    margin:0 auto;
    margin-bottom:60px;
  }
  footer ul {
    margin:0;
  }
  .footWrap {
    width:auto;
  }
}
@media screen and (max-width:560px){
  /* menu */
  #menu {
    width:100%;
  }
  h1, h1 + ul {
    margin-top:40px;
  }
  h1 {
    margin-left:40px;
    margin-right:40px;
  }
  h1 + ul {
    margin-left: 160px;
  }
  h1 + ul > li {
    margin-right:30px;
  }
  h1 + ul > li:last-child {
    margin-right:0;
  }
  /* works */
  #travaux {
    padding-top:110px;
    margin-bottom:0;
  }
  #portforio {
    width:100%;
    margin:0 40px;
    margin-bottom:30px;
  }
  .works {
    width:100%;
    margin:0 auto;
  }
  .imgb {
    width:100%;
    height:100%;
    margin:0 auto;
    margin-bottom:50px;
    float: none;
  }
  .imgb > figure {
    max-width:100%;
    position:relative;
    top:0;
    margin:0 40px;
  }
  .imgb img {

    width:100%;

  }
  .imgb h3 {
    margin-top:15px;
  }
  /* cv */
  #cv, #textes {
    width:100%;
    padding-top: 110px;
  }
  #portrait {
    width:75px;
  }
  #portrait img {
    max-width:100%;
	height:auto;
  }
  #bhead .name {
    margin-right:0;
    letter-spacing: 0;
  }
  #bhead .name {
    margin-left:0;
  }
  #bhead .name li {
    line-height:20px;
  }
  #bhead {
    margin-bottom:0;
  }
  #cv h3 {
    margin-top:40px;
  }
  #bhead, #cv h3, #cv h4, #cv ul {
    margin-left:40px;
    margin-right:40px;
  }
  /* textes */
  #textes h1, #textes h2, #textes h3, #textes p,#textes ul {
    margin-left:40px;
    margin-right:40px;
  }
  hr {
     margin:60px 20px;
  }
  /* info */
  #info {
      position: absolute;
      width:70%;
      height:45%;
      /* height:auto; */
      bottom:50px;
      right: 10px;
  }

  /* footer */
  footer {
    width:100%;
    margin: 0 auto;
    margin-top:20px;
    margin-bottom: 60px;
  }
  .footWrap {
    margin:0 20px;
    width:auto;
  }
  footer ul {
    margin:0;
  }
  footer li {
    margin-right:20px;
  }
  .inputMail {
    width:200px;
  }
}
@media screen and (max-width:450px){
  /* menu */
  h1 {
    margin-left:20px;
    margin-right:20px;

  }
  h1 + ul {

    margin-top:90px;
    margin-left:20px;
  }
  h1 + ul > li {
    float:left;
  }
  #travaux, #textes, #cv {
    padding-top:160px;
  }
  #portforio {
    margin-left:20px;
    margin-right:20px;
  }
  .imgb > figure {
    margin:0 20px;
  }
  /* cv */
  #bhead, #cv h3, #cv h4, #cv ul {
    margin-left:20px;
    margin-right:20px;
  }

  #textes h1, #textes h2, #textes h3, #textes p,#textes ul {
    margin-left:20px;
    margin-right:20px;
  }

  /* footer */
  footer li {
    margin-right:15px;
  }
  .topFootWrap {
    width: auto!important;
  }
  .topFoot {
    bottom: 20px;
  }
  .topFoot ul {
    left:20px;
  }

}
@media screen and (max-width:360px){
  .inputMail {
    width:175px;
  }
  .footWrap {
    width:auto!important;
  }
  #bhead #cvName1 {
    margin-bottom:50px;
    max-width:200px;
    margin-left:0;
  }
}
@media screen and (max-height:360px){
  .topFootWrap {
    width: 535px!important;
  }
  .footWrap {
    width:535px!important;
  }
}
@media screen and (max-height:320px){
  .topFootWrap {
    width: auto!important;
  }
  .topFoot {
    position: absolute;
    bottom: 20px;
  }
  footer ul {
    margin-left:20px;
  }
  .footWrap {
    width:auto!important;
  }
}


/* info */
#info {
    /* height:auto; */
	max-height:300px;
	height:auto;
}


/* clearfix */
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}
