@charset "UTF-8";


/* aminovital protein
---------------------------------------- */

/*-- protein  --*/


.protein {
	font-size: 14px;
	line-height: 2;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 1px;
	color: #000;
	text-align: left;
}
.protein h1,
.protein h2,
.protein h3,
.protein h4,
.protein h5,
.protein h6 {
	font-weight: 700;
}
.protein a {
	outline: none;
	color: #222;
	text-decoration: none;
}
.protein img {
  width: 100%;
  vertical-align: middle;
  max-width: none;
}
.protein_cf {
    zoom: 1;
}
.protein_cf:before, .protein_cf:after {
    display: table;
    content: "";
}
.protein_cf:after {
    clear: both;
}

@media only screen and (max-width: 767px) {
.protein {
	font-size: min(3.47vw, 13px);
}
}



/* ----------------------------common ---------------------------- */

.protein_roboto{
	font-family: 'Roboto Condensed', sans-serif;
}
.protein_nobreak {
	display: inline-block;
}
.protein_register{
	font-size: 80%;
	vertical-align: sub;
	line-height: 1;
}
.protein_onlysp {
	display: none;
}
.protein_emphasis{
	font-weight: bold;
	color: #e60008;
}
@media only screen and (max-width: 767px) {
.protein_onlypc {
	display: none;
}
.protein_onlysp {
	display: inline;
}

}


/* ---------------------------- protein_section ---------------------------- */

.protein_section{
	padding: min(12.12vw, 160px) 0;
}
.protein_inner{
	width:  100%;
	max-width: 1320px;
	padding: 0  min(3vw, 40px);
	box-sizing: border-box;
	margin: 0 auto;
}
.protein_ttl{
	margin: 0 auto min(7.58vw, 100px);
}


@media only screen and (max-width: 767px) {
.protein_section{
	padding: 21.33vw 0;
}
.protein_inner{
	padding: 0 20px;
}
.protein_ttl{
	margin: 0 auto 13.33vw;
}

}


/* ---------------------------- protein_hero ---------------------------- */


.protein_hero{
	padding: min(8.56vw, 113px) 0 min(12.12vw, 160px);
	background: url("../images/bg_hero_pc.jpg?v=20230901") no-repeat #490104 center top/min(193.9vw, 2560px) auto;
	color: #fff;
	position: relative;
}
.protein_hero_logo{
	position: absolute;
	width: min(10.6vw, 140px);
	top: min(3vw, 40px);
	right: min(3vw, 40px);
}
.protein_hero_ttl{
	width: 38%;
	padding-left: 3.2%;
}


@media only screen and (max-width: 767px) {
	.protein_hero{
	padding: 16vw 0 21.33vw;
	background: url("../images/bg_hero_sp.jpg?v=20230901") no-repeat #8d070a center top/100% auto;
}
.protein_hero_logo{
	width: 12vw;
	top: 4vw;
	right: 4vw;
}

.protein_hero_ttl{
	width: 76.66vw;
	margin: 0 auto;
	padding-left: 1.07vw;
}
}

/* ---------------------------- protein_ec ---------------------------- */

.protein_ec{
	margin-top: min(7.58vw, 100px);
}
.protein_ec_ttl {
    text-align: center;
    margin: 0 auto;
}
.protein_ec_ttl_inner {
    display: inline-block;
	font-size: 18px;
	font-weight: 700;
    line-height: 40px;
    color: #fff;
    background: #000;
    padding: 0 20px;
    position: relative;
}
.protein_ec_ttl_inner:before,
.protein_ec_ttl_inner:after {
    content: "";
    display: inline-block;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    position: absolute;
	top: 0;
}
.protein_ec_ttl_inner:before {
    left: -12px;
    border-right: 12px solid #000;
}
.protein_ec_ttl_inner:after {
    right: -12px;
    border-left: 12px solid #000;
}
.protein_ec_list{
	display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 40px;
}
.protein_ec_item {
    width: calc(50% - 5px);
}
.protein_ec_item_link {
	box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border: min(0.6vw, 8px) solid #d0af56;
    border-radius: 80px;
    height: min(9.09vw, 120px);
    background-image: url(../images/arrow_ec.svg);
    background-repeat: no-repeat;
    background-position: top 50% right min(3.94vw, 52px);
	background-size: min(1.36vw, 18px) auto;
	transition: all .2s;
}
.protein_ec_item_link img{
	height: min(2.42vw, 32px);
	width: auto;
}
.protein_ec_item03 .protein_ec_item_link img,
.protein_ec_item04 .protein_ec_item_link img {
	height: min(1.82vw, 24px);
}

