/* ----------------全体の設定ここから---------------- */

*,
*::after,
*::before {
	box-sizing: border-box;
}

* {
	margin: 0;
	padding: 0;
}

body {
	/* font-family: 'Lora', serif; */
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 17px;
	line-height: 2;
}

ul,
ol {
	list-style-type: none;
}

img, video {
	max-width: 100%;
}
.img-wrap {
  overflow: hidden;
  position: relative;
}

.img-wrap::before,
.img-wrap::after {
  animation: 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  content: '';
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.img-wrap::before {
  animation-name: img-wrap-before;
  inset: 0 0 50%;
}

.img-wrap::after {
  animation-name: img-wrap-after;
  inset: 50% 0 0;
}

@keyframes img-wrap-before {
  100% {
    transform: translateX(100%);
  }
}

@keyframes img-wrap-after {
  100% {
    transform: translateX(-100%);
  }
}

a {
	text-decoration: none;
	color: inherit;
}

a:hover {
	opacity: 0.6;
}

h1 {
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 80px;
	letter-spacing: 0.08em;
	padding-bottom: 10px;
	line-height: 1;
	text-align: center;
}

h2 {
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 40px;
	text-align: center;
	margin-bottom: 10px;
	color: #6b6262;
}

h3 {
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 24px;
	text-align: center;
	margin-bottom: 20px;
	color: #0a0a0ad0;
}

h4 {
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 15px;
	text-align: center;
	margin-top: -35px;
	margin-bottom: 40px;
	color: #6b6262;
}

.skill-name,
.banner-name,
.web-name {
	font-size: 16px;
	font-weight: bold;
}

.container {
	width: min(92%, 1024px);
	margin-inline: auto;
}

/* 点滅 */
.blinking{
	-webkit-animation:blink 2.0s ease-in-out infinite alternate;
    -moz-animation:blink 2.0s ease-in-out infinite alternate;
    animation:blink 2.0s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}


/* ----------------全体の設定ここまで---------------- */


/* ヘッダーここから */

header {
	background-color: #6b6262;
	width: 100%;
	height: 48px;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
}

header nav {
	height: 100%;
}

header ul {
	width: 50%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	color: #faf89f;
}


/* フッターここから */

footer {
	height: 44px;
	background-color: #6b6262;
	font-size: 12px;
	color: #faf89f;
	display: flex;
	justify-content: center;
	align-items: center;
}


/* メインここから */

.top-hero {
	padding-top: 48px;
	background-image: url(../images/main-visual-test.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	height: 600px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 100px;
	/* -webkit-text-stroke: 1px black; */
	color: white;
	/* text-shadow:
			2px 2px 0 #000,
		-1px -1px 0 #000,  
		 1px -1px 0 #000,
		 -1px 1px 0 #000,
			1px 1px 0 #000; */
}

.top-hero h1 {
	-webkit-text-stroke: 1px black;
	text-shadow:
	2px 2px 0 #000,
-1px -1px 0 #000,  
 1px -1px 0 #000,
 -1px 1px 0 #000,
	1px 1px 0 #000;
}

.top-hero p {
	font-size: 70px;
	text-align: center;
	line-height: 1;
	padding-top: 10px;
	letter-spacing: 2px;
	-webkit-text-stroke: 1px black;
	text-shadow:
	2px 2px 0 #000,
-1px -1px 0 #000,  
 1px -1px 0 #000,
 -1px 1px 0 #000,
	1px 1px 0 #000;
}



/* プロフィールここから */

#profile {
	margin-bottom: 30px;
	padding-top: 80px;
	margin-top: -140px;
}
#skill{
  margin-top:0px;
}
#design {
	margin-bottom: 10px;
	padding-top: 120px;
	margin-top: -100px;
}

.profile-container {
	background-image: url(../images/hhh.jpg);
	background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
	padding-top: 50px;
	padding-bottom: 50px;
}

.profile-box {
	display: flex;
	color: #584949;
	font-weight: bold;
	justify-content: space-between;
}

.profile-box p {
	width: 60%;
}

.profile-name {
	font-size: 30px;
	margin-right: 1em;
}

.profile-box figure img {
	width: 200px;
}




/* スキルここから */

.skill-container {
	background-image: url(../images/hhh.jpg);
	background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
		padding-top: 50px;
	  padding-bottom: 50px;
		
	
	.planePath {
		stroke: #3f3f3c;
		stroke-width: .1%;
		stroke-width: .5%;
		stroke-dasharray: 1% 2%;
		stroke-linecap: round;
		fill: none;
	}
	
	.fil1 {
		fill: #ffffff;
	}
	
	.fil2 {
		fill: #ffffff;
	}
	
	.fil4 {
		fill: #ffffff;
	}
	
	.fil3 {
		fill: #ffffff;
	}
}
.skill-box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px;
}

.skill-box li {
	width: calc((100% - 96px) / 4);
	display: flex;
	align-items: center;
	flex-direction: column;
	font-weight: bold;
	color: #030303;
}

/* スキルアイコン動かす */
.ugoki {
  margin: 0px;
  width: 180px;
  height: 180px;
  animation:katakata 6s infinite ease-in-out alternate;
}

