
/* CSS Document */

/*==================================================

top-contents
=================================================*/

.top-image {
	width: 100%;
	position: relative;
	line-height: 0;
	z-index: 6!important;
	margin: 130px auto 0;
	margin: 130px auto 0;
}
.top-image .photo {
	width: 100%;
	overflow: hidden;
	
}

.threemin{
	position: relative;
}
.threemin:before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: url("../img/common/blueline_back.png") left top repeat;
	width: 100%;
	height: 70%;
	border-bottom: 5px solid #fcf051;
}
.threemin h3{
	width: 80%;
	max-width:400px; 
	margin:20px auto;
}
.threemin .Photo{
	width: 80%;
	max-width:1000px; 
	margin:50px auto;
}


.works{
	margin: 5% auto 10%;
	position: relative;
}

.works .Photo{
	width: 53%;
	margin: 0 auto 0 0;
	z-index: 10;
	position: relative;
}
.works .Txt{
	position: absolute;
	top: 5%;
	width: 100%;
}
.works .Txt .en{
	margin:10px 0 10px 55%;
	font-size: 5.0rem;
	color: #377dc2;
	font-weight: bold;
	font-family: 'Questrial', sans-serif;
	letter-spacing: 0.05em;
	
}
.works .Txt h2{
	margin:20px 0 20px 60%;
	font-size: 1.8rem;
}
.works .yline{
	border-top:8px solid #fcf051;
	padding: 20px  0 8% 55%;
}
.works .Txt .btn{
	text-align: center;
	margin: 20px 30%;
}
.works .Txt .btn a{
	background: #fff;
	text-align: center;
	border: 2px solid #333;
	color: #333;
	padding: 5px 40px;
	position: relative;
}
.works .Txt .btn a:hover{
	color: #fff;
	background: #377dc2;
}
.works .Txt .btn a::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 15px;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-left: 4px solid #333;
}

.works .Txt .btn a:hover::before{
    border-left: 4px solid #fff;
}


.interview{
	margin: 5% auto;
	position: relative;
}

.interview::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	background: #377dc2;
	width: 100%;
	height: 48%;
	z-index: -1;
}

.interview::after{
	content: "";
	position: absolute;
	left: 0;
	bottom:48%;
	background: #fcf051;
	width: 100%;
	height: 48%;
	z-index: -1;
}
.interview .en{
	margin:10px auto;
	font-size: 5.0rem;
	color: #377dc2;
	font-weight: bold;
	font-family: 'Questrial', sans-serif;
	letter-spacing: 0.05em;
	text-align: center;
	
}
.interview h2{
	margin:20px auto;
	font-size: 1.8rem;
	text-align: center;
}
.interview .interviewbox{
	width: 50%;
	padding: 20px;
	position: relative;
}

.interview .interviewbox .Txt{
	width: 80%;
	padding: 10px;
	text-align: center;
	border-radius: 50px;
	background: #fff;
	margin: -10% auto 10px;
	z-index: 10;
	position: relative;
}
.interview .interviewbox a .Txt p{
	color: #333;
	text-align: center;
}

.interview .interviewbox a:hover{
	opacity: 1;
}
.interview .interviewbox a:hover .Txt{
	background: #fcf051;
}


.education{
	margin: 5% auto;
	position: relative;
}

.education .Photo{
	width: 60%;
	margin: 0 auto;
	position: relative;
}
.education .Txt{
	position: absolute;
	top: 20%;
	width: 100%;
	max-width: 900px;
	text-align: right;
}
.education .Txt .en{
	margin:10px 0 10px auto;
	font-size: 5.0rem;
	color: #377dc2;
	font-weight: bold;
	font-family: 'Questrial', sans-serif;
	letter-spacing: 0.05em;
	
}
.education .Txt h2{
	margin:20px 0 20px auto;
	font-size: 1.8rem;
	text-align: right;
}
.education .Txt .btn{
	margin:80px 0 20px auto;
	text-align: right;
}
.education .Txt .btn a{
	background: #fff;
	text-align: center;
	border: 2px solid #333;
	color: #333;
	padding: 5px 40px;
	position: relative;
}
.education .Txt .btn a:hover{
	color: #fff;
	background: #377dc2;
}
.education .Txt .btn a::before{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 15px;
    box-sizing: border-box;
    width: 4px;
    height: 4px;
    border: 4px solid transparent;
    border-left: 4px solid #333;
}

.education .Txt .btn a:hover::before{
    border-left: 4px solid #fff;
}




.gallery{
	margin: 0 auto 5%;
	position: relative;
}
.gallery .Photo{
	width: 100%;
}

.gallery .Txt{
	position: absolute;
	bottom: 15%;
	left: 0;
	width: 80%;
	max-width: 1000px;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	background: rgba(252,240,81,0.8);
	border-radius: 0 50px 50px 0;
	padding: 20px;
	z-index: 10;
}
.gallery .Txt .en{
	font-size: 5.0rem;
	color: #377dc2;
	font-weight: bold;
	font-family: 'Questrial', sans-serif;
	letter-spacing: 0.05em;
}
.gallery .Txt h2{
	font-size: 1.8rem;
	text-align: right;
	margin-left: 20px;
	color: #333;
}




