/* Styles for Early Professionals

   developer:   dereks
   requires:    /common/framework/css/framework.ja.css
   ========================================================================== */


.sticky-nav{
    position: sticky;
    top: 42px;
	background: #f57300;
}

.sticky-nav .wrapper {
	padding: 0 2rem 0;
}

.sticky-nav ul {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    box-sizing: border-box;
    padding: 0.3rem;
    background: #f57300;
}
.sticky-nav li {
    list-style: none;
    margin-right: 1.25rem;
    font-size: .95rem;
    font-weight: 400;
    color: #fff;
}
.sticky-nav li.text {
    margin-top: 0.3rem;	
}
.sticky-nav li a {
    background: #dd1100;
	border-radius: 5px;
	color: #fff;
	font-size: .95rem;
	padding:.2rem .5rem .3rem .5rem;
	float: right;
	margin: 0;
}
.sticky-nav li a:hover {
    background-color: #fff;
    color: #f57300;	
}

.hero {
    background: #b8eefc;
    font-family: 'Hiragino Kaku Gothic ProN', 'Meiryo', Arial, sans-serif
    line-break: strict;
}

.hero h1 {
    color: #104469;
    font-size: 3.265rem;
    font-weight: 600;
    padding: 3.0625rem 0 2rem 0;
	text-align: center;
}

.hero h1 .no-break {
    display: inline-block;
}

.hero img {
    width: 100%;
    max-width: 1002px;
	margin: 0 auto;
	display: block;
}

.highlight {
    background: #f57300;
    text-align: center;
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 2.5rem;
    color: #ffffff; 
    padding: 2rem 0;	
}

.wrapper {
	font-family: 'Hiragino Kaku Gothic ProN', 'Meiryo', Arial, sans-serif;
    margin: 0 auto;
	max-width: calc(1200px - 4rem);
	padding: 0 2rem 3rem;
    line-break: strict;
}

.wrapper h1 {
    color: #dd1100;
    font-size: 2.8rem;
    font-weight: 400;
    padding-top: 4rem; 
}

.wrapper p {
    color: #535353;
    font-size: 1.1rem;
    line-height: 2.0625rem;
    font-weight: 300;	
}

.wrapper p.intro {
	color: #f57300;
	font-size: 1.35rem;
	font-weight: 300;
	line-height: 2.5rem;
	padding: 3.75rem 0 1.25rem 0;
}

.wrapper p:nth-child(4) {
	font-size: 1.125rem;
	padding-top: 2rem;
}

#description {
	border-top: 1px solid #dddddd;
	margin-top: 3.125rem;
	padding-top: 1.125rem;
}

#description h3 {
	color: #f57300;
	font-size: 1.2125rem;
	font-weight: 400;
	padding:  2rem 0 1rem;
}

#description ul {	
	font-size: 1.125rem;
	padding-left: 1rem;
}

#description li:before {
    background: #ff6c00;
    content: '';
    display: inline-block;
    height: 5px;
    margin: .6rem 0 0 -.75rem;
    position: absolute;
    width: 5px;
}
#description li {
	font-size: .9125rem;
	font-weight: 400;
	line-height: 1.5rem;
	color: #535353;
	margin-bottom: 0.625rem;
	max-width: 40rem;
}

#description img {
    max-width: 100%;
    width: 300px;
    margin: 3rem 0 0 1.5rem;
}

.icon {
    cursor: pointer;
    text-align: center;
}

.icon:before {
    border: 1px solid #9d9d9d;
    border-radius: 6px;
    color: #9d9d9d;
    content: '𝑖';
    display: inline-block;
    font-size: 11px;
    height: 13px;
    line-height: 11px;
    margin-left: .1rem;
    text-align: center;
    vertical-align: text-top;
    width: 13px;
}

#join {
    background: #f57300;
    color: #fff;
	font-family: 'Hiragino Kaku Gothic ProN', 'Meiryo', Arial, sans-serif
}

#join .container { 
	max-width: 44.5rem;
	margin: 0 auto;	
}

#join .container .button {
    width: 8.5rem;
    display: inline-block;	
}

#join .container .text {
    width: 36rem;
    display: inline-block;	
}

#join p:nth-child(1) {
	font-size: 1rem;
	font-weight: 600;
	padding: 1.5rem 0 0.0875rem;
}

#join p:nth-child(2) {
	font-size: .95rem;
	padding-bottom: 1.5rem;
}

#join a {
	background: #dd1100;
	border-radius: 5px;
	color: #fff;
	font-size: 1.1rem;
	padding:.75rem 1.5rem;
	float: right;
	margin: 1.5rem 1rem 0 0;
}

#join a:hover { 
    background-color: #fff;
    color: #f57300;	
}


/* ==========================================================================
   responsive breakpoint styles
   ========================================================================== */
   
/* styles for medium screens (900px)
   ========================================================================== */

@media all and (max-width: 900px) {
	#join .container .button {
        margin-left: 0.1rem;
    }
	#join .container .text {
        width: 33rem;
    }
	#join p:nth-child(2) {
	    font-size: 0.9rem;
    }
}
   
/* styles for small screens (600px)
   ========================================================================== */

@media all and (max-width: 600px) {
    .sticky-nav .wrapper {
	    padding: 0 1rem;	
	}
	.sticky-nav ul {
        justify-content: space-between;
    }
	.sticky-nav li {
	    margin-right: 0;	
	}
	.hero h1 {
        font-size: 2.625rem;
    }	
	.highlight {
        font-size: 1.55rem;	
    }
	.wrapper {
	    padding: 0 2rem 2rem;
    }
	.wrapper p.intro {
		font-size: 1.55rem;	
	    padding: 2.25rem 0 1.25rem 0;
    }
	#description {
	    margin-top: 2.25rem;
	    padding-top: 0.25rem;
    }
	#description img {
        margin: 1.5rem 0 0 0;
    }
	#join .container .button {
        margin-left: 0;
    }
	#join a {
	    float: none;
        width: 100px;
        margin: 1.5rem auto 0 auto;
        display: block;		
	}
	#join p {
	    text-align: center;
        margin: 0 2rem;		
	}
	#join p:nth-child(2) {
	    font-size: 1rem;
    }
}
