/*
Max content widths
*/
.size-auto, 
.size-full,
.size-large,
.size-medium,
.size-thumbnail {
	max-width: 100%;
	height: auto
}

/*
Main content
*/

#content article {
  margin-bottom: 40px
}
#content header {
  margin: 20px 0
}
#content section {
  margin-bottom: 20px
}
#content footer {
  padding-bottom: 20px
}

/*
Sidebar
*/

.sidebar {
  margin-top: 20px
}
.sidebar section {
  margin-bottom: 40px
}
.sidebar ul,
.sidebar ol {
  list-style-type: none;
  padding: 0
}
.sidebar li {
  margin: 10px 0
}

/*
Hide form placeholders on focus
*/

input:focus::-webkit-input-placeholder { color: transparent; }
input:focus:-moz-placeholder { color: transparent; } /* FF 4-18 */
input:focus::-moz-placeholder { color: transparent; } /* FF 19+ */
textarea:focus::-webkit-input-placeholder { color: transparent; }
textarea:focus:-moz-placeholder { color: transparent; } /* FF 4-18 */
textarea:focus::-moz-placeholder { color: transparent; } /* FF 19+ */ 

/*
Comments
*/

#respond {
  margin-top: 40px
}
ol.commentlist {
	counter-reset: li; /* Initiate a counter */
	padding: 0
}
ol.commentlist ul {
  padding: 0
}
ol.commentlist > li {
	position: relative;
	margin: 0 0 20px 0;
	list-style: none /* Disable the normal item numbering */
}
ol.commentlist > li:before {
  content: "Thread " counter(li); /* Use the counter as content */
  counter-increment: li; /* Increment the counter by 1 */
  position:absolute;  
  top: 0;
  right: 0;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-bottom-left-radius: 4px;
  padding: 5px 20px 5px 10px;
  color: #999
}
ol.commentlist li ol,
ol.commentlist li ul {
  list-style-type: none;
  margin: 0
}

.commentlist li li {
  background: #f8f8f8;
}
.commentlist li li li {
  background: #fff
}
.commentlist li li li li {
  background: #f8f8f8
}
.commentlist li li li li li li {
  background: #fff
}
.commentlist li {
  padding: 20px
}
.commentlist ul li {
  margin-top: 20px;
  margin-bottom: 0
}
.reply p {
  margin: 0
}

/*
Site footer
*/

.site-footer ul,
.site-footer ol {
  list-style-type: none;
  padding: 0
}
.site-footer li {
  margin: 0px 0
}
.site-footer li a{
	color:#fff;
}
.site-sub-footer p {
  text-align: center
}
.site-sub-footer .footer-boilerplate{
	font-size:12px;
	color:rgba(255,255,255,.7);
	font-family: 'Noto Sans JP', sans-serif;
	line-height:14px;
	font-weight:normal;
}

.site-footer p {
  text-align: left
}

.btn-outline{
  border-radius: 0;
  background:none;
  border:2px solid #FBBA2E;
  text-transform:uppercase;
  color:#fff;
  font-weight:600;
  font-size:20px;
  font-family: 'Noto Sans JP', sans-serif;
  padding:10px 11px;
  letter-spacing:2px;
}
.btn-outline.btn-on-white{
	color:rgb(51,51,51);
	margin-top:5px;
	white-space:normal;
}
.btn-outline:hover,
.btn-outline:active,
.btn-outline:focus{
  background:#FBBA2E;
  color:#fff;
  border:2px solid rgba(249, 185, 45, .75);
}
.btn-outline.btn-on-white:hover,
.btn-outline.btn-on-white:active,
.btn-outline.btn-on-white:focus{
	background:#FBBA2E;
	color:#fff;
	border:2px solid rgba(249, 185, 45, .75);
}
.btn-outline.grey-outline{
	border:2px solid #333;
}

img{
  max-width:100%;
}

body{
  font-size:15px;
  line-height:24px;
  font-weight:700;
  font-family: 'Noto Serif JP', serif;
}
.container{
  width:100%;
}

