@charset "UTF-8";

/*

Theme Name: portfoliosample
Description: ポートフォリオ用に作成しました。
Version: 1.0
Author: MKB Project

*/

body {
	display: none;
}

* {
	box-sizing: border-box;
}

body {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	font-family: Arial, sans-serif;
	line-height: 1.5;
	color: #333333;
}

header {
	display: flex;
	justify-content: space-between;
	margin: 0 0 30px 0;
	padding: 0 10px;
	height: 80px;
	width: 100%;
}

header h1 {
	margin: 10px 0 0 0;
}

header nav {
	margin: 0;
}

header nav ul {
	display: flex;
	justify-content: center;
	padding: 0;
	list-style-type: none;
	margin: 25px 0 0 0;
	align-items: center;
}

header nav ul li {
	margin: 0 5px 0 0;
}

header nav ul li a {
	display: block;
	width: 120px;
	height: 40px;
	overflow: hidden;
	text-indent: -300px;
	white-space: nowarp;
}

.home_button {
	background-image: url(images/home_button_02.png);
	background-size: 100%;
	background-repeat: no-repeat;
	transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
}

.home_button:hover {
	transform: scale(1.1);
	filter: brightness(1.1);
}

.illustrator_logo {
	background-image: url(images/nav_logo_03.png);
	background-size: 100%;
	background-repeat: no-repeat;
	transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
}

.illustrator_logo:hover {
	transform: scale(1.1);
	filter: brightness(1.1);
}

.photoshop_banner {
	background-image: url(images/nav_banner_03.png);
	background-size: 100%;
	background-repeat: no-repeat;
	transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
}

.photoshop_banner:hover {
	transform: scale(1.1);
	filter: brightness(1.1);
}

.media {
	background-image: url(images/nav_movie_03.png);
	background-size: 100%;
	background-repeat: no-repeat;

	transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
}

.media:hover {
	transform: scale(1.1);
	filter: brightness(1.1);
}

.sphtml {
	background-image: url(images/nav_html_03.png);
	background-size: 100%;
	background-repeat: no-repeat;
	transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
}

.sphtml:hover {
	transform: scale(1.1);
	filter: brightness(1.1);
}


#main_top {
	margin: 10px 0;
	text-align: center;
	align-items: center;
}

#main_top img {
	max-width:1200px;
	width: 100%;
}

footer {
	text-align: center;
}

main {
	display: flex;
	justify-content: space-between;
	padding: 0 10px;
}

#main {
	max-width: 1200px;
	width: 70%;
	margin: 0 auto;
}

#main-page {
	max-width: 800px;
	width: 70%;
}

#sub {
	width: 30%;
	margin: 0;
	padding: 0;
}

#sub img {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#prof_area img {
	padding: 0 10px;
}

#prof_area {
	margin: 43px 0 0 0;
}

#sub h2 {
	text-align: center;
	font-size: 2rem;
}

#sub ul {
	padding: 0 10px;
	list-style-type: none;
}

#sub ul li {
	margin: 5px 0 0 0;
}

.sec_main {
	display: flex;
	justify-content: space-evenly;
	margin: 10px auto;
}

.sec_main figure {
	max-width: 330px;
}

#main-single-page .category-page-link {
	text-align: left;
}

.sec_main figcaption {
	text-align: left;
	margin: 0 auto;
	font-size: 1.2rem;
	max-width: 280px;
}

.sec_main img {
	width: 100%;
	margin: 0 0 10px 0;
}

#index-d {
	max-width: 850px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 0 10px;
}

#index-d p {
	font-size: 1.2rem;
}

footer {
	margin: 30px 0;
	border-top: 1px solid #333333;
	padding: 15px 0 0 0;
}

footer ul {
	display: flex;
	justify-content: center;
	list-style-type: none;
	margin: 0 auto;
	padding: 0;
	align-items: center;
}

footer ul li {
	margin: 0 15px;
}

a {
	text-decoration: none;
	color: #333333;
	font-weight: bold;
}

a:hover {
	text-decoration: underline;
	color: #538d4e;
}

header h1 a:hover {
	text-decoration: none;
}

aside {
	display: flex;
	flex-wrap: wrap;
	justify-content: stretch;
	gap: 10px;
	padding: 0;
	min-width: 330px;
}

