@charset "UTF-8";

html {
    color: #555555;
    scroll-behavior: smooth;
    font-family: 'しっぽり明朝', serif;
	line-height: 1.7rem;
}


h1,h2,h3,h4,h5,h6,ul,ol,dl,img,a,p,figure {
    margin-top: 0;
}

p,dd {

}

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

a:hover {
    opacity: .6;
    transition: .3s all;
}

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

img {
    vertical-align: bottom;
}

.wrapper {
    padding: 0 1rem;
    margin: 0 auto;
    max-width: 1200px;
}

header {
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #ffffff;
    background-color: #333333;
    margin-bottom: .5rem;
}

h1,.global-nav {
    margin-bottom: 0;
}

.global-nav {
    display: flex;
    gap: 1.5rem;
}

.global-nav__item {
    font-size: 1.1rem;
}

.global-nav__item:hover {
    color: rgb(199, 178, 16);
}

.pulldown {
	position: relative;
    z-index: 300;
}

.pulldown:hover {
	overflow: visible;
}

.global-child-nav {
    width: 6.5rem;
    padding: 1rem;
	position: absolute;
    color: #ffffff;
    background-color: rgba( 33, 33, 33, .7);
    top: 80%;
	opacity: 0;
	transition: .5s all;
    line-height: 1.3rem;
    font-size: .8rem;
}

.pulldown:hover .global-child-nav {
	top: 100%;
	opacity: 1;
}

.global-child-nav__item:hover {
    color: rgb(248, 230, 94);
}

.global-child-nav__item {
    margin-bottom: 1rem;
}

.global-child-nav__item:last-child {
    margin-bottom: 0;
}

/*上へ戻るボタン*/
.totop {
    padding-top: 20px;
    padding-left: 15px;
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    position: fixed;
    bottom: 2rem;
    right: 1rem;
    /*
    position: sticky;
    bottom: 2rem;/*ポジションとボトムはセット
    margin-left: auto;/*右端にくっつく
    margin-right: 1rem;
    */
    background-color: #707070;
    border-radius: 50%;   
    z-index: 1000;
}

.totop:hover {
    background-color: rgb(199, 178, 16);
    transition: all .7s;
}

.totop a {
    display: block;
    width: 100%;
    height: 100%;
}

.totop-arrow {
    width: 20px;
    height: 20px;
    transform: rotate(45deg);
    border-top: solid 1px #ffffff;
    border-left: solid 1px #ffffff;
}

/*トップページめいんの中身*/

.top-container,.portfolio-area,.skill-area {
    background-color: #f8f5e9/*rgb(251, 250, 240)*/;
}

.works-area,.about-area {
    color: #ffffff;
    background-color: #909090/*#b6b5ad/*#f0f0f0*/;
}

.section-title {
    display: flex;
    justify-content: space-between;
}

/*アーティクル中身*/

.top-container {
    background-image: url(../img/top-img.png);
    background-repeat: none;
    background-size: cover;
    padding-bottom: 2rem;
}

.top-container .wrapper {
    display: flex;
    justify-content: space-between;
}

.top-container__left {
    width: 50%;
    display: flex;
    justify-content: center;
}

.top-container__left_item{
    text-align: center;
	margin: auto;
    padding: 2rem;
}

.top-container__right {
    width: 45%;
	padding-top: 2rem;
	padding-right: 2rem;
}

.question {
	width: 300px;
	height: 300px;
	/*max-width: 70%;*/
	background-color: #ffffff;
	border-radius: 30% 70% 35% 65%/50% 50% 50% 50%;
	margin: 0 auto 2rem;
    box-shadow: 2px 2px 15px rgba(199, 178, 16, .2);
	/*box-shadow: 2px 2px 10px #cccccc;*/
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
}

.question h1,.sorry-title {
	margin: auto;
	line-height: 3rem;
	font-size: 2rem;
    color: rgb(199, 178, 16);
	padding: 1rem 2rem;
    /*
	border-top: 4px double rgb(199, 178, 16);
	border-bottom: 4px double rgb(199, 178, 16);
    */
}

.question h1 span {
	font-size: 4rem;
	line-height: 5rem;
}

/*
.question:hover {
	border-radius: 70% 30% 65% 35%/50% 50% 50% 50%;
	transition: 1s all;
	box-shadow: 2px 2px 10px #cccccc;
}
*/

.consepts-box {
	margin-bottom: 2.5rem;
    text-shadow: 0 0 5px #f8f5e9;
}

.anther {
    line-height: 2.4rem;
}

.anther br {
    display: none;
}

.news-box {
	display: flex;
	align-items: center;
    text-shadow: 0 0 5px #f8f5e9;
}

.news-box h2 {
	margin-right: 1.5rem;
}

