/*@import url(http://fonts.googleapis.com/css?family=Lato:300,400,700);*/

*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body, html { font-size: 100%; padding: 0; margin: 0;}

/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }

body {
    font-family: 'Noto Sans JP',sans-serif;
	color: #21214d;
}

a {
	color: #828282;
	text-decoration: none;
	outline: none;
}

p {
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 21px;
    color: #4D4D4D;
}

a:hover {
	color: #295890;
}

h2 {
    color: #4D4D4D;
    font-weight: 400;
    margin-bottom: 30px;
}

h3, h4, h5 {
    color: #333c4d;
    font-weight: 400;
    margin-bottom: 20px;
}

a h4:hover {
    text-decoration: underline;
}
.caption {
    text-align: center;
    margin-bottom: 70px;
}
img {
    max-width: 100%;
    height: auto;
  }

.description-container{
    margin: 0 auto;
    max-width: 720px;
}
.description-container > p {
    margin: 1em 0 0.5em 0;
    text-align: left;
    font-size: 100%;;
	display: block;
}
/* header */
.container > header {
	width: 90%;
	max-width: 69em;
	margin: 0 auto;
}
.container > header .taniguchi-inn{
	max-width: 1120px;
	display: flex;
	margin: 0 auto;
	padding: 40px　30px;
}

.container > header .taniguchi-inn .taniguchi-icon {
	flex-basis: 20%;
	display: block;
}

.container > header > .taniguchi-inn .taniguchi-icon > img{
	width: 260px;
    height: 260px;
    margin: 0 auto;
    margin-top: 20px;
    border-radius: 185px;
    border: solid 5px #fff;
    max-width: 260px;
}

.container > header .taniguchi-inn .taniguchi-profile {
	margin-top: 5px;
	margin-left: 20px;
	flex-basis: 80%;
	display: block;
}

.container > header .taniguchi-inn .taniguchi-profile h1 {
	text-align: left;
	font-size: 45px;
	margin: none;
	margin-block-end: 0;
	font-weight: 400;
}

.container > header .taniguchi-inn .taniguchi-profile > span {
	text-align: left;
    font-size: 20px;
	display: block;
}

.container > header .taniguchi-inn .taniguchi-profile > p {
    font-size: 90%;;
	display: block;
}

.container > header > span span:after {
	width: 30px;
	height: 30px;
	left: -12px;
	font-size: 50%;
	top: -8px;
	font-size: 75%;
	position: relative;
}

.container > header > span span:hover:before {
	content: attr(data-content);
	text-transform: none;
	text-indent: 0;
	letter-spacing: 0;
	font-weight: 300;
	font-size: 110%;
	padding: 0.8em 1em;
	line-height: 1.2;
	text-align: left;
	left: auto;
	margin-left: 4px;
	position: absolute;
	color: #fff;
	background: #21214d;
}
p.info {
	text-align: center;
	padding: 20px;
}
/* About　introduction */
/* About　profile */
.profile-container{
	width: 840px;
    margin: 0 auto;
}
.profile-sub-container{
	width: 840px;
	display: flex;
    margin: 0 auto;
}
.profile-sub-container .profile-1{
    flex-basis: 50%;
}
.profile-sub-container .profile-2{
    flex-basis: 50%;
}
table.item-list {
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0px 15px;
    font-size: 12px;
    }
    
table.item-list th,
    table.company td {
    padding: 10px;
    }
    
table.item-list th {
    background: #295890;
    vertical-align: middle;
    text-align: left;
    width: 140px;
    overflow: visible;
    position: relative;
    color: #fff;
    font-weight: normal;
    font-size: 15px;
    }

table.item-list td {
    background: #f8f8f8;
    width: 280px;
    padding-left: 20px;
    }
.profile-3 .item-list  {
    margin:0;
}
.profile-3 table.item-list {
    border-spacing: initial;
}
.profile-3 table.item-list tbody {
    border-spacing: initial;
}
.profile-3 .item-list td {
    width: 720px;
}
/*About skills*/
.skills_child{
    width:840px;
    margin: 0 auto;
}
.skills_child h3{
    margin: 30px 0 15px 15px;
    text-align: left;
    font-size: 16px;
}
.skills_child ul{
    margin: 0 auto;  
    display: inline-block; 
    margin-left: 0px;
    margin-top: 0;
    margin-bottom: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    color: #4D4D4D;
    vertical-align: baseline;
    background: transparent;
    box-sizing: border-box;
 }
 li.hide.show {
    float: left;
    border: 1px #4D4D4D solid;
    margin: 5px 5px 5px 0px;
    padding: 5px;
    font-size: 70%;
    position: relative;
    vertical-align: baseline;
    background: transparent;
    list-style: none;
 }