@media (hover: hover) {
.protein_ec_item_link:hover{
	border-color: #dcc380;
}
}
.protein_ec_caption{
	margin-top: 40px;
	font-size: 12px;
}

@media only screen and (max-width: 767px) {
.protein_ec{
	margin-top: 13.33vw;
}
.protein_hero .protein_ec{
	margin-top: 72.27vw;
}
.protein_ec_ttl_inner {
	font-size: 16px;
    line-height: 36px;
}
.protein_ec_ttl_inner:before,
.protein_ec_ttl_inner:after {
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
}
.protein_ec_ttl_inner:before {
    left: -11px;
    border-right: 11px solid #000;
}
.protein_ec_ttl_inner:after {
    right: -11px;
    border-left: 11px solid #000;
}
.protein_ec_list{
	display: block;
    margin-top: 25px;
}
.protein_ec_item {
    width: 100%;
}
.protein_ec_item + .protein_ec_item{
    margin-top: 10px;
}
.protein_ec_item_link {
    border: 4px solid #d0af56;
    height: 65px;
    background-position: top 50% right min(8.53vw, 32px);
	background-size: min(3.6vw, 14px) auto;
}
.protein_ec_item_link img{
	height: min(5.4vw, 21px);
}
.protein_ec_item03 .protein_ec_item_link img,
.protein_ec_item04 .protein_ec_item_link img {
	height:  min(4.27vw, 16px);
}
.protein_ec_caption{
	margin-top: 20px;
	font-size: 11px;
}

}


/* ---------------------------- protein_recommend ---------------------------- */


