/*======================-
second
======================-*/.s-header-secondinner {
	background-image: url(/tokyo2020/tokyo2020_images/second/pc_header_back.png);
	margin-top: 80px;
}

.s-header-secondinner img {
	display: block;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
}

.s-main-block__first {
	margin-top: 0;
	position: relative;
}

.s-main-block__first img {
	height: 100%;
	width: 100%;
}

.s-sp_globalnavigation {
	display: none;
}

.s-sp-langlink {
	display: none;
}

.s-second--main__caption {
	background: rgba(0, 0, 0, .5);
	border: 1px solid #fff;
	bottom: 0;
	color: #fff;
	left: 0;
	margin: auto;
	max-height: 220px;
	padding: 0 30px;
	position: absolute;
	right: 0;
	top: 0;
	width: 590px;
	display: flex;
	flex-flow: column;
	justify-content: center;
}
#promotion .s-second--main__caption,
#promotionEn .s-second--main__caption,
#movie .s-second--main__caption,
#movieEn .s-second--main__caption {
	max-height: 180px;
}

.s-second--main__caption__label {
	font-size: 4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}

.s-second--main__caption__lead {
	font-size: 1.8rem;
	line-height: 1.5;
	text-align: center;
	margin-top: 2.5%
}
.s-second--main__caption__leadcenter {
	font-size: 1.8rem;
	line-height: 1.5;
	text-align: center;
	margin-top: 2.5%
}
.s-second--main__caption__lead .caption__lead__inner {
	display: block;
  margin-bottom: 28px;
}
.s-second--main__joc {
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
}

.s-second--main__joc .joc_logo {
	position: absolute;
	right: 20px;
	bottom: 60px;
	display: block;
}

.s-second--main__joc .joc_logo img {
	width: auto;
	height: auto;
}

.s-action_bnr {
	display: block;
	margin-right: 35px;
	text-align: right;
}

.athnavi .wrap-inner {
	max-width: 1280px;
}

.athnavi {
	background-color: #fff !important;
}

.athnavi .l-countdown-2020__inner--tokyo {
	line-height: 1;
}

.athnavi #contents {
	padding-top: 60px;
}

.athnavi #contents .contents-top .main-contents {
	padding-left: 50px;
	padding-right: 50px;
	width: 100%;
}

.athnavi .p-actions--read {
	font-size: 3.2rem;
}

.athnavi .l-contentsbox {
	padding-bottom: 30px;
}

.athnavi .l-contentsbox .wrap-inner {
	text-align: center;
}

.athnavi .l-contentsbox .wrap-inner .profile-nav {
	display: inline-block;
	float: none;
	margin-right: 50px;
}

.athnavi .l-contentsbox .wrap-inner .profile-nav:last-child {
	margin-right: 0px;
}

.athnavi .profile-area .c-btn {
	line-height: 1;
}

.athnavi .ana-athlete + .ana-athlete{
	margin-top: 0;
}

.athnavi .profile-nav {
	background-color: #e7e8ec;
	margin-right: 1%;
	display: flex;
}
.athnavi .ana-athlete .profile-nav {
	width: 33.333%;
	max-width: 220px;
	background-color: transparent;
}


.athnavi .profile-nav a {
	display: block;
	border: 1px solid #002063;
	display: flex;
	flex-direction: column;
	width: 100%
}
.athnavi .ana-athlete .profile-nav a {
	background-color: #e7e8ec;
}

.athnavi .profile-nav .profile-nav-photo img {
	height: auto;
	width: 100%;
}

.athnavi .profile-nav .profile-nav-bg {
	border: 1px solid #002063;
}

.athnavi .profile-nav .profile-nav-bg a {
	background-color: #e7e8ec;
	display: block;
	overflow: hidden;
}

.athnavi .profile-nav .profile-nav-text {
	background: #e7e8ec url(/tokyo2020/images/bg_navicon_blue.png) no-repeat right 10% bottom 50%;
	border-top: 1px solid #002063;
	margin-top: 0;
	padding: 10px 35px 10px 15px;
	text-align: left;
	word-break: break-word;
}

.athnavi .profile-nav a:hover .profile-nav-photo,
.athnavi .profile-nav a:focus .profile-nav-photo {
	filter: alpha(opacity=70);
	-moz-opacity: .7;
	opacity: .7;
	-webkit-transition: .3s;
	transition: .3s;
}

