@charset "UTF-8";

/* -------------------------------------------------------------------
　追加フォント
---------------------------------------------------------------------- */
@font-face {
	font-family: "PixelMplus12";
	src: url("../fonts/PixelMplus12.eot?") format('eot'),
	url("../fonts/PixelMplus12.woff2") format('woff2'),
	url("../fonts/PixelMplus12.woff") format('woff');
}
.pixelfont {
	font-family: "PixelMplus12";
}


/* -------------------------------------------------------------------
　ローディング画面
---------------------------------------------------------------------- */
#loading {
	width: 100vw;
	height: 100vh;
	transition: all 1s;
	background-color: #FFFFFF;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.loader-box {
	position: relative;
	width: 100%;
	height: 100%;
}
.spinner {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	margin-top: -50px;
	margin-left: -50px;
	width: 100px;
	height: 100px;
	background-color: #EEE;
	border-radius: 100%;
	animation: sk-scaleout 1.0s infinite ease-in-out;
}

@keyframes sk-scaleout {
	0% {
		transform: scale(0);
	} 100% {
		transform: scale(1.0);
		opacity: 0;
	}
}

.loaded {
	opacity: 0;
	visibility: hidden;
}


/* メイン部分のアニメーション
---------------------------------------------------------------------- */
#Main1.slideinL {
	animation: slideInL 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes slideInL {
	0% {
		transform: translateX(-100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
	}
	40%,100% {
		opacity: 1;
	}
}


#Main2.slideinR {
	animation: slideInR 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes slideInR {
	0% {
		transform: translateX(100px);
		opacity: 0;
	}
	100% {
		transform: translateX(0);
	}
	40%,100% {
		opacity: 1;
	}
}


/* -------------------------------------------------------------------
　全体
---------------------------------------------------------------------- */

body {
	font-family: "メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: 575757;
	font-weight: 500;
	letter-spacing: 0.06em;
	background-color: #FFFFFF;
	overflow-y: scroll;
	overflow-x: hidden!important;
	-webkit-font-smoothing: antialiased;
}

.wrapper {
	overflow-x: hidden;
}

h1 {
	font-size: 4.000em;
	line-height: 1.3125em;
	letter-spacing: 4px;
	font-weight: 700;
}

h2 {
	font-size: 1.75rem;
	font-size: clamp(24px, 1.94vw, 28px)!important;
	line-height: 1.2em;
	letter-spacing: 2px;
	font-weight: 400;
}

h3 {
	font-size: 1.75rem;
	font-size: clamp(24px, 1.94vw, 28px)!important;
	line-height: 1.285714285714286em;
	font-weight: 400;
	letter-spacing: 2px;
}

h4 {
	font-size: 1.125rem;
	font-size: clamp(16px, 1.25vw, 18px)!important;
	line-height: 1.538461538461538em;
	letter-spacing: 2px;
	font-weight: 600;
}

h5 {
	font-size: 1rem;
	font-size: clamp(14px, 1.1vw, 16px)!important;
	line-height: 1.444444444444444em;
	letter-spacing: 1px;
	font-weight: 600;
}

h6 {
	font-size: 0.875rem;
	font-size: clamp(13px, 0.97vw, 14px)!important;
	line-height: 1.571428571428571em;
	font-weight: 400;
}

h1,h1 a,h3,h3 a {color:#5d5d5d;}
h2,h2 a,h5,h5 a {color:#393939;}
h4,h4 a {color:#8b8b8b;}
h6,h6 a {color:#e6ae48;}

h1 a,h2 a,h3 a,h4 a,h5 a,h6 a {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-style: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
}

h1 a:hover,h2 a:hover,h3 a:hover,h4 a:hover,h5 a:hover,h6 a:hover {color: #a67c52;}

a,p a {
	color: #393939;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: color .3s ease-in-out;
	-moz-transition: color .3s ease-in-out;
	-o-transition: color .3s ease-in-out;
	-ms-transform: color .3s ease-in-out;
	transition: color .3s ease-in-out;
}

ul {
	padding: 0;
	margin: 0;
} 

select {
	padding: 10px;
	border: 1px solid #ebebeb;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	line-height: 15px;
	font-size: 13px;
	width: 162px;
	margin-bottom: 0;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}

/* -------------------------------------------------------------------
　ヘッダー
---------------------------------------------------------------------- */

header { 
	overflow-x: hidden;	
}

header img.topimg {
	height: 100vh;
	width: auto;
}

header .logo {
	background-color: rgba(170,137,189,0.9);
	height: 100vh;
	position: relative;
	text-align: center;
	align-items: center;
	display: flex;
	justify-content: center;
}

header .logo h1 {
	font-size: 2.8vw;
	color: #FFFFFF;
	text-shadow: -1px -1px 0 rgba(0,0,0,.3);
}

@media only screen and (max-width: 768px) {
header{
	position: relative;
	width: 100%;
	height: 100%;   
}

header img {
	position: relative;
}

header img.topimg {
    top: 50%;
    left: 50%;
    -webkit-transform : translate(-50%,-50%);
    transform : translate(-50%,-50%);
    text-align: center;
}


header .logo {
    position: absolute;
    top: 36%;
    height: auto;
    text-align: center;
}
header .logo h1 {
    font-size: 5vw;
    padding: 15px 10px 10px;
}
}


/* -------------------------------------------------------------------
　タイトル
---------------------------------------------------------------------- */

.titles {
	text-align: center;
	position: relative;
	letter-spacing: 2px;
}
.title-un-des {
	text-align: center;
	width: 70%;
	margin: 45px auto;
}
.titles:after {
	position: absolute;
	left:0;
	right:0;
	margin: auto;
	background: #d28ae6;
	width: 100px;
	height: 5px;
	bottom: -20px;
	opacity: .4;
	font-size: 68px;
	content: " ";
}

/* -------------------------------------------------------------------
　プロフィール
---------------------------------------------------------------------- */

#profile {
	height: 100vh;
	position: relative;
	text-align: center;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background-color: #EEEEEE;
	background-image: repeating-linear-gradient(-45deg, #E9E9E9, #E9E9E9 7.5px, transparent 0, transparent 15px);
}


@media only screen and (max-width: 768px) {
	#profile {
		text-align: left;
	}
}


/* -------------------------------------------------------------------
　スキルなど
---------------------------------------------------------------------- */
#skillArea {
	margin: 0;
}

#skillArea .skill-item {
	display: flex;
	align-items: center;
}

#skillArea .skill-item:nth-child(even) {
	flex-direction: row-reverse;
}

#skillArea .skill-item .skill-image {
	 position: relative;
	 width: 50%;
}

#skillArea .skill-item .skill-image img {
	display: block;
	max-width: 100%;
	height: auto;
}