@media screen and (max-width: 840px) {
.container{
    margin: 0 10px;
}
.description-container > p {
    text-align: left;
    padding-right: 15px;
    padding-left: 15px;
}
.profile-container{
        display: block;
        width: auto;
    }
.profile-sub-container{
        display: block;
        width: auto;
    }
table.item-list {
    border-spacing: initial;
}
.profile-3 .item-list  {
    margin:0 auto;
    }
.profile-3 .item-list td {
        width: 280px;
    }
.skills_child{
    width:auto;
    margin: 0 auto;
}
}
/* Works */
.wrapper {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

.wrapper a img {
    transition: all .2s ease-in-out;
    border: 2px solid #fff;
}

.wrapper a img:hover {
    border: 2px solid #21214d;
}

.wrapper .row {
    margin-right: -15px;
    margin-left: -15px
}
.wrapper .row:before,
.wrapper .row:after {
    display: table;
    content: " "
}
.wrapper .row:after {
    clear: both
}

.title {
    text-align: center;
    margin-bottom: 20px;
}

.title p {
    font-size: 14px;
    color: #4D4D4D;
}

.title h2 {
    margin-bottom: 25px !important;
}

.col-md-6 {
	width: 50%;
	float: left;
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px；
}
.col-sm-6{
	width: 50%;
	float: left;
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px
}

.row {
    margin-right: -15px;
    margin-left: -15px
}
.row:before,
.row:after {
    display: table;
    content: " "
}
.row:after {
    clear: both
}
.row:before,
.row:after {
    display: table;
    content: " "
}
.row:after {
    clear: both
}

@media screen and (max-width:992px) {
.container > header .taniguchi-inn .taniguchi-profile h1 {
        text-align: left;
        font-size: 30px;
        margin: none;
        margin-block-end: 0;
        font-weight: 400;
    }
    
.container > header .taniguchi-inn .taniguchi-profile > span {
        text-align: left;
        font-size: 15px;
        display: block;
    }
.container > header .taniguchi-inn .taniguchi-profile > p {
        font-size: 80%;
    }
.container > header > .taniguchi-inn .taniguchi-icon > img{
        width: 200px;
        height: 200px;
        margin: 0 auto;
        margin-top: 20px;
        border-radius: 185px;
        border: solid 5px #fff;
        max-width: 200px;
}
.wrapper {
		max-width: 750px;
		margin-right: auto;
    	margin-left: auto;
    }
.wrapper:before, .wrapper:after {
        display: table;
        content: " ";
}
.col-md-6 {
    float: none;
    width: 100%;
    position: relative;
    min-height: 1px;
    padding:0 10px;
}
.col-sm-6{
        float: left;
        width: 50%;
	}
}
@media screen and (max-width:765px) {
.container > header{
		padding: 10px 10px 0;
	}
.container > header .taniguchi-inn{
		display: block;
	}
.container > header .taniguchi-inn .taniguchi-icon {
	display: block;
}

.container > header > .taniguchi-inn .taniguchi-icon > img{
	width: 150px;
    height: 150px;
    margin: 0 auto;
    border-radius: 80px;
	border: solid 5px #fff;
	display: block;
}

.container > header .taniguchi-inn .taniguchi-profile {
	margin: 0;
	outline: 0;
    padding: 0;
	display: block;
}

.container > header .taniguchi-inn .taniguchi-profile h1 {
	margin: 0;
	padding: 0;
	font-size: 30px;
	text-align: center;
	vertical-align: baseline;
	outline: 0;
	display: block;
}

.container > header .taniguchi-inn .taniguchi-profile > span {
    display: block;
    font-size: 16px;
    text-align: center;
}

.container > header .taniguchi-inn .taniguchi-profile > p {
    font-size: 80%;;
	display: block;
}

.container > header .taniguchi-inn .taniguchi-profile h1,
.container > header nav {
	float: none;
}

.container > header > span,
.container > header h1,
.container > header p {
	text-align: center;
}
.col-md-6 {
        float: left;
        position: relative;
        min-height: 1px;
        padding:0 10px;
    }
.col-sm-6{
		float: none;
        width: 100%;
	}
}