.athnavi .profile-nav a:hover .profile-nav-photo img,
.athnavi .profile-nav a:focus .profile-nav-photo img {
	filter: alpha(opacity=100);
	-moz-opacity: .7;
	opacity: 1;
	-webkit-transition: 0;
	transition: 0;
}

.athnavi .profile-nav .thanks {
	padding: 10px 15px;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: left;
	background-color: #fff;
}

.athnavi footer {
	padding-bottom: 0;
	padding-top: 0;
}

#athnaviEn .profile-area {
	margin-bottom: 30px;
}

#athnaviEn .l-back__gray .profile-nav-text {
	background-image: none;
}

.flex-width {
	background-image: none;
	border: 0;
	width: 28%;
}

#vision .c-h2heading.c-h2heading--blue {
	font-size: 3.2rem;
}

.l-back--air--en .p-back--air__bold {
	font-size: 2.1rem;
	margin-bottom: 0;
	padding-bottom: 20px;
}

.message {
	background-color: #fff !important;
}

.message .contents-top {
	max-width: 1280px;
	padding-top: 40px;
}

.message .contents-top .main-contents {
	margin-bottom: 20px;
	padding: 0 100px;
	width: 100%;
}

.message .contents-top .main-contents .page-subttl {
	color: #000052;
}

.message .contents-top .main-contents li:first-child .page-subttl {
	margin-top: 0;
}

.message .l-countdown-2020__inner {
	line-height: 1;
}

.message footer {
	padding-bottom: 0;
	padding-top: 0;
}

.c-btn-csr {
	margin-top: 30px;
	text-align: right;
}

.drawer-nav, .p-header-globalnavigation {
	line-height: 1;
}

.s-athnavi-flexbox {
	display: flex;
	justify-content: center;
}

.s-athnavi-flexbox li {

}

.s-athnavi-flexbox li:first-child {
	margin-right: 0;
}

.s-athnavi-flexbox li:nth-child(2) {
	margin-left: 40px;
	margin-right: 40px;
}

.s-athnavi-flexbox-modifier {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.s-athnavi-flexbox-modifier li {
	margin: 1%;
	margin: .5%;
	margin-right: 0;
	padding: 0;
}

.s-athnavi-flexbox-modifier--inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}

.s-athnavi-flexbox-modifier--inner li {
	margin: 1%;
	margin-right: 0;
	padding: 0;
	width: 16%;
	margin-top: 16px;
}

.s-athnavi-flexbox-modifier--inner__item.is-empty {
	border: none;
	height: 0;
	margin-bottom: 0;
	margin-top: 0;
	padding-bottom: 0;
	padding-top: 0;
}

.s-profile-nav-text {
	background: #e7e8ec url(/tokyo2020/images/bg_navicon_blue.png) no-repeat right 10% bottom 50%;
	border-top: 1px solid #002063;
	margin-top: 0;
	padding: 10px 25px 10px 15px;
	text-align: left;
	word-break: break-word;
}

.athnavi #contents .contents-top .main-contents {
	padding-left: 0;
	padding-right: 0;
}

.athnavi .profile-nav {
	margin-right: 0;
}

.wrap-inner {
	padding: 0;
}
.page-subttl {
    font-size: 2.4rem;
    line-height: 1.3 !important;
    border-bottom: 1px solid #88abe2;
    padding-bottom: 3px;
    margin-top: 160px
    }

.media-wrap  {
    margin-top: 25px;
    }

.box-wrap.block .box {
    width: 100%;
}

.box-wrap.block .box .move-wrap {
   display: flex;
   flex-direction: row;
   margin-top: 25px;
}

.box-wrap.block3 {
    width: 101.5%;
    margin-left: -1.5%;
    }
 .box-wrap .box a {
    display: block;
    text-decoration: none;
    }

.box-wrap .box img {
    width: 100%;
    max-width: none;
    }

.box-wrap.block3 .box {
    width: 31.83333333%;
    margin-left: 1.5%;
    margin-top: 2%;
    }

.wrap-inner {
    min-width: 980px;
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 10px;
}

/*======================-
@media (max-width: 1024px)
======================-*/
@media (max-width: 1024px){

  .s-second--main__caption {
    width: 690px;
  }
}

/*======================-
media
@media (max-width: 768px)
======================-*/
@media (max-width: 979px) and (min-width: 571px) {
	.athnavi .profile-nav {
		margin-right: 1%;
	}
}