.protein_recommend{
	background: linear-gradient( 90deg, #0a0a0a 0%, #393939 50%, #0a0a0a 100%);
	position: relative;
	overflow: hidden;
}
.protein_recommend:after{
    content: "";
    display: inline-block;
    width: 100%;
    height: max(894px, 46.56vw);
    background: url(../images/bg_recommend_pc.png) no-repeat center center/max(1920px, 100%) auto;
    position: absolute;
	z-index: 1;
    bottom: 0;
	left: 0;

}
.protein_recommend_ttl{
	width: 81.88%;
	position: relative;
	z-index: 2;
}
.protein_recommend_img{
	position: relative;
	z-index: 2;
}


@media only screen and (max-width: 767px) {
.protein_recommend:after{
    height: 102.67vw;
    background: url(../images/bg_recommend_sp.png) no-repeat center center/100% auto;

}
.protein_recommend_ttl{
	width: 100%;
}

}

/* ---------------------------- protein_reason ---------------------------- */


.protein_reason{
	background: linear-gradient( 90deg, #c1c1c6 0%, #e7e8ec 50%, #c1c1c6 100%);
}

.protein_reason_ttl{
	width: 39.92%;
}
.protein_reason_article{
	display: flex;
	justify-content: space-between;
}
.protein_reason_article + .protein_reason_article{
	margin-top: min(7.58vw, 100px);
}
.protein_reason_article:nth-of-type(even){
	flex-direction: row-reverse;
}
.protein_reason_txt{
	width: 44.8%;
	position: relative;
	z-index: 2;
}
.protein_reason_ttl_sub_head{
	display: block;
	font-size: 48px;
	line-height: 1;
	font-style: italic;
	margin-bottom: 30px;
	position: relative;
}
.protein_reason_ttl_sub_head:after {
    width: 220px;
    height: 1px;
    content: "";
    display: inline-block;
    background: #e60008;
    position: absolute;
    left: -80px;
	top: 0;
    bottom: 0;
    margin: auto 0;
    z-index: 1;
}
.protein_reason_ttl_sub_head_inner{
	position: relative;
	z-index: 2;
}
.protein_reason_ttl_sub{
	font-size: 24px;
	line-height: 1.7;
	margin-bottom: 30px;
}
.protein_reason_item {
    padding-left: 20px;
    box-sizing: border-box;
    position: relative;
}
.protein_reason_item:before {
    content: "●";
    position: absolute;
    top: 0;
    left: 0;
    color: #999;
    transform: scale(0.4, 0.4);
}
.protein_reason_img{
	width: 45.33%;
	position: relative;
	z-index: 1;
}
.protein_reason_article:nth-of-type(odd) .protein_reason_img{
	padding-right: min(3vw, 40px);
}
.protein_reason_article:nth-of-type(even) .protein_reason_img{
	padding-left: min(3vw, 40px);
}

.protein_reason_img > picture{
	display: block;
	transform: skewX(-14deg);
	overflow: hidden;
}
.protein_reason_img > picture img{
	transform: skewX(14deg);
	width: 115.1%;
	margin: 0 -7.55%;
}
.protein_reason_img_caption{
	font-size: 12px;
	width: 115.1%;
	margin: 20px -7.55% 0;
}
@media only screen and (max-width: 767px) {
.protein_reason_ttl{
	width: 76%;
}
.protein_reason_article{
	display: block;
}
.protein_reason_article + .protein_reason_article{
	margin-top: 13.33vw;
}
.protein_reason_txt{
	width: 100%;
}
.protein_reason_ttl_sub_head{
	font-size: 32px;
	margin-bottom: 20px;
}
.protein_reason_ttl_sub_head:after {
    width: 110px;
    left: -40px;
}
.protein_reason_ttl_sub{
	font-size: 18px;
	margin-bottom: 20px;
}
.protein_reason_item {
    padding-left: 15px;
}
.protein_reason_img{
	width: 86.88%;
	margin: 30px auto 0;
}
.protein_reason_article:nth-of-type(odd) .protein_reason_img{
	padding-right:0;
}
.protein_reason_article:nth-of-type(even) .protein_reason_img{
	padding-left: 0;
}

.protein_reason_img_caption{
	font-size: 11px;
	margin-top: 15px;
}
}




/* ---------------------------- protein_athlete ---------------------------- */

.protein_athlete{
	background: linear-gradient( 90deg, #0a0a0a 0%, #393939 50%, #0a0a0a 100%);
	color: #fff;
}
.protein_athlete_ttl{
	width: 63.2%;
}
.protein_athlete_article{
	position: relative;
	z-index: 2;
}
.protein_athlete_article + .protein_athlete_article{
	margin-top: min(7.58vw, 100px);
}
.protein_athlete_article01 .protein_inner{
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.protein_athlete_article01_txt{
	width: 44.8%;
}
.protein_athlete_article01_ttl {
    font-size: 24px;
    line-height: 1.7;
    margin-bottom: 20px;
}
.protein_athlete_article01_list{
	margin-top: 30px;
}
.protein_athlete_article01_item + .protein_athlete_article01_item{
	margin-top: 20px;
}
.protein_athlete_article01_list + p{
	margin-top: 20px;
}
.protein_article01_img{
	width: 45.33%;
	padding-right: min(3vw, 40px);
}
.protein_article01_img > figure{
	display: block;
    transform: skewX(-14deg);
    overflow: hidden;
}
.protein_article01_img img {
    transform: skewX(14deg);
    width: 115.1%;
    margin: 0 -7.55%;
}
.protein_athlete_article02{
	position: relative;
}
.protein_athlete_article02:after{
    content: "";
    display: inline-block;
    width: 100%;
    height: max(1317px, 68.59vw);
    background: url("../images/bg_athlete_pc.png") no-repeat center center/max(1920px, 100%) auto;
    position: absolute;
	z-index: 1;
    top: -357px;
	left: 0;
}
.protein_athlete_article02_ttl{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: min(4.05vw, 60px);
	text-align: center;
	position: relative;
	z-index: 2;
}
.protein_athlete_article02_ttl_inner{
	font-size: 24px;
	line-height: 1.7;
	padding-bottom: 10px;
}
.protein_athlete_article02_ttl:before, .protein_athlete_article02_ttl:after {
    width: 44px;
    height: 57px;
    content: "";
    display: inline-block;
    background: url("../images/line_ttl.svg") transparent no-repeat center center/contain;
}
.protein_athlete_article02_ttl:before {
    margin-right: 30px;
}
.protein_athlete_article02_ttl:after {
    margin-left: 30px;
	transform: scale(-1, 1);
}
.protein_athlete_article02_list{
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
.protein_athlete_article02_item{
	width: 45.33%;
}
.protein_athlete_article02_item:nth-child(odd){
	padding-left: min(3vw, 40px);
}
.protein_athlete_article02_item:nth-child(even){
	padding-right: min(3vw, 40px);
}
.protein_movie_link{
	display: block;
    transform: skewX(-14deg);
    overflow: hidden;
	position: relative;
	background: #000;
}
.protein_movie_link:before {
    content: "";
    display: inline-block;
    background: url(../images/ico_play.svg) no-repeat center center/contain;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 1;
    width: 85px;
    height: 85px;
	transform: skewX(14deg);
}
.protein_movie_link .protein_movie_link_img{
	transform: skewX(14deg);
    width: 115.1%;
    margin: 0 -7.55%;
	opacity: 0.8;
	transition: all .2s;
}
@media (hover: hover) {
.protein_movie_link:hover .protein_movie_link_img{
	opacity: 1;
}
}
.protein_athlete_article02_ttl_sub{
	margin: 20px 0 0 -7.55%;
	padding-right: 15.1%;
	box-sizing: border-box;
}
.protein_athlete_article03_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 min(3vw, 40px);
	box-sizing: border-box;
}
.protein_athlete_article03_item{
	width: 18.9%;
}
.protein_article03_img{
    transform: skewX(-14deg);
    overflow: hidden;
}
.protein_article03_img img{
	transform: skewX(14deg);
    width: 125.5%;
    margin: 0 -12.75%;
}
.protein_article03_txt{
	margin: 20px 0 0 -12.75%;
	padding-right: 25.5%;
	box-sizing: border-box;
}

@media only screen and (max-width: 767px) {
.protein_athlete_ttl{
	width: 71.3%;
}
.protein_athlete_article + .protein_athlete_article{
	margin-top: 13.33vw;
}
.protein_athlete_article01 .protein_inner{
	display: block;
}
.protein_athlete_article01_txt{
	width: 100%;
	margin-top: 30px;
}
.protein_athlete_article01_ttl {
    font-size: 18px;
    margin-bottom: 15px;
}
.protein_athlete_article01_list{
	margin-top: 20px;
}
.protein_athlete_article01_item + .protein_athlete_article01_item{
	margin-top: 15px;
}
.protein_athlete_article01_list + p{
	margin-top: 15px;
}
.protein_article01_img{
	width: 86.88%;
	padding-right: 0;
	margin: 0 auto;
}
.protein_athlete_article02:after{
    height: 142.66vw;
    background: url("../images/bg_athlete_sp.png") no-repeat center center/100% auto;
    top: -10vw;
}
.protein_athlete_article02_ttl{
    margin-bottom: 20px;
}
.protein_athlete_article02_ttl_inner{
	font-size: 18px;
	padding-bottom: 10px;
}
.protein_athlete_article02_ttl:before, .protein_athlete_article02_ttl:after {
    width: 29px;
    height: 38px;
}
.protein_athlete_article02_ttl:before {
    margin-right: 20px;
}
.protein_athlete_article02_ttl:after {
    margin-left: 20px;
}
.protein_athlete_article02_list{
	display: block;
}
.protein_athlete_article02_item{
	width: 86.88%;
	margin: 0 auto;
}
.protein_athlete_article02_item + .protein_athlete_article02_item{
	margin-top: 30px;
}
.protein_athlete_article02_item:nth-child(odd){
	padding-left: 0;
}
.protein_athlete_article02_item:nth-child(even){
	padding-right: 0;
}
.protein_movie_link:before {
    width: 17vw;
    height: 17vw;
}
.protein_athlete_article02_ttl_sub{
	margin: 15px 0 0 -7.55%;
}
.protein_athlete_article03_list{
	padding: 0 20px;
}
.protein_athlete_article03_item{
	width: 48%;
}
.protein_athlete_article03_item:nth-child(n+3){
	margin-top: 20px;
}
.protein_article03_txt{
	margin: 15px 0 0 -12.75%;
	padding-right: 12.75%;
}
.protein_athlete_article03_item:nth-child(even) .protein_article03_txt{
	padding-right: 0%;
}

.protein_article03_txt p{
	letter-spacing: 0.5px;
}


}

/* ---------------------------- protein_info ---------------------------- */


.protein_info{
	background: url("../images/bg_info_pc.jpg") no-repeat #500404 center top/min(193.9vw, 2560px) auto;
	color: #fff;
}
.protein_info_ttl{
	font-size: min(2.72vw, 36px);
	line-height: 1.7;
	text-align: center;
	margin-bottom: min(7.58vw, 100px);
}
.protein_info_article01_list{
	width: 80%;
	display: flex;
	justify-content: space-between;
	padding-top: min(26.72vw, 358px);
	margin: 0 auto;
}
.protein_info_article01_item{
	width: 45%;
	text-align: center;
}
.protein_info_btn{
	margin-top: 30px;
}
.protein_info_btn .protein_info_btn_link {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    line-height: 1.35;
    padding: 20px 40px 20px 50px;
    border: 1px solid #fff;
    border-radius: 9999px;
    transition: all 0.2s;
}
.protein_info_btn_link:after {
    content: "";
    display: inline-block;
    width: 18px;
    height: 14px;
    background: url("../images/arrow_btn.svg") no-repeat center center/contain;
    margin-left: 15px;
}
@media (hover: hover) {
.protein_info_btn .protein_info_btn_link:hover{
	color: #000;
	background: #fff;
}
.protein_info_btn .protein_info_btn_link:hover:after{
	background-image: url("../images/arrow_btn_hover.svg");
}

}
.protein_info_article02{
	margin-top: min(7.58vw, 100px);
	border: 1px solid #fff;
	padding: min(3vw, 40px);
	box-sizing: border-box;
}
.protein_info_article02_list + .protein_info_article02_ttl{
	margin-top: 30px;
}
.protein_info_article02_item {
    padding-left: 20px;
    box-sizing: border-box;
    position: relative;
}
.protein_info_article02_item:before {
    content: "●";
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    transform: scale(0.4, 0.4);
}

@media only screen and (max-width: 767px) {

.protein_info{
	background: url("../images/bg_info_sp.jpg") no-repeat #880508 center top/100% auto;
}
.protein_info_ttl{
	font-size: 6.4vw;
	margin-bottom: 7.5vw;
}
.protein_info_article01_list{
	width: 100%;
	padding-top: 37.33vw;
}
.protein_info_article01_ttl{
	font-size: 11px;
}
.protein_info_btn{
	margin-top: 20px;
}
.protein_info_btn .protein_info_btn_link {
   padding: 12px 20px 12px 25px;
}
.protein_info_btn_link:after {
   width: 13px;
    height: 10px;
    margin-left: 10px;
}

.protein_info_article02{
	margin-top: 13.33vw;
	padding: 20px;
}
.protein_info_article02_list + .protein_info_article02_ttl{
	margin-top: 20px;
}
.protein_info_article02_item {
    padding-left: 15px;
}


}


/* ---------------------------- protein_aside ---------------------------- */

.protein_aside{
	background: #f7f7fc;
}
.protein_aside_bnr{
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
}
.protein_aside_bnr_link {
	transition: all .2s;
}

@media (hover: hover) {
.protein_aside_bnr_link:hover{
	opacity: 0.8;
}
}
.protein_aside_search{
	margin-top: min(6.06vw, 80px);
	padding-top: min(6.06vw, 80px);
	position: relative;
}
.protein_aside_search:before{
    content: "";
    display: inline-block;
	width: 50px;
	height: 2px;
	background: #d0af56;
    position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;

}
.protein_aside_search_ttl{
	font-size: 18px;
	line-height: 1.7;
}
.protein_aside_search_list{
	display:  flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 40px;
}
.protein_aside_search_item{
	width: calc(33.33% - 7px);
}
.protein_aside_search_item .protein_aside_search_item_link{
	box-sizing: border-box;
	padding: min(3vw, 40px);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #1d2767;
    border-radius: 10px;
	font-size:  min(1.36vw, 18px);
	font-weight: 700;
	text-align: center;
	line-height: 1.7;
	color: #fff;
    min-height: min(10.6vw, 140px);
    background-image: url(../images/arrow_btn.svg);
    background-repeat: no-repeat;
    background-position: bottom min(2.27vw, 30px) right min(2.27vw, 30px);
    background-size: min(1.36vw, 18px) auto;
    transition: all .2s;
}
@media (hover: hover) {
.protein_aside_search_item .protein_aside_search_item_link:hover{
	background-color: #293789;
}
}
.protein_aside_search_item_inner{
		margin-top: -10px;
}
.protein_aside_search_item_underline{
	padding-bottom: 10px;
	display: inline;
	background: linear-gradient(transparent calc(100% - 1px), #fff calc(100% - 1px),  #fff 100%);
}
.protein_aside_search_item_emphasis{
	font-size:  min(1.82vw, 24px);
	color: #e0c068;
}

@media only screen and (max-width: 767px) {

.protein_aside_search{
	margin-top: 40px;
	padding-top: 40px;
}
.protein_aside_search_ttl{
	font-size: 16px;
}
.protein_aside_search_list{
	margin-top: 20px;
}
.protein_aside_search_item .protein_aside_search_item_link{
	padding: 3.2vw;
    border-radius: 5px;
	font-size:  min(3.47vw, 13px);
    height: 28vw;
    background-position: bottom min(4vw, 15px) right min(4vw, 15px);
    background-size: min(3.47vw, 13px) auto;
}
.protein_aside_search_item_inner{
		margin-top: -12px;
}
.protein_aside_search_item_underline{
	padding-bottom: 3px;
}
.protein_aside_search_item_emphasis{
	font-size:  min(4.27vw, 16px);
}
}

/* ----------------------------protein_modal ---------------------------- */

.protein_modal_movie{
	width: 100%;
	max-width: 880px;
	position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.protein_modal_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