.logo{
  width:160px;
}
.body-content{
  padding:60px 68px 188px 68px;
  background:#fff;
}
body.home .body-content{
  background: url("../img/planningroute.jpg") no-repeat center top fixed;
  background-size: cover;
  height:100%;
  color:#fff;
}
.body-content ul li{
	margin-bottom:20px;
}
body.home{
  font-size:23px;
  line-height:23px;
}
body.home nav.navbar{
  display:none;
}
body.home .inner-page-title{
  display:none;
}
.home h2{
    font-size:60px;
    line-height:68px;
    text-transform:uppercase;
    font-weight:800;
    margin-top:0;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing:7px;
}
.home h1{
    font-size:23px;
    font-family: 'Noto Serif JP', serif;
    line-height:30px;
}
.home h4{
  color:#fbba00;
  font-size:30px;
  line-height:34px;
  text-transform:uppercase;
  font-weight:600;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing:2px;
  margin-bottom:34px;
}
.home #content{
  margin-top:113px;
}
.site-footer{
  padding:50px 85px;
  background: #1f1221;
  color:#fff;
  font-size:16px;
  line-height:26px;
}
.site-footer h4{
  font-size:20px;
  text-transform:uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  color:#fff;
  margin:0 0 15px 0;
  font-family: 'Noto Sans JP', sans-serif;
}
.inner-page-title{
  font-size:45px;
  letter-spacing:6px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height:55px;
  color:#fff;
  font-weight:800;
  text-transform:uppercase;
  padding-left:0;

}
.inner-page-title > .row{
  margin:90px 0 65px 0;
}


.body-header{
  background:#000;
  background-size:cover;
  background-position:center center;
}
body.home .body-header{
  background:none;
}

.page-template-template-internal .body-content{
  padding:0;
}
.page-template-template-internal .body-header{
  padding:60px 68px 0 68px;
}
.page-template-template-internal .body-container{
  padding:60px 79px 79px 79px;
  background: url("../img/logo-giant.png") no-repeat 0 350px;
  background-size:40%;
}
@media screen and (max-width:1500px){
    .logo{
      width:150px;
    }
    .body-content{
      padding:50px 40px 200px 40px;
    }
	.page-template-template-internal .body-header{
	  padding:80px 40px 0 40px;
	}
	.page-template-template-internal .body-container{
	  padding:80px 50px 150px 50px;	 
	  
	}
  .home #content{
    margin-top:120px;
  }
  .home h2{
    font-size:50px;
    letter-spacing:5px;
	line-height:55px;
  }
  .home h1{
    font-size:22px;
    line-height:28px;
  }
  .home h4{
    font-size:24px;
    margin-bottom:25px;
  }
  .site-footer h4{
    font-size:18px;
    margin:0 0 12px 0;
  }
  body.home{
    font-size:21px;
    line-height:24px;
  }
  .btn-outline{
    font-size: 16px;
    padding: 9px 13px;
    letter-spacing: 2px;
  }
  .site-footer{
    padding:50px 35px;
    font-size:16px;
  }
  
}

@media screen and (max-width:1199px){
	.page-template-template-internal .body-container{
	  background:none;
	}
	.inner-page-intro{
		margin-bottom:40px;
	}
	
}
.inner-page-intro{
  font-size:23px;
  line-height:32px;
  font-family: 'Noto Serif JP', serif;
  color:#57396F;
  font-weight:600;
  padding-right:11px;
  margin-bottom:40px;
}




.navbar-default{
  border:0;
  background:none;
  color:#fff;
  text-transform:uppercase;
  font-family: 'Noto Sans JP', sans-serif;
  font-size:20px;
  font-weight:700;
  letter-spacing: 2px;
  border-bottom:1px solid #fff;
  padding-bottom:25px;
}
@media screen and (max-width:1550px){
	.navbar-default{
		font-size:18px;
	}
}
@media screen and (max-width:1240px){
	.navbar-default{
		font-size:17px;
	}
}
.navbar-default > .container {
	padding-left:0;
}
.navbar-default .navbar-nav>li>a{
  color:#fff!important;
  padding-top:16px 11px;
}
.navbar-default .navbar-nav>.active>a,
.navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.active>a:hover,
.navbar-default .navbar-nav>.active>a:active{
  background:none;
  border:2px solid #FBBA2E;
  color:#fff!important;
}
.download-area{
	margin-bottom:50px;
}

