@charset "utf-8";


/*===============index===============*/
#index #topmedia{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items:flex-end;
    overflow: hidden;
    background: #fac447;
}
#topmedia ul{
    width: 60%;
    display: flex;
    justify-content: space-evenly;
}
#topmedia ul figure{
    margin-top: 15%;
}
#topmedia ul figcaption{
    text-align: right;
    margin-top: 1em;
    line-height: 2em;
    font-family: "Zen Maru Gothic", sans-serif;
    font-style: normal;
}

@media screen and (max-width: 680px){
#topmedia ul{
    width: 90%;
    display: flex;
    justify-content: space-evenly;
}
}
@media screen and (max-width: 560px){
#topmedia ul{
    width: 100%;
    display: flex;
    justify-content: space-evenly;
}
#topmedia ul figcaption{
    font-size: 0.7em;
}
}

/*---------index_aboutme---------*/
#index_aboutme{
    width: 100%;
    margin: 2% auto;
    text-align: center;
}
#index_aboutme ul{
    width: 60%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
#index_aboutme li{
    margin: 1%;
}
#index_aboutme p{
    margin-top: 1em;
    line-height: 1.5em;
    font-family: "Zen Maru Gothic", sans-serif;
    font-style: normal;
}

/*---------index_works---------*/
#index_works_box{
    width: 100%;
    margin: 5% auto;
    text-align: center;
}
#index_works{
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}
.index_works_inner{
    margin: 0 2%;
    position: relative;
}
.index_works_inner p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFF;
    font-size: 1.5em;
    font-family: "Encode Sans SC", sans-serif;
    font-weight: 500;
    font-style: normal;
}

/*==============================*/



/*===============aboutme===============*/
#aboutme_title{
    margin-top: 2rem;
}
#aboutme_left_right{
    width: 98%;
    margin: 0 auto;
    display: flex;
    justify-content: space-evenly;
}
#aboutme_left{
    width: 40%;
    margin: 0 auto;
    margin-block: 3rem;
}
#aboutme_right{
    width: 50%;
    margin: 0 auto;
}


/*---------#aboutme_left---------*/
#aboutme_left{
    text-align: center;
}
#aboutme_left p{
    margin-bottom: 1em
}
#aboutme_left figure{
    padding: 1em;
}
#aboutme_left_skill{
    padding-top: 3rem;
}
#aboutme_left_skill h3{
    margin-bottom: 1rem;
}
#aboutme_left_skill table{
    width: 80%;
    margin: 0 auto;
    text-align: center;
    color:#FFF;
}
#aboutme_left_skill #dark td{
    background: #211714;
    line-height: 2.8rem;
    border-radius: 8px;
}
#aboutme_left_skill #middle td{
    background: #3d3939;
    line-height: 2.8rem;
    border-radius: 8px;
}
#aboutme_left_skill #light td{
    background: #585757;
    line-height: 2.8rem;
    border-radius: 8px;
}
#aboutme_left ul{
    margin: 20% 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
#aboutme_left li{
    width: calc(100%/6);
}



/*---------#aboutme_right---------*/

.timeline {
  position: relative;
  margin-left: 2rem;
  border-left: 2px solid #211714;
  padding-left: 1rem;
}

.timeline-item {
  position: relative;
  margin-block: 3rem;
}

.timeline-date {
  font-weight: bold;
  color: #555;
}

.timeline-content {
    margin-top: 0.5rem;
    line-height: 1.5em;
}

.timeline-item::before {
  content: '';
  position: absolute;
  left: -1.2rem;
  top: 0.25rem;
  width: 12px;
  height: 12px;
  background: #fff;
  border: 2px solid #211714;
  border-radius: 50%;
}

.timeline-content .bold{
    font-weight: bold;
}
.timeline-content .mycom{
    color: #555;
    font-size: 0.8em;
}


@media screen and (max-width: 768px){
#aboutme_left_right{
    flex-direction: column;
}
#aboutme_left_skill table{
    width: 100%;
    margin: 0 auto;
    text-align: center;
    color:#FFF;
}
#aboutme_left{
    width: 60%;
    margin: 0 auto;
    margin-block: 3rem;
}
#aboutme_left ul{
    margin: 15% 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