@media (max-width: 768px) {

	.s-main-block__first {
		margin-top: 0;
	}

	.s-sp_globalnavigation {
		display: block;
		padding: 20px 0;
		text-align: center;
	}

	.s-sp_globalnavigation__item {
		border-right: 1px solid #fff;
		display: inline-block;
		margin-bottom: 10px;
		padding: 0 10px;
	}

	.s-sp_globalnavigation__item:last-child {
		border-right: none;
	}

	.s-sp_globalnavigation__item a {
		color: #fff;
		font-size: 1.6rem;
		text-decoration: none;
	}

	.s-sp-langlink {
		display: block;
		margin-bottom: 20px;
	}

	.s-second--main__caption {
		height: 100%;
		margin: auto 20px;
		padding: 0 20px;
		width: auto;
	}

	.s-second--main__caption__label {
		font-size: 3rem;
	}

	.s-second--main__joc .joc_logo {
		position:relative;
		text-align: center;
		right: 0;
		bottom: -40px;
	}

	.s-action_bnr {
		margin-right: 0;
		text-align: center;
	}

	.athnavi #contents {
		padding-top: 30px;
	}

	.athnavi #contents .contents-top .main-contents {
		padding-bottom: 0px;
		padding-left: 10px;
		padding-right: 10px;
	}

	.athnavi #contents .contents-top .main-contents .profile-area {
		margin-top: 0;
	}

	.athnavi .p-actions--read {
		font-size: 2.4rem;
	}

	.athnavi .l-contentsbox .wrap-inner .profile-nav {
		margin-right: 3px;
		width: 31.33%;
	}

	.athnavi .profile-area {
		margin-bottom: 20px;
	}

	.athnavi .profile-nav {
		width: 31.33%;
	}
	.athnavi .ana-athlete .profile-nav .thanks {
		margin-top: 5px;
		padding: 5px 8px;
		font-size: 1.2rem;
	}

	.athnavi .profile-nav .profile-nav-text {
		background-image: none;
		font-size: 1.2rem;
		padding: 5px 2px 5px 8px;
	}


	.athnavi .s-second--main__caption__label {
		font-size: 2.4rem;
		margin-bottom: 10px;
	}

	.athnavi .s-second--main__caption {
		max-height: 190px;
	}

	#athnaviEn .s-second--main__caption {
		max-height: 100px;
	}

	#movieEn .s-second--main__caption {
		max-height: 120px;
	}

	.message .contents-top {
		max-width: 100%;
	}

	.message .contents-top .main-contents {
		padding: 0;
	}

	.c-btn-csr {
		text-align: center;
	}

	.s-second--main__caption__lead {
		font-size: 1.4rem;
		text-align: left;
	}

	.s-second--main__caption__leadcenter {
		font-size: 1.4rem;
	}

	.s-athnavi-flexbox li:nth-child(2) {
		margin-left: 20px;
		margin-right: 20px;
	}

	.s-profile-nav-text {
		background: none;
		font-size: 1.2rem;
		padding: 5px 2px 5px 8px;
	}

	.athnavi #contents .contents-top .main-contents {
		padding-left: 0;
		padding-right: 0;
	}

	.wrap-inner {
       min-width: 0;
       max-width: none;
       width: 100%;
    }

   .box-wrap.block3 .box {
       width: 31.8%;
       margin-left: 1.5%;
    }

    .box-wrap.block .box .move-wrap {
    	flex-direction: column;
    }

    .page-subttl {
    	margin-top: 60px;
    }
	#vision .c-headinglead {
		text-align: left;
	}

	#vision .c-h2heading.c-h2heading--blue {
		padding: 40px 20px;
		text-align: left;
	}

	#vision .c-h3heading {
		text-align: left;
	}
}

/*======================-
media
@media (max-width: 570px) and (min-width: 0px)
======================-*/

@media (max-width: 570px) and (min-width: 0px) {
.box-wrap.block3.block-xs-1 .box {
       width: 100%;
       margin-left: 0;
}
	#vision .c-h3heading {
		font-size: 4.5vw;
	}

}


/*======================-
ATHLETE
======================-*/

#tokyo2020Wrap {
    background-color: #224987;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.6;
}

.pc_only {
    display: block;
}

.sp_only {
    display: none;
}

.profile-box {
    margin-top: 30px;
}

.profile-nav {
    float: left;
    max-width: 20%;
    margin-top: 16px;
    margin-right: 16px;
}
.profile-nav a {
    text-decoration: none;
}

.profile-box .profile-inner {
    display: block;
}

.profile-box .photo, .profile-box .comment {
    float: right;
    width: 39.77011494%;
}