.news-item {
	display: flex;
}

.news-item dt {
    color: rgb(199, 178, 16);
}

.news-item dd {
    margin-left: 1.5rem;
    margin-bottom: 0;
}

.new-topic {
    /*height: 33%;*/
    padding: 1rem;
	background-position: center;
	background-repeat: none;
	background-size: cover;
	background-color: rgba(255, 255, 255, .8);
	margin-bottom: 2rem;
	box-shadow: 2px 2px 5px #cccccc;
	border-radius: 3px;
}

.new-topic:hover {
    background-color: rgba(199, 178, 16, .3);
	background-size: 130%;
    transition: all .7s;	
}

.new-topic h3 {
	padding-bottom: .3rem;
	border-bottom: 2px dotted rgb(199, 178, 16);
	
}

.topic-text {
    display: flex;
    text-align: justify;
    justify-content: center;
}

.topic-text img {
    max-width: 100%;
}

/*各セクションコンテナ共通*/
.portfolio-area,.skill-area,.works-area,.about-area {
    padding: 2rem 0;
}

.area-title {
    font-size: 2rem;
}

/*ワークス、ポートフォリオエリア共通*/

.section-title {
    align-items: center;
}

.works-subtitle,.portfolio-subtitle {
    display: flex;
    gap: 2rem;
}

.works-subtitle a:hover {
    color: rgb(248, 230, 94);
}

.slider {
	display: flex;
    padding: 0 1rem;
    z-index: 1;
}

/*ワークスエリア*/

.works-area__item_inner {
	text-align: center;
    margin-bottom: 1rem;
}

.works-area__item p {
    text-align: center;
    margin-bottom: .5rem;
}

.works-area__item img {
    margin: 0 auto .5rem;
}

.go_to_link {
    width: 7rem;
    margin: .5rem auto;
    color: #ffffff;
    background-color: #777;
    border-radius: 20px;
    font-size: .8rem;
}

/*
.go_to_link:hover {
    background-color: rgba(199, 178, 16, .5);
    transition: all .7s;
}
*/

/*ポートフォリオエリア*/

.portfolio-subtitle a:hover {
    color: rgb(199, 178, 16);
}

.portfolio-area__item p {
	text-align: center;
}

.portfolio-area__item img {
	max-width: auto;
	height: 250px;
    margin: 0 auto .5rem;
}

/*アバウトエリア*/
.profile-container {
	display: flex;
}

.about-subtitle:hover {
    color: rgb(248, 230, 94);
}

.profile-container__left {
    width: 60%;
}

.profile-container__right {
    margin: auto;
}

.profile-text {
    padding-left: 1.5rem;
}

.profile-text__item {
    margin-bottom: 1.5rem;
}

.myname {
    font-size: 1.2rem;
}

.about-img {
	width: 300px;
	height: 300px;
	background-image: url(../img/about-img.jpeg);
	background-repeat: none;
	background-position: center;
	background-size: cover;
	background-color: #ffffff;
	border-radius: 60% 20% 65% 30%/50% 50% 50% 50%;
}

/*スキルエリア*/
.skill-container {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
    gap: 2rem;
    /*
	background-repeat: no-repeat;
	background-position: right bottom ;
    */
}

.skill-container__item {
    padding: 1rem 2.5rem;
    background-color: rgba(255, 255, 255, .8);
    text-align: center;
	box-shadow: 2px 2px 5px #cccccc;
}

.app-name {
    display: flex;
    justify-content: center;
    margin: .2rem 0 0rem;
    font-size: 1.3rem;
    color: rgb(199, 178, 16);
}

.app-img {
    width: 150px;
    height: 150px;
    background-color: #f8f5e9;
    border-radius: /*60% 20% 65% 30%/50% 50% 50% */50%;
    margin: 0 auto 1rem;
}

.skill-container__item p {
    text-align: justify;
}


/*サンクスエリア*/
.thanks-area {
    text-align: center;
    padding: 3rem 0;
}


.thanks-area p {
    margin-bottom: 0;
    font-size: 2.5rem;
    line-height: 3rem;
    /*
    color: rgb(226, 216, 148);
    */
    color: #cccccc;
}

.thanks-area span {
    color: rgba(199, 178, 16, .7);/*rgb(230, 222, 167);*/
}

/*フッターエリア*/
footer {
    color: #ffffff;
    background-color: #333333;
    text-align: center;
    padding: 1.5rem 0 .3rem;
}

.footer-nav {
    display: flex;
    justify-content: center;
    gap: 1rem;
	padding-left: 0;
}

.footer-nav__item:hover {
    color: rgb(199, 178, 16);
}


/*ここからワークス、ポートフォリオページ*/

