@charset "UTF-8";
/* CSS Document */
html {
    font-size: 58%;
    font-weight: 300;
    overflow: auto;
    overflow-y: scroll;
    overflow-x: hidden;
}
body {
    width: 100%;
    max-width: 100%;
    font-size: 1.5rem; /* 16px*/
    font-weight: 400;
    line-height: 1.7em;
    color: #000;
    word-wrap: break-word;
    overflow-wrap: break-word;
	font-family: 'Noto Sans JP', sans-serif;
    background-color: #fff;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    position: relative;
	display: flex;
	flex-flow: column;
	min-height: 100vh;
}
main{
	flex: 1;
}
a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
    text-decoration: none;
    color: #333;
    display: block;
}
a:hover {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
	opacity: .8;
}
img {
	width: 100%;
}
.dispNon--pc, .dispNon--pctab, .dispNon--pcsp  {
    display: none;
}
.dispNon--tab, .dispNon--sp, .dispNon--tabsp {
    display: block;
}
.nolink {
    pointer-events: none;
}
.widthImg {
    width: 100%;
}
.heightImg {
  width: auto;
  height: 100%;
}
.position--center {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
}
.font-mplus {
	font-family: 'M PLUS 1p', sans-serif;
}

.fontNoto{
	font-family: 'Noto Sans JP', sans-serif;
}
.fontNotoSerif{
	font-family: 'Noto Serif JP', serif;
}
.wid_40{
	width:40%;
}
.wid_50{
	width:50%;
}
.wid_100{
	width:100%;
	position:relative;
}
.mt5{
	margin-top:5%;
}
.txt_bl a, .color_bl a{
	color:#1da1f2;
}
.font_bold{
	font-weight: bold;
}
.pagetop {
	position: fixed;
	width: 60px;
	bottom: 8vw;
	right: 3%;
	z-index: 9;
}

/* header --------------------------------------------------------*/
.nav-tabsp {
	display: none;
}
.header {
	width: 100%;
	background-color:rgba(255,255,255,80%);
	height: 60px;
	box-sizing: content-box;
	position: fixed;
	z-index: 10;
}
.header__inner {
	width: 960px;
	height: 60px;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
}

.header__logo a, .header__logo img {
	height: 100%;
	width: auto;
}
.nav-pc {
	width: 600px;
	height: 60px;
	float:left;
}
.nav-pc__list {
	height: 100%;
}
.nav-pc__list {
    font-weight: 500;
    font-size: .8em;
    line-height: 1em;
	letter-spacing: .05em;
	margin:0;
	margin-top:25px;
	position:relative;
}
.nav-pc__list li {
	width: 80px;
	float:left;
}
.nav-pc__list li a {
	width: 100%;
	height: 100%;
	text-align: center;
	position: relative;
}
.nav-pc__list li a.nolink {
	color: #323232;
}
.nav-pc__list li:last-child {
	border-right: none;
}
.nav-pc__list li a:hover span::after {
	width: 110%;
}
nav.nav-tabsp {
	display: none;
}

/* main --------------------------------------------------------*/
.content{
	overflow: hidden;
}
.content_wrap{
	width:100%;
}
.inner_content{
	width:960px;
	margin: 0 auto;
}
.bg_white{
	background-color: #fff;
}
.pad_part_1{
	padding: 4vw 0 2vw;
}
.pad_part_2{
	padding: 0 0 4vw;
}

h1{
	line-height:1.5;
}
.ttl__h1{
	width:28%;
	position:absolute;
	top:30vw;
	left:5vw;
}
h2{
	width:25%;
	font-size:160%;
	margin-bottom:3vw;
}
.mar_1{
	margin-top:1.5em;
}
.m-t-2{
	margin-top:2.5em;
}
.m_t_b{
	padding:5vw 0 0;
}
.pd_tb{
	margin:5vw 0;
}
.pd_tb_2{
	margin:20vw 0 0;
}
.ttl__h1{
	font-size: 80px;
	line-height: .85;
}
.title_small_left{
	font-size:60%;
	
}
.title_small_right{
	font-size:60%;
	background-color: #000;
	padding:0 .35em;
	margin-left:.4em;
	color:#fff;
}
.arrow_s {
  position: relative;
  display: inline-block;
  padding-left: 1em;
  color: #333;
  text-decoration: none;
}
.arrow_s:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 10px;
  border-color: transparent transparent transparent #333;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -13px;
}
.profile_mes{
	text-align: center;
	line-height: 4;
	margin: 1em 0;
}