.info{
	margin: 8px auto;
	padding-bottom: 5%;
	position: relative;
}

.info::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	background: #fcf051;
	width: 100%;
	height: 60%;
	z-index: -1;
}

.info .Txt{
	width: 80%;
	max-width: 600px;
	padding: 20px 20px 10px;
	border: 2px solid #333;
	background: #fff;
	text-align: center;
	margin: 0 auto;
}
.info .Txt .en{
	font-size: 2.5rem;
	color: #377dc2;
	font-weight: bold;
	font-family: 'Questrial', sans-serif;
	letter-spacing: 0.05em;
	
}
.info .Txt h2{
	font-size: 1.8rem;
	margin: 10px auto;
	color: #333;
}



.pc-img{
	display: block;
}
.sp-img{
	display: none;
}


footer {
	margin: 5% auto 0;
}

@media only screen and (min-width:1px) and (max-width: 1080px) {

	
}
@media (min-width:1px) and (max-width: 960px) {
.top-image {
	width: 100%;
	position: relative;
	line-height: 0;
	z-index: 6!important;
	margin: 80px auto 0;
}
	
.threemin h3{
	width: 80%;
	max-width:400px; 
	margin:0 auto;
	padding: 20px;
}
.threemin .Photo{
	width: 80%;
	max-width:1000px; 
	margin:30px auto;
}
.interview .interviewbox .Txt{
	width: 90%;
	padding: 10px;
}
.interview .interviewbox a .Txt p{
	font-size: 1.4rem;
	line-height: 1.5em;
}

.education .Txt .en{
	margin:10px 20px 10px auto;
	font-size: 4.0rem;
	
}
.education .Txt h2{
	margin:10px 20px 20px auto;
	font-size: 1.8rem;
}
.education .Txt .btn{
	margin:80px 20px 20px auto;
	text-align: right;
}
.gallery .Txt{
	width: 90%;
	padding: 15px 20px;
}
.gallery .Txt .en{
	font-size: 4.0rem;
}
.gallery .Txt h2{
	font-size: 1.6rem;
}
}
@media (min-width:1px) and (max-width: 768px) {

.works{
	margin: 5% auto 15%;
	position: relative;
}

	
.works .Photo{
	width: 40%;
	margin: 0 auto 0 0;
	z-index: 10;
	position: relative;
}
.works .Txt{
	position: absolute;
	top: -30px;
	width: 100%;
}
.works .Txt .en{
	margin:10px 0 10px 45%;
	font-size: 4.0rem;
	
}
.works .Txt h2{
	margin:10px 0 10px 50%;
	font-size: 1.6rem;
}
.works .yline{
	border-top:3px solid #fcf051;
	padding: 10px  0 8% 45%;
	line-height: 1.4em;
}
	
	

.interview .en{
	font-size: 4.0rem;
	
}
.interview h2{
	margin:10px auto;
	font-size: 1.6rem;
}

.interview .interviewbox{
	width: 50%;
	padding: 10px;
	position: relative;
}
.interview .interviewbox a .Txt p{
	font-size: 1.1rem;
}
	
.gallery .Txt .en{
	width: 100%;
	margin-left: 10px;
	
}
.gallery .Txt h2{
	width: 100%;
	text-align: left;
	margin-left: 10px;
}
}
@media only screen and (min-width:1px) and (max-width: 560px) {

.threemin .Photo{
	width: 90%;
	margin: 20px auto;
}

.works{
	margin: 5% auto;
	position: relative;
}
.works .Photo{
	width: 90%;
	margin: 0 auto 0 0;
	z-index: 10;
	position: relative;
}
.works .Txt{
	position: relative;
	top: inherit;
	width: 85%;
	background: rgba(255,255,255,0.8);
	margin: -15% 0 0 15%;
	z-index: 12;
	position: relative;
	padding: 20px;
}
	
.works .Txt .en{
	margin:10px;
	font-size: 4.0rem;
}
.works .Txt h2{
	margin:10px;
	font-size: 1.5rem;
}
.works .yline{
	border-top:5px solid #fcf051;
	padding: 10px;
}
	
.interview .interviewbox{
	width: 100%;
	padding: 10px;
	position: relative;
}
	
	
.education .Photo{
	width: 75%;
	margin: 0 22% 0 3%;
	position: relative;
}
	
.gallery .Txt .en{
	font-size: 3.0rem;
	
}
.gallery .Txt h2{
	font-size: 1.5rem;
}
.info .Txt .en{
	font-size: 2.0rem;
	
}
.info .Txt h2{
	font-size: 1.5rem;
}
.pc-img{
	display: none;
}
.sp-img{
	display: block;
}
}