@keyframes katakata {
  0% {transform:translate(0, 0) rotate(0deg);}
  21% {transform:translate(0, 0) rotate(0deg);}
 
  22% {transform:translate(0, 0) rotate(-3deg);}
  23% {transform:translate(0, -1px) rotate(0deg);}
  24% {transform:translate(0, -1px) rotate(3deg);}
 
  25% {transform:translate(1px, 0) rotate(-2deg);}
  26% {transform:translate(0, 1px) rotate(0deg);}
  27% {transform:translate(0, 0) rotate(3deg);}
 
  28% {transform:translate(0, 0) rotate(0deg);}
  100% {transform:translate(0, 0) rotate(0deg);}
}



/* デザインここから */


/* バナーここから */

.design-wrapper {
	background-image: url(../images/hhh.jpg);
	background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
	padding-top: 50px;
	padding-bottom: 50px;
}

.banner-box {
	margin-bottom: 10px;
	color: #1a1b1b;
	font-weight: bold;
}

/* disply:gridの場合 */
.banner-box ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
	place-content: center;
}

.banner-box li {
	width: 100%;
	display: flex;
	align-items: center;
	flex-direction: column;
}


/* disply:flexの場合 */

/* .banner-box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
}

.banner-box li {
	width: calc((100% - 60px) / 3);
	display: flex;
	align-items: center;
	flex-direction: column;
} */

.banner-box figure img {
	width: 300px;
}



/* ウェブここから */

.web-wrapper {
	background-image: url(../images/hhh.jpg);
	background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
	padding-top: 50px;
	padding-bottom: 50px;
}

.web-box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px;
}

.web-box li {
	width: calc((100% - 32px) / 2);
	display: flex;
	align-items: center;
	flex-direction: column;
	color: #000000;
	text-align: center;
	font-weight: bold;
}

.web-box figure img {
	width: 350px;
}

/* flyerここから */

.flyer-wrapper {
	background-image: url(../images/hhh.jpg);
	background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
	padding-top: 50px;
	padding-bottom: 50px;
}

.flyer-box ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px;
}

.flyer-box li {
	width: calc((100% - 32px) / 2);
	display: flex;
	align-items: center;
	flex-direction: column;
	color: #000000;
	text-align: center;
	font-weight: bold;
}

.flyer-box figure img {
	width: 350px;
}

/* VIDEOここから */

.video-wrapper {
	background-image: url(../images/hhh.jpg);
	background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
	padding-top: 50px;
	padding-bottom: 50px;
}

.video {
  width: 100%; 
  /* 動画をレスポンシブ化 */
  
}


/* ライクここから */

.like {
	margin-top: 40px;
	margin-bottom: 50px;
}

.slick-slide {
	margin-right: 15px;
	margin-left: 15px;
}



/* -----------------スマートフォン版ここから----------------- */

@media (max-width:520px) {
	h1 {
		font-size: 60px;
	}
	h2 {
		margin-bottom: 10px;
	}
	.top-hero p {
		font-size: 37px;
		text-align: center;
		line-height: 1;
		padding-top: 30px;
		letter-spacing: 2px;
	}
	.container {
		padding-left: 30px;
		padding-right: 30px;
	}
	/* プロフィールここから */
	.profile-box {
		flex-direction: column-reverse;
	}
	.profile-name p span {
		font-size: 24px;
	}
	.profile-box figure img {
		width: 100%;
	}
	.profile-box p {
		width: 100%;
	}
	/* スキルここから */
	.skill-box li {
		width: calc((100% - 32px) / 2);
	}
	/* デザインここから */
	.banner-box li {
		width: 100%;
	}
	.banner-box figure img {
		width: 100%;
	}
	.web-box ul {
		flex-direction: column;
	}
	.web-box li {
		width: 100%;
	}
	/* VIDEOここから */
	.video {
		width: 100%;
	  max-width: 350px;
	}
	/* ライクここから */
	.slick-slide {
		margin-right: 0;
	}
	.slick-slide img {
		width: 100%;
	}
}

/*=== 9-1-4 矢印が動いてスクロールを促す  ====*/

/*スクロールダウン全体の場所*/
.scrolldown4{
	/*描画位置※位置は適宜調整してください*/
position:absolute;
bottom:1%;
right:50%;
	/*矢印の動き1秒かけて永遠にループ*/
animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
		0%{bottom:1%;}
		50%{bottom:3%;}
	 100%{bottom:1%;}
}

/*Scrollテキストの描写*/
.scrolldown4 span{
	/*描画位置*/
position: absolute;
left:-25px;
bottom:100px;
	/*テキストの形状*/
color: #ffc548;
font-size: 1.2rem;
letter-spacing: 0.05em;
/*縦書き設定*/
/* -ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl; */
}

/* 矢印の描写 */
.scrolldown4:before {
	content: "";
	/*描画位置*/
	position: absolute;
	bottom: 50px;
	right: -6px;
	/*矢印の形状*/
	width: 3px;
	height: 20px;
	background: #ffc548;
	transform: skewX(-31deg);
}

.scrolldown4:after{
content:"";
	/*描画位置*/
position: absolute;
bottom:50px;
right:0;
	/*矢印の形状*/
width:3px;
height: 50px;
background:#ffc548;
}

.profile-name span {
  background-color: #86878b;
  color: #fff;
  margin: 0em;
  display: inline-block;
  width: 1.7em;
  height: 1.7em;
  line-height: 1.7;
  border-radius: 100vh;
	margin-left: 10px;
	padding-left: 8px;
	padding-right: 8px;
}