@charset "utf-8";
.athlete_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 0.956vw;
	grid-row-gap: 5.147vw;
}

.athlete_list .img {
	width: 20.588vw;
	height: 20.588vw;
}
.athlete_list .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.athlete_list .detail {
	margin-top: 0.735vw;
	position: relative;
}

.modaal-content-container .detail .tag_wrap span,
.athlete_list .detail .tag_wrap span {
	border: 1px solid #EBEBEB;
	border-radius: 1.103vw;
	padding: 0.368vw 1.25vw;

	font-size: 0.956vw;
	font-weight: bold;
	color: #E72410;
}

.athlete_list .detail .name_wrap {
	display: flex;
    align-items: center;
    margin-top: 0.441vw;
}
.athlete_list .detail .name_wrap.column {
	align-items: flex-start;
    flex-direction: column;
}
.athlete_list .detail .name_wrap .name {
	font-size: 1.471vw;
	font-weight: bold;
	padding-left: 0;
}
.athlete_list .detail .name_wrap .name_en {
	font-size: 0.809vw;
	letter-spacing: 0.12em;
	color: #B4B4B4;
	padding-left: 0.956vw;
}
.athlete_list .detail .name_wrap.column .name_en {
	padding-left: 0;
}
.athlete_list .detail .link_wrap {
	position: absolute;
	right: 0.515vw;
	bottom: 0.368vw;
}
.modaal-container {
    max-width: 70.588vw;
	padding: 3.676vw;
    position: relative;
}

.modaal-container .modaal-close {
    position: absolute;
}
.modaal-close:after, .modaal-close:before {
    top: 0.441vw;
    left: 1.691vw;
    width: 0.147vw;
    height: 3.676vw;
    border-radius: initial;
    background: #E72410;
}
.modaal-close:focus:after,.modaal-close:focus:before,.modaal-close:hover:after,.modaal-close:hover:before {
    background: #E72410;
}
.modaal-close:focus,.modaal-close:hover {
    background: initial;
}

.modaal-container .modaal-content-container {
	display: flex;
    height: auto;
}
.modaal-content-container {
	padding: 0;
}

.modaal-content-container .img_wrap {
	width: 27.941vw;
	height: 36.765vw;
}

.modaal-content-container .img_wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.modaal-content-container .detail {
	flex: 1;
	margin-left: 3.676vw;
}
.modaal-content-container .detail .name_wrap {
	display: flex;
	align-items: center;
	border-bottom: 1px solid #EBEBEB;
	padding-bottom: 0.735vw;
}
.modaal-content-container .detail .name_wrap.column {
	align-items: flex-start;
    flex-direction: column;
}
.modaal-content-container .detail .name {
	font-size: 1.765vw;
	font-weight: bold;
}
.modaal-content-container .detail .name_en {
	font-size: 0.882vw;
	letter-spacing: 0.12em;
	color: #E72410;
	padding-left: 0.956vw;
}
.modaal-content-container .detail .name_wrap.column .name_en {
	padding-left: 0;
}
.modaal-content-container .detail .profile_wrap {
	margin-top: 0.735vw;
    height: 29.412vw;

    margin-right: -1.875vw;
    padding-right: 1.875vw;

    overflow-y: scroll;
}
.modaal-content-container .detail .profile_wrap::-webkit-scrollbar {
    width: 0.368vw;
    background-color: #ffffff;
}
.modaal-content-container .detail .profile_wrap::-webkit-scrollbar-thumb {
    background: #EBEBEB;
    width: 0.368vw;
}
.modaal-content-container .detail .profile_wrap .competition span,
.modaal-content-container .detail .profile_wrap .affiliation span {
	font-weight: bold;
}