.bold_ttl{
	font-weight: bold;
	margin-bottom:5em;
	font-size:1.8rem;
}
.personal_info{
	padding:2em 0 4em;
}
.brand_achieve{
	padding:0 0 4em;
}
.portrait_achieve{
	padding:0 0 4em;
}
.fadeLeft{
	animation-name:fadeLeftAnime;
	animation-duration:3s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeLeftAnime{
	from {
	  opacity: 0;
	transform: translateX(-200px);
	}
  
	to {
	  opacity: 1;
	transform: translateX(0);
	}
  }
  .fadeRight{
	animation-name:fadeRightAnime;
	animation-duration:3s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeRightAnime{
	from {
	  opacity: 0;
	transform: translateX(100vw);
	}
  
	to {
	  opacity: 1;
	transform: translateX(0);
	}
  }

.cutin_img img{
	width:100%;
	height: auto;
}
.explain_shoot{
	margin-top: 2em;;
}
.bg_2nd{
	z-index: 20;
}
.width_pa{
	width:100%;
}
.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeUpAnime{
	from {
	  opacity: 0;
	transform: translateY(100px);
	}
  
	to {
	  opacity: 1;
	transform: translateY(0);
	}
  }

.detail_box{
	padding:.5em;
	background-color: #333;
	width:160px;
	margin:4em auto;
}
.detail_box a{
	color:#fff;
	text-align: center;
	font-size:100%;
	letter-spacing:.2em;
}
.subtitle{
	font-size:120%;
	margin-bottom:2em;
}
.explain_shoot p{
	line-height: 3;
}
.rotate{
	transform: rotate(90deg);
	display: block;
}

.sns_txt{
	margin-bottom:2em;
}

.works_img_txt{
	margin-top:2em;
}
.footer__copyright{
	text-align: center;
	padding:1em 0;
	background-color: #333;
	color:#fff;
	font-size:12px;
}

/* ----------------------------------------------------------------------------------------------------*/
/* 1038px以上〜 -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/

@media (max-width: 1038px) {
    .header__inner{
		width:100%;
	}
	.inner_content, .section__inner__right, .foot_wave_inner{
		width:90%;
		margin:0 auto;
	}
	.blank_h{
		height:40vw;
	}
	.txt__left{
		width:auto;
	}
    .dispNon--tab, .dispNon--pctab, .dispNon--tabsp {
        display: none;
    }
	.dispNon--pc {
		display: block;
	}
	.nav-pc {
		width: auto;
	}
}

/* ----------------------------------------------------------------------------------------------------*/
/* breakpoint tab -------------------------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 750px) {
	.ttl__h1 {
		width: 28%;
		position: absolute;
		top: 25vw;
		left: 5vw;
	}
	.detail_box{
		width:30%;
		margin:2em auto;
	}
	h2{
		width:100%;
	}
	.dispNon--sp, .dispNon--pcsp , .dispNon--tabsp {
        display: none;
    }
    .dispNon--pc, .dispNon--tab, .dispNon--pctab {
        display: block;
    }
	.header__inner, .section__inner {
		max-width: 100%;
	}
	.pagetop {
		position: fixed;
		width: 9.33%;
		bottom: 20vw;
		right: 5%;
	}
	/* header --------------------------------------------------------*/
	.header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9;
		height: 60px;
		box-sizing: border-box;
	}
	.header__inner {
		height: 100%;
	}

	.header__menuBtn {
		width: 60px;
		height: 60px;
		position: absolute;	
		top: 0;
		right: 2%;
	}
	.header__menuBtn span {
		width: 24px;
		height: 1px;
		position: absolute;
		background-color: #333;
		left: 50%;
		margin-left: -12px;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	.header__menuBtn span:nth-child(1) {
		top: 20px;
	}
	.header__menuBtn span:nth-child(2) {
		top: 50%;
	}
	.header__menuBtn span:nth-child(3) {
		bottom: 20px;
	}
	.header__menuBtn.active span:nth-child(2) {
		opacity: 0;
	}
	.header__menuBtn.active span:nth-child(1) {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		top: 30px;
	}
	.header__menuBtn.active span:nth-child(3) {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		bottom: 29px;
	}
	.nav-tabsp {
		width: 100%;
		margin:0 auto;
		background-color: rgba(255,255,255,90%);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10;
		padding: 10% 5% 0;
		display: none;
		opacity: 0;
		-webkit-transition: all 0.7s ease;
		-moz-transition: all 0.7s ease;
		transition: all 0.7s ease;
	}
	.nav-tabsp__list li {
		border-top: 1px solid #333;
	}
	.nav-tabsp__list li:last-child {
		border-bottom: 1px solid #333;
		margin-bottom:4em;
	}
	.nav-tabsp a {
		font-size: 1em;
		font-weight: 500;
		color: #333;
		text-align: center;
		padding: 1.5em 0;
	}
	
	.nav-tabsp li a.nolink {
		color: #323232;
	}
	.nav-tabsp__logo {
		width: 50%;
		margin: 0 auto;
		padding: 10% 0;
	}
}	
@media screen and (max-width: 480px){
	.detail_box{
		width:40%;
		margin:2em auto;
	}
	.pagetop{
		display: none;
	}
	.nav-tabsp {
		padding: 16% 5% 0;
	}
	#top{
		margin-top: 32px;
	}
	.explain_shoot p{
		line-height: 2.5;
	}
	.pad_part_1 {
    padding: 7vw 0 0vw;
	}
	h2{
		margin-bottom:5vw;
	}
	.bg_height_1, .bg_height_2, .bg_height_3, .bg_height_4{
		height:50vw;
	}
	.bg_height_1 img{
		width:150%;
	}
	.bg_height_2 img{
		width:150%;
	}
	.bg_height_3 img{
		width:150%;
		float:right;
	}
	.bg_height_4 img{
		width:150%;
		float:right;
	}
	.pagetop{
		display:none!important;
	}
}