.thumbnail {
	flex: 0 1 auto;
	cursor: pointer;
	width: 150px;
	height: 150px;
	overflow: hidden;
	transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
	justify-content: center;
}

.thumbnail:hover {
	transform: scale(1.1);
	opacity: 0.8;
}

.thumbnail img {
	width: 100%;
	object-fit: cover;
}

#main-page img {
	display: block;
	width: 60%;
	object-fit: contain;
	margin: 0 auto;
}

#imageDetails {
	text-align: center;
}

#main-htmlpage {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.thumbnail-02 {
	width: calc(33.333% - 10px);
	margin-bottom: 15px;
}

.thumbnail-02 img {
	width: 80%;
	object-fit: cover;
}

#single-title {
	margin: 0 0 0 10px;
}

#main-single-page {
	width: 100%;
	margin: 0 auto;
	text-align: center;
	align-items: center;
	padding: 0 10px 0 10px;
}

#main-single-page figcaption {
	text-align: left;
}

.single-caption {
	font-size: 1.15em;
	line-height: 2;
	text-align: left;
}

#single-content {
	display: flex;
	margin: 10px auto 0 auto;
	width: 98%;
}

#iframe_single {
	width: 100%;
	height: 800px;
}

#source_div {
	display: none;
	width: 80%;
	height: 800px;
	overflow: auto;
	padding: 10px 0 0 0;
	margin: 0 0 0 10px;
	border: 1px solid #ccc;
}

#css_div {
	display: none;
	width: 80%;
	height: 800px;
	overflow: auto;
	padding: 10px 0 0 0;
	margin: 0 0 0 10px;
	border: 1px solid #ccc;
}

#single-nav {
	display: flex;
	justify-content: space-around;
	text-align: center;
	width: 100%;
	margin: 30px auto 0 auto;
}

.category-page-link {
	margin: 30px 0;
}

#single-title h1 {
	font-size: 2em;
}

.top_thumbnail_01 {
	display: block;
	transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.top_thumbnail_01:hover {
	transform: scale(1.05);
	opacity: 0.7;
}

.footer_logo {
	width: 25px;
	height: 25px;
}

.footer_logo_youtube {
	width: 25px;
}

.footer_logo_qrcode {
	width: 75px;
	height: 75px;
}

.single-html-section figure {
	margin: 0 auto;
}

.single-html-section p {
	text-align: left;
	line-height: 1.5;
	font-size: 1.3em;
}

#imageCaption {
	max-width: 400px;
	text-align: left;
	font-size: 1.2rem;
	margin: 0 auto;
}

#imageTitle {
	font-size: 1.4rem;
}

#dm-t {
	width: 300px;
	height: 200px;
	object-fit: cover;
	display: flex;
	align-items: center;
	margin: 0 auto;
	padding: 0;
}

#dm-t img {
	width: 100%;
}

/* mediaここから */

@media (max-width: 1024px) {
    header {
        flex-direction: column;
        align-items: center;
        text-align: center;
		margin: 0;
		padding: 0;
		height: 200px;
    }
    
    header h1 {
		margin: 20px auto 0 auto;
		text-align: center;
    }

    #main_top {
		margin: 20px 0;
		text-align: center;
		align-items: center;
    }

    header nav ul {
		display: flex;
		flex-wrap: wrap;
    }

    nav {
		margin: 0;
		padding: 0;
    }

    nav ul {
        flex-direction: row;
        align-items: center;
		margin: 0;
    }

    main {
        flex-direction: column;
        align-items: center;
    }

    #sub,#main {
		width: 100%;
		margin: 0 auto;
		padding: 0;
    }
	
    #sub img {
		display: block;
		max-width: 350px;
		margin: 0 auto;
		padding: 0;
    }

    #prof_area {
		margin: 0 auto;
		padding: 0 50px;
		display: flex;
		justify-content: space-evenly;
		align-items: center;
    }

	#prof_area h2 {
		display: none;
	}

    .sec_main {
		justify-content: center;
		gap: 10px;
		margin: 0 auto 15px auto;
		align-items: center;
		text-align: center;
		width: 90%;
		padding: 0 10px 0 10px;
    }

    .sec_main figure {
		margin: 0 auto;
		width: 50%;
    }

    .sec_main img {
		width: 100%;
    }

    #main-page {
		width: 100%;
		margin: 30px auto 0 auto;
		align-items: center;
    }

    #main-page img {
		width: 300px;
		height: auto;
		object-fit: contain;
		margin: 0 auto;
    }

    #imageDetails {
		text-align: center;
    }

    aside {
		display: flex;
		justify-content: center;
		width: fit-content;
		margin: 10px;
		padding: 0;
		align-items: flex-start;
    }

    .thumbnail {
		flex: 0 0 auto;
		cursor: pointer;
		width: 130px;
		height: 130px;
		overflow: hidden;
    }

    .thumbnail img {
		width: 100%;
		height: 100%;
		object-fit: cover;
    }

    .thumbnail-02 {
		width: calc(50% - 10px);
    }

    #single-content {
        flex-direction: column;
		height: auto;
		padding: 0 10px;
    }

    #source_div,#css_div {
        width: 100%;
        height: 500px;
		margin: 0 auto;
    }
    
    #single-title {
		text-align: center;
    }

    #single-nav {
		display: flex;
		justify-content: space-around;
		text-align: center;
		font-size: 0.9em;
    }
}