.download-area .download-file{
	background:#f6f6f6;
	padding:4px 15px 19px 15px;
	border-top:1px solid #000;
}
.download-area .download-file:last-child{
	border-bottom:1px solid #000;
}
.download-area .download-file span.file-title{
	display:inline-block;
	width:59%;
}
.download-area .download-file a{
	display:inline-block;
	width:39%;
	text-align:right;
	color:#888;
}
.download-area .download-file .download-icon{
	font-size:36px;
	position:relative;
	bottom:-10px;
}
@media screen and (max-width:767px){
	.download-area{
		font-size:15px;
	}
	.download-area .download-file .download-icon{
		font-size:30px;
	}
}
@media screen and (max-width:650px){
	.download-area{
		font-size:14px;
		line-height:16px;
	}
	.download-area .download-file .download-icon{
		font-size:20px;
		bottom:-4px;
	}
	.download-area .download-file{
		padding:6px 15px 10px 15px;
	}
}
#content {
	font-weight: 300!important;
}
#content .body-copy h2{
	font-size:30px;
	line-height:40px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:800;
	text-transform:uppercase;
	margin-top: 8px;
    margin-bottom: 25px;
	letter-spacing:2px;
}
#content .body-copy h3{
	font-size:20px;
	line-height:25px;
	letter-spacing:2px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	text-transform:uppercase;
	margin-top:40px;
	margin-bottom:0;
}
#content .body-copy b{
	font-weight:800;
}
#content .body-copy p{
	margin-bottom:15px;
}
#content .body-copy img {
    padding: 10px 30px;
	max-height: 411px;
	max-width: 50%;
}
@media screen and (max-width: 992px){
	#content .body-copy img {
		max-width: 80%;
	}
}
@media screen and (max-width: 767px){
	#content .body-copy img {
		max-width: 100%;
	}
}
#content  .download-area h3.area-title{
	font-size:24px;
	line-height:34px;
	letter-spacing: 2.4px;
	color: #FBBA00;
	text-transform: uppercase;
	font-weight:900;
	font-family: 'Noto Sans JP', sans-serif;
	margin:20px 0 18px 0!important;
}
.sidebar-image img{
	width:calc(85% + 50px);
	position:relative;
	margin-left:-50px;
	max-width:none;
	margin-top:300px;
}
@media screen and (max-width:1500px){
	.sidebar-image img{
		width:calc(90% + 50px);
	}
}
.well.disclaimer {
	min-height: 20px;
    padding: 20px 45px;
    margin-bottom: 20px;
    background-color: #E0E0E0;
    border: 0px;
    border-radius: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.05);
}
.callout{
  font-size:30px;
  line-height:40px;
  font-family: 'Noto Serif JP', serif;
  color:#57396F;
  font-weight:700;
  border-top:1px solid #57396F;
  border-bottom:1px solid #57396F;
  padding:30px 15px 35px 15px;
  margin:50px 0;
}
@media (min-width: 1100px) {
	.navbar-default{
		display:inline-block;
		padding-top:50px;
	}
}

.container.pre-footer{
	background:#e0e0e0;
	padding:50px 100px;
	background-image: url("../img/logo-giant-trans.png");
	background-repeat: no-repeat;
	background-position: center right;
	font-size: 20px;
    line-height: 32px;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
}
.container.pre-footer a{
	color:#333;
	text-decoration:underline;
}
.container.pre-footer h2{
	font-size: 24px;
    line-height: 34px;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    font-weight: 900;
    font-family: 'Noto Sans JP', sans-serif;
    margin: 20px 0 18px 0!important;
}
@media screen and (max-width:767px){
	.inner-page-title{
		font-size:45px;
		line-height:45px;
		letter-spacing:4px;
	}
	.inner-page-title > .row{
		margin:15px 0 25px 0!important;
	}
	.inner-page-intro{
		font-size:22px;
		line-height:34px;
		margin-bottom:30px;
	}
	body{
		/*font-size:18px;
		line-height:28px;*/
	}
	.page-template-template-internal .body-header{
		padding: 40px 20px 0 20px;
	}
	.page-template-template-internal .body-container{
		padding: 80px 35px 150px 35px
	}
	.home h2{
		font-size: 46px;
		letter-spacing: 2px;
		line-height: 55px;
	}
	.home h1 {
		margin-bottom:50px;
	}
	.home #content {
		margin-top: 75px;
	}
	body.home {
		font-size:20px;
		line-height:25px;
	}
	.btn-outline {
		font-size: 17px;
		padding: 7px 11px;
		letter-spacing: 1px;
	}
	.body-content {
		padding: 40px 20px 150px 20px;
	}
	.site-footer {
		padding: 40px 20px;
		font-size: 14px;
	}
	.container.pre-footer {
		padding: 30px 35px!important;
	}
	#content .body-copy img {
		padding-left:0!important;
		padding-right:0!important;
	}
	#content .body-copy h2 {
		font-size: 26px;
		line-height: 34px;
	}
		
}
@media screen and (max-width:1500px){
	
	.container.pre-footer{
		padding:50px 50px;
		
	}
	
}
@media screen and (max-width:600px){
	.container.pre-footer{
		font-size:17px;
		line-height:24px;
	}
}
@media screen and (max-width:1199px){
	
	
}
.site-footer > .container > .row > div{
	margin-bottom:30px;
}
@media (max-width: 1099px) {
    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in{
        display:block !important;
    }
	
	.navbar-default{
		border-bottom:0;
	}
	
	.inner-page-title > .row{
	  margin:30px 0 50px 0;
	}
}
@media (max-width: 991px) {
	.navbar-header .navbar-toggle{
		margin-top:-34px;
	}
	.page-template-template-internal .body-container{
		padding-top:40px
	}
	.inner-page-title > .row{
		font-size:50px;
	}
}
@media (max-width: 768px) {
	.inner-page-title > .row{
		font-size:40px;
	}
}
@media (max-width: 470px) {
	.inner-page-title > .row{
		font-size:30px;
		line-height:35px;
	}
}