.profile-box .profile {
    float: left;
    width: 60.22988506%;
    padding-right: 30px;
}

.profile-box .subttl {
    border: #45c7ff 1px solid;
    color: #45c7ff;
    padding: 6px 10px 4px;
    line-height: 1.3;
    margin-top: 40px;
}

.profile-box .name-box {
    border-bottom: #2FB0E8 3px solid;
    display: table;
    word-spacing: -1em;
    width: 100%;
    padding-bottom: 10px;
}

.profile-box .name-box .name strong {
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: normal;
    display: inline-block;
    padding-right: .5em;
}

.profile-box .name-box .year {
    font-size: 24px;
    font-size: 2.4rem;
    padding-right: 1em;
}

.profile-box .name-box .name, .profile-box .name-box .year {
    display: inline-block;
    word-spacing: normal;
    vertical-align: middle;
    line-height: 1.3;
}

.profile-box .comment {
    background: #2fb0e8;
    position: relative;
    padding: 2.5% 2%;
    margin-top: 18px;
}

.profile-box .comment p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
}

.profile-box .comment .ttl {
    font-size: 20px;
    font-size: 2.0rem;
}

.profile-box .comment:before {
    content: "";
    position: absolute;
    top: -16px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 12px 16px 12px;
    border-color: transparent transparent #2fb0e8 transparent;
    margin-left: -12px;
}

.profile-box dl {
    margin-top: 10px;
}

.profile-box .data dt {
    width: 6.5em;
    color: #45c7ff;
}

.profile-box .data dt:after {
    content: ":";
    float: right;
    color: #45c7ff;
}

.profile-box dl dt {
    clear: both;
    float: left;
    padding-top: 10px;
    line-height: 1.3;
}

.profile-box dl dt, .profile-box dl dd {
    overflow: hidden;
    padding: 10px 5px 0 0;
    line-height: 1.8;
}

.athnavi .ana-athlete .profile-nav {
    width: 33.333%;
    max-width: 220px;
    background-color: transparent;
}

.marginT {
    margin-top: 30px;
}

.box-wrap {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    align-items: flex-start;
}


/*======================-
@media (max-width: 1024px)
======================-*/

@media (max-width: 1024px){

.wrap-inner {
    min-width: 0;
    max-width: none;
    width: 100%;
}

.profile-box .profile {
    float: left;
    padding-right: 30px;
}

.profile-box .comment {
    margin-top: 0;
    clear: both;
    float: none;
    width: 100%;
}

.profile-box .name-box .year {
    font-size: 20px;
    font-size: 2.0rem;
    padding-right: 1em;
}

.profile-box .name-box .name {
    font-size: 20px;
    font-size: 2.0rem;
}

.profile-box .data {
    min-height: 150px;
}

.profile-box .subttl, .profile-box .history {
    width: 164%;
    margin-right: -64%;
}

.profile-box .history {
    padding-bottom: 30px;
}

.profile-box .comment {
    clear: both;
}

.contents-top {
    padding-top: 16px;
}

.profile-box .photo, .profile-box .comment {
    float: right;
}

.contents-top, .contents-btm {
    width: 100%;
}

  .profile-box .comment:before {
        display: none
    }

}

/*======================-
@media (max-width: 979px) and (min-width: 571px)
======================-*/
@media (max-width: 979px){
.profile-nav {
    max-width: 33.333%;
    margin-top: 16px;
    margin-right: 12px;
}
}

/*======================-
@media (max-width: 570px) and (min-width: 0px)
======================-*/

@media (max-width: 570px) and (min-width: 0px){

.sp_only {
    display: block;
}


.profile-box .profile {
    float: none;
    width: 100%;
    padding-right: 0;
}

.profile-box .photo {
    text-align: center;
}

.profile-box .photo, .profile-box .comment {
    float: none;
    width: 100%;
}

.profile-box .history {
    font-size: 12px;
    font-size: 1.2rem;
}

.profile-box .data {
    min-height: 0;
}

.profile-box .subttl, .profile-box .history {
    width: 100%;
    margin-right: 0;
}

.profile-box dl dt, .profile-box dl dd {
    padding-top: 5px;
}

.profile-box .name-box {
    margin-top: 20px;
}

.profile-box .name-box .year {
    font-size: 18px;
    font-size: 1.8rem;
    padding-right: 1em;
}

.profile-box .name-box .name {
    font-size: 18px;
    font-size: 1.8rem;
}

.pc_only {
    display: none;
}
}