/*ワークス、ポートフォリオページ内共通*/
.portfolio-title,.works-title {
    height: 4rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 0;
    box-sizing: border-box;
    font-size: 2.2rem;
    color: #707070;
}

.publicend-container,.design-container,.illustration-container,.released-container,.album-container {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(350px,1fr));
    gap: 1rem;
}

.publicend-area,.designall-area,.illustration-area,.released-area {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.sub-title {
    text-align: center;
    color: #707070;
}


.publicend-item,.design-item,.illust-item,.released-item,.album-item {
    width: 350px;
    padding: 1rem;
    box-sizing: border-box;
    text-align: center;
    /*
    background-color: rgba(255, 255, 255, .7);
	box-shadow: 2px 2px 5px #cccccc;
    */
    margin: 0 auto 1.5rem;
}

.publicend-item figure,.design-item figure,.illust-item figure,.released-item figure {
    margin: 0;
}

.publicend-item img {
    max-width: 90%;
    max-height: 300px;
    margin: 0 auto .7rem;
}


.design-item img,.illust-item img,.released-item img,.album-item img {
    max-width: 100%;
    max-height: 250px;
    margin: 0 auto .7rem;
}

.item-title {
    margin-bottom: .1rem;
    font-size: 1.2rem;
    border-bottom: 2px dotted #cccccc/*#f8e65e/*#c7b210*/;
}

concept-title {
    font-size: .9rem;
}


.tools{
    font-size: .9rem;
    margin-left: .8rem;
}

.size-and-time {
    margin-bottom: .7rem;
    font-size: .9rem;
}

.item-text {
    font-size: .9rem;
    line-height: 1.5rem;
    margin-bottom: 0;
}

/*リリース、デザインエリア*/

.publicend-area,.designall-area,.released-area {
    background-color: #f8f5e9/*rgb(251, 250, 240)*/;
}

/*リリースエリア*/

.media,.tools-and-year {
    font-size: .9rem;
}

.to_link {
    width: 7rem;
    margin: .5rem auto 0;
    color: #ffffff;
    background-color: #909090;
    border-radius: 20px;
    font-size: .8rem;
}

.sorry-box {
    margin-top: 3rem;
    margin-bottom: 1rem;
}

.sorry-coment {
    text-align: center;
    margin-bottom: 3rem;
}

/*イラストエリア*/

.illustration-area {
    background-color: #eaeaea/*#b6b5ad/*#f0f0f0*/;
}


@media (max-width: 850px){

	.top-container__left,.top-container__right {
		width: 100%;
	}

    .top-container .wrapper {
		display: block;
	}

    .wrapper {
        padding: 0 1.5rem;
    }    
    
	.news-box {
		display: block;
	}
	
    .news-box h2 {
        margin-right: 0;
    }
	
    .news-box dl {
        margin-bottom: 0;
    }

	.new-topic {
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.topic-text {
		text-align: center;
	}
	
	.profile-container__left {
    width: 55%;
}
}

@media (max-width: 600px){

    html {
        font-size: .9rem;
    }

	.top-container .wrapper {
		display: block;
	}
    
	
	.top-container__left,.top-container__right {
		width: 100%;
	}
	
    .question {
        width: 280px;
        height: 280px;
    }

    .anther br {
        display: block;
    }

	.news-box {
		display: block;
		text-align: center;
	}
	
    .works-subtitle,.portfolio-subtitle {
    line-height: 1.2rem;
    }    

	.profile-container {
		display: block;
	}
	
    .profile-container__left {
        width: 100%;
    }

    .about-img {
        width: 250px;
        height: 250px;
        margin: auto;
    }
}

@media (max-width: 400px){
    .works-area__item img, .portfolio-area__item img {
        max-width: auto;
        height: 200px;
    }
}

/*アニメーション*/

/*ラウンド変化*/
.fluid {
    animation: fluidrotate 30s ease 0s infinite;/*アニメーションの設定*/
  }

  @keyframes fluidrotate {  
	  
    0%, 100% {
        border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
    }
    14% {
        border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
        background-color: #ffffff;
    }
    28% {
        border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
        background-color: rgb(248, 230, 94);
    }
    42% {
        border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
    }
    56% {
        border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
        background-color: #909090;
    }
    70% {
        border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
        background-color: #606060;
    }
    84% {
        border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
    }
          
    }


/*フェードアップ*/
.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:0.7s;
    animation-fill-mode:forwards;
    opacity:0;
    }
    
    @keyframes fadeUpAnime{
      from {
        opacity: 0;
      transform: translateY(100px);
      }
    
      to {
        opacity: 1;
      transform: translateY(0);
      }
    }

.fadeUpTrigger{
    opacity: 0;
}