.modaal-content-container .detail .profile_wrap .profile {
	margin-top: 0.956vw;
    line-height: 2;
}
@media screen and (min-width: 1360px) {
	.athlete_list {
		grid-column-gap: 13px;
		grid-row-gap: 70px;
	}

	.athlete_list .img {
		width: 280px;
		height: 280px;
	}

	.athlete_list .detail {
		margin-top: 10px;
	}

	.modaal-content-container .detail .tag_wrap span,
	.athlete_list .detail .tag_wrap span {
		border-radius: 15px;
		padding: 5px 17px;

		font-size: 13px;
	}

	.athlete_list .detail .name_wrap {
	    margin-top: 6px;
	}

	.athlete_list .detail .name_wrap .name {
		font-size: 20px;
		padding-left: 0;
	}
	.athlete_list .detail .name_wrap .name_en {
		font-size: 11px;
		padding-left: 13px;
	}
	.athlete_list .detail .link_wrap {
		right: 7px;
		bottom: 5px;
	}
	.modaal-container {
	    max-width: 960px;
		padding: 50px;
	}
	.modaal-close:after, .modaal-close:before {
	    top: 6px;
	    left: 23px;
	    width: 2px;
	    height: 50px;
	}

	.modaal-content-container .img_wrap {
		width: 380px;
		height: 500px;
	}

	.modaal-content-container .detail {
		margin-left: 50px;
	}
	.modaal-content-container .detail .name_wrap {
		border-bottom: 1px solid #EBEBEB;
		padding-bottom: 10px;
	}
	.modaal-content-container .detail .name {
		font-size: 24px;
	}
	.modaal-content-container .detail .name_en {
		font-size: 12px;
		padding-left: 13px;
	}

	.modaal-content-container .detail .profile_wrap {
		margin-top: 10px;
	    height: 400px;

	    margin-right: -25.5px;
	    padding-right: 25.5px;
	}
	.modaal-content-container .detail .profile_wrap::-webkit-scrollbar {
	    width: 5px;
	}
	.modaal-content-container .detail .profile_wrap::-webkit-scrollbar-thumb {
	    width: 5px;
	}

	.modaal-content-container .detail .profile_wrap .profile {
		margin-top: 13px;
	}
}
@media screen and (max-width: 750px) {
	.athlete_list {
		display: grid;
        justify-items: center;
		grid-template-columns: repeat(1, 1fr);
		grid-column-gap: 0;
		grid-row-gap: 11.733vw;
	}

	.athlete_list .img {
		width: 74.667vw;
		height: 74.667vw;
	}

	.athlete_list .detail {
		margin-top: 2.667vw;
	}

	.modaal-content-container .detail .tag_wrap span,
	.athlete_list .detail .tag_wrap span {
		border-radius: 4vw;
		padding: 1.333vw 4.533vw;

		font-size: 3.467vw;
	}

	.athlete_list .detail .name_wrap {
	    margin-top: 1.6vw;
	}

	.athlete_list .detail .name_wrap .name {
		font-size: 5.333vw;
		padding-left: 0;
	}
	.athlete_list .detail .name_wrap .name_en {
		font-size: 3.2vw;
		padding-left: 3.467vw;
	}
	.athlete_list .detail .link_wrap {
		position: absolute;
		right: 1.867vw;
		bottom: 2.333vw;
	}

	.modaal-container {
	    max-width: 89.867vw;
		padding: 5.333vw 5.6vw 12.267vw 5.6vw;
	}
	.modaal-inner-wrapper {
		padding: 5vw;
	}
	.modaal-container .modaal-close {
	    position: absolute;
	    bottom: -1.667vw;
	    top: auto;
	    left: 35%;
	}
	.modaal-close span {
		position: relative !important;
        font-size: 0;
	}
	.modaal-container .modaal-close span:after {
	    content: "閉じる";
	    color: #000000;
	    position: absolute;
	    width: 26.667vw;
	    left: -2.333vw;
        top: -6.333vw;
	    font-size: 3.467vw;
	    font-weight: bold;
	}
	.modaal-close:after, .modaal-close:before {
	    top: 1.6vw;
	    left: 6.133vw;
	    width: 0.533vw;
	    height: 5.333vw;
	}
	.modaal-container .modaal-content-container {
		display: block;
	    height: auto;
	}
	.modaal-content-container {
	}

	.modaal-content-container .img_wrap {
		width: 78.667vw;
		height: 78.667vw;
	}

	.modaal-content-container .img_wrap img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: top;
	}
	.modaal-content-container .detail {
		margin-left: 0;
		margin-top: 4vw;

	    margin-right: -3.6vw;
	    padding-right: 3.6vw;

	    overflow-y: scroll;
	}
	.modaal-content-container .detail .name_wrap {
		padding-bottom: 2.533vw;
	}
	.modaal-content-container .detail .name {
		font-size: 5.333vw;
	}
	.modaal-content-container .detail .name_en {
		font-size: 3.2vw;
		padding-left: 3.467vw;
	}

	.modaal-content-container .detail .profile_wrap {
		margin-top: 3.867vw;
	    height: 60.267vw;

	    padding-right: 0;
	    margin-right: 0;

	    overflow-y: unset;
	}
	.modaal-content-container .detail::-webkit-scrollbar {
	    width: 1.333vw;
	    background-color: #ffffff;
	}
	.modaal-content-container .detail::-webkit-scrollbar-thumb {
	    background: #EBEBEB;
	    width: 1.333vw;
	}

	.modaal-content-container .detail .profile_wrap .profile {
		margin-top: 4vw;
		font-size: 3.733vw;
		line-height: 1.71;
	}


}