@media (max-width: 768px) {
    header {
        flex-direction: column;
        align-items: center;
        text-align: center;
		margin: 0 0 30px 0;
		padding: 0;
		height: 230px;
    }
    
    header h1 {
		margin: 20px auto 0 auto;
		text-align: center;
    }

	header h1 img {
		max-width: 350px;
		width: 100%;
	}

    #main_top {
		margin: 20px 0;
		text-align: center;
		align-items: center;
    }

    header nav ul {
		display: flex;
		flex-wrap: wrap;
    }

    nav {
		margin: 0;
		padding: 0;
    }

    nav ul {
        flex-direction: row;
        align-items: center;
		margin: 0;
    }

    main {
        flex-direction: column;
        align-items: center;
    }

    #sub,#main {
		width: 100%;
		margin: 0 auto;
		padding: 0;
    }
    
    #sub img {
		display: block;
		width: 90%;
		margin: 0 auto;
		padding: 0;
    }

    #prof_area {
		margin: 0 auto;
		padding: 0;
		align-items: center;
		flex-direction: column;
    }

	#prof_area h2 {
		display: block;
	}

	#prof_area img {
		object-fit: cover;
		max-width: 350px;
		width: 100%;
		padding: 0 5px;
	}

    .sec_main {
		flex-flow: column;
		justify-content: center;
		margin: 0 auto 15px auto;
		align-items: center;
		text-align: center;
		width: 100%;
    }

    .sec_main figure {
		width: 90%;
    }
	
	.sec_main figcaption {
		align-items: center;
	}

	.sec_main figcaption span {
		margin: 10px auto;
		max-width: 310px;
	}

    .sec_main img {
		width: 100%;
    }

    #main-page {
		width: 100%;
		margin: 30px auto 0 auto;
		align-items: center;
		padding: 0 10px;
    }

    #main-page img {
		width: 100%;
		object-fit: contain;
		margin: 0 auto;
    }

    #imageDetails {
		text-align: center;
    }

    aside {
		display: flex;
		justify-content: center;
		width: fit-content;
		margin: 10px;
		padding: 0;
		align-items: flex-start;
    }

    .thumbnail {
		flex: 0 0 auto;
		cursor: pointer;
		width: 110px;
		height: 110px;
		overflow: hidden;
    }

    .thumbnail img {
		width: 90%;
		height: 90%; 
		object-fit: cover;
    }

    .thumbnail-02 {
		width: 90%;
    }

    #single-content {
        flex-direction: column;
		padding: 0 10px;
    }

    #main-single-page {
		margin: 0 auto;
    }
    
    #main-htmlpage {
		flex-direction: column;
		justify-content: center;
    }

    #source_div,#css_div {
        width: 100%;
        height: 500px;
		margin: 0 auto;
    }
    
    #single-title {
		text-align: center;
    }

    #single-nav {
		display: flex;
		justify-content: space-around;
		text-align: center;
		font-size: 0.85rem;
    }
    
    .single-html-section {
		padding: 0 10px;
    }

	#imageTitle {
		font-size: 1.1rem;
	}

	#imageCaption {
		max-width: 370px;
		text-align: left;
		font-size: 1rem;
		margin: 0 auto;
	}

	#index-d p {
		font-size: 1rem;
		text-align: left;
	}

	#index-d h2 {
		font-size: 1.2rem;
	}

}

