@charset "UTF-8";
* { margin: 0; padding: 0; }

/* 基本色 */
:root {
	--text-bright-color: #000;
	--icon-color: #FFF;
	--large-width: 1000px;
	--middle-width: 800px;
}

/* 基本設定： フォントサイズ */
@media (max-width: 767px) {
	:root {
		font-size: 14px;
	}
}

@media (min-width: 768px) and (max-width: 799px) {
	:root {
		font-size: 16px;
	}
}

@media (min-width: 800px) {
	:root {
		font-size: 18px;
	}
}

body {font-size: 16px;}


/* 基本設定： ページ全体 */
body {
	background-color: #f2f2f2;
	font-family: Times New Roman , "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , "MSP明朝","MS PMincho","MS 明朝",serif;
	font-weight: normal;
	/* color: #DDD; */
	background:-webkit-gradient(radial, center top, 0, center top,50%, from(#F7F7F7), to(#C7C7C7));
	background:-webkit-radial-gradient(center top, circle cover, #F7F7F7 50%, #C7C7C7 100%);
	background:-moz-radial-gradient(center top, circle cover, #F7F7F7 50%, #C7C7C7 100%);
	background:-o-radial-gradient(center top, circle cover, #F7F7F7 50%, #C7C7C7 100%);
	background:radial-gradient(farthest-side circle at center top, #F7F7F7 50%, #C7C7C7 100%);
	-webkit-font-smoothing: antialiased;
	-webkit-overflow-scrolling: touch;
	animation: fadeIn 1s ease 0s 1 normal;
	-webkit-animation: fadeIn 1s ease 0s 1 normal;
	}

	@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
	}

	@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


/* ヘッダー */
header {
	position: fixed;
	/*position: absolute;*/
	top: 0;
	left: 0;
	height: 100px;
	z-index: 100;
	width: 100%;
	background-color: rgba(255,255,255,0.7);
}


/* ヘッダー */
.headertitle {
	display: inline-block;
	padding: 20px;
	color: #333;
	font-size: 20px;
	margin-bottom: 2px;
	text-decoration: none;
}

/* ヘッダー ナビゲーションメニュー */
.headernav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.headernav ul li a {
	display: block;
	padding: 30px;
	color: #788888;
	font-size: 14px;
	margin-top: 2px;
	text-align: center;
	text-decoration: none;
}

.headernav ul li a:hover {
	color: #000;
	-webkit-transition: all 0.3s;
	transition: all 0.8s;
}

.headernav ul li a:active {
    color: #000;
}


.content {
  width: 100%;
  overflow: hidden;
  margin-bottom: 200px; }

.icon-animation {
  width: 50%;
  height: 80px;
  float: right;
  display: block;
  position: relative; }
  .icon-animation span {
    width: 30px;
    height: 2px;
    display: block;
    background: #AAA;
    position: absolute;

    top: 50%;
    margin-right: 30px; }


.menu span {
  -webkit-transition: all 0.3s;
          transition: all 0.3s; }

.menu .top {
  -webkit-transform: translateY(-8px) scale(1);
      -ms-transform: translateY(-8px) scale(1);
          transform: translateY(-8px) scale(1); }

.menu .middle {
  background: none;
  position: relative; }
  .menu .middle:before, .menu .middle:after {
    -webkit-transition: all 0.3s;
            transition: all 0.3s;
    content: "";
    width: 30px;
    height: 2px;
    background: #AAA;
    display: block;
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
    position: absolute; }

.menu .bottom {
  -webkit-transform: translateY(8px) scale(1);
      -ms-transform: translateY(8px) scale(1);
          transform: translateY(8px) scale(1); }

.menu.is-open .top {
  -webkit-transform: translateY(0px) scale(0);
      -ms-transform: translateY(0px) scale(0);
          transform: translateY(0px) scale(0); }

.menu.is-open .bottom {
  -webkit-transform: translateY(0px) scale(0);
      -ms-transform: translateY(0px) scale(0);
          transform: translateY(0px) scale(0); }

.menu.is-open .middle:before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg); }

.menu.is-open .middle:after {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg); }


@media (min-width: 768px) {
	header .container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		max-width: 767px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
		padding: 0px 0px 0px 0px;
		margin-top: 10px;
	}

	.headernav ul {
		display: flex;
	}
}

/* ヘッダー アイコン */

@media (max-width: 767px) {
	/* 小さい画面用の設定 */


	header {
	position: fixed;
	/*position: absolute;*/
	top: 0;
	left: 0;
	height: 80px;
	z-index: 100;
	width: 100%;
	background-color: rgba(255,255,255,0.7);
	}

	header .container-small {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.headertitle {
	display: inline-block;
	padding: 26px;
	color: #333;
	font-size: 20px;
	text-decoration: none;
	}


	.headernav ul  {
    	background-color: rgba(240,240,240,0.96);
    	padding: 30px 0 40px 0;
    	font-size: 12px;
    }

    .headernav ul li {
    	font-size: 12px;
    }

	.headernav ul li a {
    	padding: 30px;
    	margin: -10px;
    	font-size: 12px;
    }

	.headermenu {
		color: #788888;
		margin-right: 20px;
		padding: 0;
		border: none;
		outline: none;
		background: none;
		font-size: 20px;
		opacity: 0.5;
		cursor: pointer;
	}

	.headernav {
		display: none;
	}
}

@media (min-width: 768px) {
	/* 大きい画面用の設定 */
	.headermenu {
		display: none;
	}

	.headernav {
		display: block !important;
	}
}

@media (max-width: 767px) {
	/* 小さい画面用の設定 */
	header .container-small {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.headermenu {
		margin-right: 20px;
		padding: 0;
		border: none;
		outline: none;
		background: none;
		cursor: pointer;
	}


	.headernav {
		display: none;
	}
}


.img-circle {
    border-radius: 50%;
}


/* コンテンツ */

.cont{
	margin-top: 0px;
}


.conA {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100;
	min-height: 200px;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
	padding: 20px;
}


.conA h1 {
	margin-top: 20px;
	font-size: 24px;
	color: #333;
	margin-bottom: 10px;
	letter-spacing: 0.2em;
}

.conA h2 {
	font-size: 16px;
	font-weight: normal;
	color: #788888;
	margin-bottom: 20px;
}

.conA p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 14px;
}

.conA a:hover	{
	background-image: linear-gradient(
		rgba(255,255,255,0.2),
		rgba(255,255,255,0.2)
	);
}


.top{
	display: fixed;
	align-items: center;
	justify-content: center;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
}


.toptxt {
	display: fixed;
	color: #000;
	font-size: 16px;
	margin-top: 0px;
	margin-bottom: 60px;
	text-align: center;
}

.toptxt a:link {
	display: fixed;
	color: #000;
	font-size: 16px;
	margin-top: 0px;
	margin-bottom: 60px;
	text-align: center;
	text-decoration: none;
}


.toptxt a:hover {
	display: fixed;
	color: #000;
	font-size: 16px;
	margin-top: 0px;
	margin-bottom: 60px;
	text-align: center;
}


.toptxt a:visited {
	display: fixed;
	color: #000;
	font-size: 16px;
	margin-top: 0px;
	margin-bottom: 60px;
	text-align: center;
}

.topimg{
	display: fixed;
	align-items: center;
	justify-content: center;
	height: 100;
	min-height: 200px;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
	/* padding: 20px; */
	/* margin-bottom: 40px; */
}

.about {
	display: fixed;
	align-items: center;
	justify-content: center;
	height: 520px;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
	margin-top: 160px;
}

.about h1 {
	font-size: 24px;
	color: #333;
	letter-spacing: 0.2em;
	font-weight: normal;
	margin-top: 20px;
	margin-bottom: 10px;

}

.about h2 {
	font-size: 16px;
	font-weight: normal;
	color: #788888;
	margin-bottom: 30px;
}

.about p {
	margin-top: 0;
	margin-bottom: 0;
	color: #333;
	font-size: 12px;
	line-height: 24px;
}

.about a:hover	{
	background-image: linear-gradient(
		rgba(255,255,255,0.2),
		rgba(255,255,255,0.2)
	)
}

.works{
	display: fixed;
	align-items: center;
	justify-content: center;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
}

.worksimg{
	display: fixed;
	align-items: center;
	justify-content: center;
	height: 100;
	min-height: 200px;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
	padding: 20px;
	margin-top: 100px;
	margin-bottom: 30px;
}

.worksimgimg{
 	display: fixed;
    width: 100%;
    max-width: 960px;
}



.behance {
    display: fixed;
    text-align: center;
    margin-bottom: 60px;
    padding: 20px;
}

.btnbehance {
    display: inline-block;
    width: 100%;
    max-width: 960px;
    height: 80px;
    border-radius: 10px;
    padding-top: 16px;
    line-height: 1.6;
    background: #0057FF;
    color: #FFF;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
}






@media (min-width: 768px) {
	.conA h1 {
		/* font-size: 115px; */
	}

	.conA p {
		font-size: 12px;
	}
}

@media (max-width: 767px) {
	/* 小さい画面用の設定 */


	.conA{
		padding: 20px;
		margin-top: 40px;
		margin-bottom: 80px;
	}
	.cont img{
		max-width: 100%;
	}
	.top img{
		max-width: 100%;
	}
	.works img{
		max-width: 100%;
	}
	.works{
	display: fixed;
	align-items: center;
	justify-content: center;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
	}

	.worksimg{
	display: fixed;
	align-items: center;
	justify-content: center;
	height: 100;
	min-height: 200px;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
	padding: 20px;
	margin-top: 80px;
	margin-bottom: 30px;
	}

	.about {
	display: fixed;
	align-items: center;
	justify-content: center;
	height: 1000;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
	margin-top: 120px;
	margin-bottom: 60px;
	}
	
	.about h1 {
	font-size: 24px;
	color: #333;
	letter-spacing: 0.2em;
	font-weight: normal;
	margin-top: 20px;
	margin-bottom: 10px;
	}
	.about h2 {
	font-size: 14px;
	font-weight: normal;
	color: #788888;
	margin-bottom: 20px;
	}
	.about p {
	margin-top: 0;
	margin-bottom: 40px;
	padding: 10px 30px;
	color: #333;
	font-size: 10px;
	line-height: 20px;
	}
}

/* フッター */
footer {
	
	color: #fff;
	text-align: center;
}

footer .container {
	background-color: #000;
	padding: 31px 30px 34px 30px;
	text-align: center;
}

footer .sns {
	background-color: rgba(0,0,0,0.2);
	text-align: center;
	padding: 20px;
}

footer .snsbutton {
	text-align: center;
	display: inline-block;
}

footer .snsbutton ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

footer .snsbutton a {
	display: block;
	margin-right: 10px;
	margin-left: 10px;
	padding: 0;
	color: #FFF;
	font-size: 16px;
	text-decoration: none;
	border: solid 1px currentColor;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;
}

footer .snsbutton a:hover {
	background-color: rgba(0,0,0,0.2);
}


.share .button:first-child {
    margin-left: 0;
}


.share .button {
    width: 32px;
    height: 32px;
    padding: 0;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
}

.share, .share .button {
    display: -ms-flexbox;
    display: flex;
}

.button.outline {
    border: 1px solid #fff;
    border-radius: 50%;
}



.icon {
    width: 16px;
    height: 16px;
    fill: #fff;
}

.icon-facebook {
    width: 9px;
    height: 17px;
    margin-left: -1px;
}


.icon-twitter {
    width: 16px;
    height: 16px;
    fill: #fff;
}

.icon-instagram {
    width: 24px;
    height: 24px;
    fill: #fff;
}

.icon-linkedin {
    width: 20px;
    height: 20px;
    fill: #fff;
}


@media (min-width: 768px) {
	footer .container {
		display: flex;
	}

	.footercopyright {
		flex: 0 0 100%;
		font-size: 12px;
		text-align: center;
	}
}

@media (max-width: 767px) {
	/* 小さい画面用の設定 */
	footer .container {
		margin-left: auto;
		margin-right: auto;
	}

	.footercopyright {
		flex: 0 0 100%;
		font-size: 12px;
		text-align: center;
	}
}