.site-footer, .body-content{
	max-width:5000px;
}

.terms-modal{
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 900px;
	max-width: 95%;
	height: 600px;
	max-height: 95%;
	background:#eee;
	z-index:9999;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
}
.terms-modal-inner{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 50px;
	overflow: auto;
}
.terms-modal-inner .terms-modal-body p{
	font-size:16px;
	line-height:24px;
	margin-bottom:15px;
}
.terms-modal-inner .terms-modal-body p:first-child{
	font-size:20px;
	line-height:24px;
}
.terms-modal-buttons{
	text-align:right;
}
.terms-modal .btn-outline{
	margin-bottom:5px;
	color:#333;	
	font-size:18px;
    padding:10px 14px;
    letter-spacing:2px;
}
.terms-modal hr{
	border-top: 1px solid #333;
}
.terms-modal .terms-modal-footer p{
	font-size:16px;
	line-height:22px;
}
.terms-modal-scrolling-inner{
	width:100%;
	max-height:50vh;
	overflow:auto;
}
@media (max-width: 830px) {
	.terms-modal{
		height: 650px;
	}
}
@media (max-width: 768px) {
	.terms-modal{
		height: 600px;
	}
	.terms-modal .btn-outline{
		font-size:16px;
		line-height:18px;
	}
	.terms-modal-inner{
		padding: 25px;
	}
	.terms-modal-inner .terms-modal-body p{
		font-size:14px;
		line-height:20px;
	}
	.terms-modal-inner .terms-modal-body p:first-child{
		font-size:15px;
		line-height:20px;
	}
	.terms-modal .terms-modal-footer p{
		font-size:14px;
		line-height:18px;
	}
}
@media (max-width: 470px) {
	.terms-modal .btn-outline{
		font-size:12px;
		line-height:16px;
	}
	.terms-modal-inner{
		padding: 25px;
	}
	.terms-modal-inner .terms-modal-body p{
		font-size:14px;
		line-height:20px;
	}
	.terms-modal-inner .terms-modal-body p:first-child{
		font-size:15px;
		line-height:20px;
	}
	.terms-modal .terms-modal-footer p{
		font-size:12px;
		line-height:18px;
	}
}
.page-template-template-blank .body-header{
	display:none;
}

.defaqto-logo {
	min-width: 150px;
	width: 50%;
	float: left;
	padding: 15px;
	max-width: 200px;
}

#portfolio-rating {
	background: #e0e0e0;
	padding: 30px;
	display: flex;
	margin-bottom: 45px;
	flex-wrap: wrap;
}
#portfolio-rating .text {
	align-self: center;
	width: 55%;
    font-weight: bold;
    font-size: 22px;
}
#portfolio-rating .logos {
	width: 45%;
	white-space: nowrap;
	text-align: right;
}
#portfolio-rating .logos img {
	float: none;
	display: inline-block;
	padding: 15px;
	max-width: 264px;
}
.terms-modal {
	font-family: 'Noto Serif JP', serif;
}
@media screen and (max-width: 1310px){
	#portfolio-rating .text {
		width: 50%;
	}
	#portfolio-rating .logos {
		width: 50%;
	}
	#portfolio-rating .text br {
		display: none;
	}
}
@media screen and (max-width: 751px){
	#portfolio-rating .text,
	#portfolio-rating .logos {
		width: 100%;
	}
	#portfolio-rating .logos {
		padding-top: 10px;
	}
}
@media screen and (max-width: 467px){
	#portfolio-rating .logos {
		white-space: normal;
		text-align: center;
	}
}
.widget-tree .nav_menu-2 {
	width: 25%;
}

.alignright {
	float: right;
}
.alignleft {
	float: left;
}

.screensize{
    position:fixed;
    top:0;
    left:0;
    color:#ff5500;
    padding:0 10px;
	z-index:9999;
	background-color:rgba(0,0,0,.5)
}
.screensize>div{
    display:inline-block;
    font-size:12px;
    font-family:Arial, Helvetica, sans-serif;
}