#skillArea .skill-item .skill-text {
	position: relative;
	display: inline-block;
	float: right;
	width: 50%;
	padding:40px 5px 10px;
	background: #ffffff;
	color: #272727;
	text-align: center;
}

#skillArea .skill-item:nth-child(odd) .skill-image:after {
	top: 50%;
	right: -2px;
	margin-top: -24px;
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 16px 24px 0;
	border-color: transparent #FFFFFF transparent transparent;
	display: block;
	z-index:10;
}

#skillArea .skill-item:nth-child(even) .skill-image:after {
	top: 50%;
	left: -2px;
	margin-top: -24px;
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24px 0 24px 16px;
	border-color: transparent transparent transparent #FFFFFF;
	display: block;
	z-index:10;
}


@media only screen and (max-width: 1200px) {

    #skillArea .skill-item {
    	display: block;
    }

    #skillArea .skill-item .skill-image, #skillArea .skill-item .skill-text {
    	width: 100%;
    	float: none;
    }

    #skillArea .skill-item:nth-child(odd) .skill-image:after, #skillArea .skill-item:nth-child(even) .skill-image:after {
        top :auto;
    	bottom: -2px;
    	left: 47%;
    	position: absolute;
    	content: '';
    	width: 0;
    	height: 0;
    	border-style: solid;
	    border-width: 0 24px 24px 24px;
	    border-color: transparent transparent #FFFFFF;
	    display: block;
    }
}


/* -------------------------------------------------------------------
　ポートフォリオ
---------------------------------------------------------------------- */
#portfolioArea {
	margin: 0;
}

#portfolioArea .container-fluid {
	background: #EEEEEE;
}

#portfolioArea .portfolio-box {
	padding: 80px 0; 
}

.portfolio-item {
	box-sizing: border-box;
	padding: 50px;
	background: #FFFFFF;
	box-shadow: 5px 5px 0px 0px #C8D3D9;
	border-radius: 0px;
}

.portfolio-item .portfolio-item-read {
	margin: auto;
	font-size: 2.25rem;
	font-size: clamp(28px, 2.5vw, 36px);
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
	padding-bottom: 20px;
}
.portfolio-item .portfolio-item-read span {
	display: block;
	font-family: 'Roboto', "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 500;
	color: #F39A1B;
	font-size: 1.875rem;
	font-size: clamp(22px, 2.08vw, 30px);
	padding: 15px;
}
.portfolio-item p {
	font-size: 1.125rem;
}


@media only screen and (max-width: 991px) {
	#portfolioArea .portfolio-box .col-lg-6 {
		margin-bottom: 40px;
	}
	#portfolioArea .portfolio-box .col-lg-6:last-child {
		margin-bottom: 0;
	}
}


/* -------------------------------------------------------------------
　フッター
---------------------------------------------------------------------- */

.footer-area-container {
	color: #a2a2a2;
	word-wrap: break-word;
	background-color: #393939;
	padding: 60px 0 60px 0;
}

.footer-area-container a {
	color: #a2a2a2;
	word-wrap: break-word;
}

.footer-area-container .site-footer {
	margin-top: 30px;
	padding: 23px 0 15px 0; 
	text-align: center;
}
.footer-holder {
	background: #3d3d3d;
	display: table-cell;
	text-align: center;
	line-height: 24px;
	padding-top: 4px;
	height: 60px;
	width: 1%;
	vertical-align: middle;
}
.footer-holder p {
	margin: 0;
	letter-spacing: 1px;
	color: #FFFFFF!important;
}