#aboutme_left_skill{
    padding-top: 1rem;
}
#aboutme_right{
    width: 80%;
    margin: 0 auto;
}
}

/*==============================*/


/*===============works===============*/
.tab_box_container {
    margin: 3rem auto;
    transform: translate(0, 0%); 
    width: calc(100% - 2%);
    max-width: 90%;
}

input[type="radio"] {
    display: none;
}

input[type=radio]:checked + label {
    color: #000;
    background: #FFF;
    border: 1px solid #555;
    border-bottom: 5px solid #000;
    margin-top: 0;
    line-height: 52px;
}

.tab {
    width: calc(100% / 4 - 2%);
    height: 47px;
    background-color: #000;
    line-height: 47px;
    font-size: .9rem;
    text-align: center;
    color: #FFF;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    border-radius: 10px 10px 0 0;
    background: #000;
    margin: 5px .5% 0 0;
    cursor: pointer;
}

.tab_con{
    display: none;
    padding: 1.75rem;
    clear: both;
    border: 1px solid #555;
    overflow: hidden;
    background: #FFF;
}

.tab_con h2{
    font-size: 1.4rem;
    margin: 0 0 .5rem 0;
    padding: 0 0 .5rem 0;
    border-bottom: 1px solid #ddd;
}

.tab_con p{
    font-size: .9rem;
    margin: 0;
}

#tb1 .gallerybox h3{
    margin-top: 5%;
}

#tb1 .gallerybox p{
    line-height: 1.5em;
    margin: 0.5em auto;
}

.tab_con .flex_gallery{
    width: 98%;
    display: flex;
    margin: 2% auto;
}
.tab_con .flex_gallery figure{
    width: 40%;
}
.tab_con .flex_gallery figure h4{
    margin: 1rem 0 1rem 0;
}
.tab_con .flex_gallery .gallery{
    width: 58%;
    margin: 1em;
    display: flex;
    align-items: flex-end;
    justify-content: space-evenly;
}
.tab_con .flex_gallery .gallery img{
    box-shadow:5px 5px 5px #b2b2b2,
    5px 5px 5px -2px #d2d2d2 inset;
}

/*GRAPHIC*/
.flex_gallery_graphic{
    text-align: center;
    margin: 2rem 0;
}
.gallery_graphic,
.gallery_graphic1{
    width: 75%;
    margin: 0 auto;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: nowrap;
}
.gallery_graphic2{
    width: 75%;
    margin: 0 auto;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}
.gallery_graphic1{
    align-items: center;
}
.gallery_graphic1 img{
    width: 100%;
}
.gallery_graphic2 img{
    width: 70%;
    box-shadow:5px 5px 10px #b2b2b2;
}
.gallery_graphic2 li{
    margin: 1rem 0;
}
.gallery_graphic li{
    margin: 1rem;
}

@media screen and (max-width: 768px){
.gallery_graphic,
.gallery_graphic1{
    width: 98%;
    flex-wrap: wrap;
}
}

#radio1:checked ~ #tb1,
#radio2:checked ~ #tb2,
#radio3:checked ~ #tb3,
#radio4:checked ~ #tb4{
    display: block;
}

@media (max-width: 700px) {
    .tab_box {
		transform: scale(0.9) translate(0, 0); 
	}
}

/*アニメーション*/
.tab {
  transition: 0.15s ease-in;
}



/*==============================*/

/*===============CONTACT===============*/
#contact main p{
    width: 100%;
    margin:3rem auto;
    text-align: center;
    line-height: 1.5rem;

}
/*==============================*/

/*===============サイトマップ===============*/
#sitemap_box{
    display: flex;
    width: 50%;
    justify-content: space-evenly;
    margin: 0 auto 2rem auto;
}
#sitemap main dl{
    width: 40%;
    margin: 0 auto;
    margin: 1rem;
    line-height: 1.5rem;
}
#sitemap main dl dd{
    text-indent: 1rem;
}
#sitemap main dl dt{
    margin-top: 1rem;
    background: #b2b2b2;
}
/*==============================*/