@charset "utf-8";
/*------------------------------------------------------------
[SP]
------------------------------------------------------------ */


/*------------------------------------------------------------
[SP] mainvisual
------------------------------------------------------------ */
.mainvisual {
	margin: 0;
	padding-top: 52.8vw;
	background: url(../img/company/top_mv_sp.webp) no-repeat 0 0;
	background-size: 100vw auto;
}

.no-webp .mainvisual {
	background: url(../img/company/top_mv_sp.jpg) no-repeat 0 0;
	background-size: 100vw auto;
}

/*------------------------------------------------------------
[SP] softdrink information
------------------------------------------------------------ */
.softdrink_info {
	padding: 6.4vw 0;
}

.softdrink_info #news {
	margin: 0 4vw;
}

.softdrink_info #news h2 {
	margin: 0 0 4.8vw;
	padding-bottom: 2.666666667vw;
	font-size: 4.8vw;
	font-weight: bold;
	line-height: 1;
	color: #1E798F;
	border-bottom: 0.266666666666667vw #5BC2DC solid;
	position: relative;
}

.softdrink_info #news h2::before {
	content: '';
	width: 40vw;
	height: 0.533333333333333vw;
	background: #5bc2dc;
	position: absolute;
	bottom: -0.533333333333333vw;
	left: 0;
}

.softdrink_info #news ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.softdrink_info #news li {
	padding: 0;
	margin-bottom: 3.2vw;
	font-size: 3.733333333333333vw;
	font-weight: 500;
}

.softdrink_info #news li a {
	padding: 0 3.2vw 0 0;
	margin: 0;
	color: #000;
	text-decoration: none;
	position: relative;
}

.softdrink_info #news li a::after {
	content: '';
	display: inline-block;
	position: absolute;
	width: 3.2vw;
	height: 4vw;
	background: url(/softdrink/common2021/img/svg/arrow_right_blue.svg) no-repeat right bottom / 1.866666667vw;
	bottom: 0.8vw;
}

/*------------------------------------------------------------
[SP] news
------------------------------------------------------------ */
.news {
	margin-bottom: 12vw;
}

.news h2 {
	margin: 0 4vw 4.8vw;
	padding-bottom: 2.666666667vw;
	font-size: 4.8vw;
	font-weight: bold;
	line-height: 1;
	color: #1E798F;
	border-bottom: 0.266666666666667vw #5BC2DC solid;
	position: relative;
}

.news h2::before {
	content: '';
	width: 40vw;
	height: 0.533333333333333vw;
	background: #5bc2dc;
	position: absolute;
	bottom: -0.533333333333333vw;
	left: 0;
}

.news dl {
	margin: 0 4vw;
}

.news dt {
	font-size: 3.733333333vw;
	font-weight: 500;
	color: #1E798F;
	position: relative;
	padding-left: 4.8vw;
	margin-bottom: 1.6vw;
}

.news dt::before {
	content: '';
	display: block;
	width: 2.666666666666667vw;
	height: 0.266666666666667vw;
	background: #3995AC;
	position: absolute;
	top: calc(50% - 0.133333333333333vw);
	left: 0;
}

.news dd {
	margin-bottom: 4vw;
	font-size: 3.733333333333333vw;
	font-weight: 500;
	line-height: 1.5;
}

.news dd a {
	color: #000;
	text-decoration: none;
}

.news .btn_list {
	width: 25.6vw;
	margin: 0 auto;
}

.news .btn_list a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 3.2vw 1.6vw 3.2vw 0;
	font-size: 3.733333333333333vw;
	color: #000;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	border: 1px #298AA2 solid;
	border-radius: 5.2vw;
	background: #fff url(../img/svg/arrow_right_blue.svg) no-repeat right 2.666666667vw center;
	background-size: auto 3.2vw;
}

/*------------------------------------------------------------
[SP] menu_primary
------------------------------------------------------------ */
.menu_primary {
	margin: 0 4vw;
}

.menu_primary a {
	width: 92vw;
	height: 56vw;
	display: block;
	position: relative;
}

.menu_primary .message,
.menu_primary .investor,
.menu_primary .sustainability {
	margin-bottom: 12vw;
}

.menu_primary .message a {
	background: url(../img/company/top_ceo_ono24_sp.webp) no-repeat 0 0;
	background-size: 92vw 56vw;
}

.no-webp .menu_primary .message a {
	background: url(../img/company/top_ceo_ono24_sp.jpg) no-repeat 0 0;
	background-size: 92vw 56vw;
}

.menu_primary .investor a {
	background: url(../img/company/top_ir_sp.webp) no-repeat 0 0;
	background-size: 92vw 56vw;
}

.no-webp .menu_primary .investor a {
	background: url(../img/company/top_ir_sp.jpg) no-repeat 0 0;
	background-size: 92vw 56vw;
}

.menu_primary .sustainability a {
	background: url(../img/company/top_sas_sp.webp) no-repeat 0 0;
	background-size: 92vw 56vw;
}

.no-webp .menu_primary .sustainability a {
	background: url(../img/company/top_sas_sp.jpg) no-repeat 0 0;
	background-size: 92vw 56vw;
}

.menu_primary a h2 {
	width: 92vw;
	height: 16vw;
	font-size: 4.8vw;
	font-weight: bold;
	text-decoration: none;
	color: #000;
	display: flex;
	align-items: center;
	padding-left: 8vw;
	background: rgba(255, 255, 255, .85);
	position: absolute;
	bottom: 0;
}

.menu_primary a h2 span {
	background: url(../img/svg/arrow_right_blue.svg) no-repeat right center;
	background-size: 2.4vw 4.266666666666667vw;
	padding-right: 5.6vw;
}

/*------------------------------------------------------------
[SP] menu_company
------------------------------------------------------------ */
.menu_company {
	margin: 0 4vw 16vw;
	width: 92vw;
	height: 96.8vw;
	background: url(../img/company/top_kigyou_sp.webp) no-repeat 0 0;
	background-size: 92vw 96.8vw;
}

.no-webp .menu_company {
	background: url(../img/company/top_kigyou_sp.jpg) no-repeat 0 0;
	background-size: 92vw 96.8vw;
}

.menu_company h2 a {
	width: 92vw;
	height: 16vw;
	display: flex;
	align-items: center;
	font-size: 4.8vw;
	font-weight: bold;
	color: #000;
	text-decoration: none;
	background: rgba(255, 255, 255, .85);
	padding-left: 8vw;
}

.menu_company h2 a span {
	background: url(../img/svg/arrow_right_blue.svg) no-repeat right center;
	background-size: 2.4vw 4.266666666666667vw;
	padding-right: 5.6vw;
}

.menu_company ul {
	width: 82.4vw;
	margin: 9.6vw auto 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.menu_company ul li {
	width: 40.8vw;
	height: 20vw;
	margin-bottom: 0.8vw;
	position: relative;
	border: none;
}

.menu_company ul li:nth-last-child(2),
.menu_company ul li:nth-last-child(1) {
	margin-bottom: 0;
}

.menu_company ul li::before {
	content: '';
	width: 5.333333333333333vw;
	height: 0.533333333333333vw;
	background: #5BC2DC;
	position: absolute;
	bottom: 0;
	right: 0;
}

.menu_company ul li::after {
	content: '';
	width: 0.533333333333333vw;
	height: 5.333333333333333vw;
	background: #5BC2DC;
	position: absolute;
	bottom: 0;
	right: 0;
}

.menu_company ul li a {
	width: 40.8vw;
	height: 20vw;
	display: flex;
	align-items: center;
	font-size: 3.733333333333333vw;
	color: #000;
	text-decoration: none;
	padding-left: 4.8vw;
}

.menu_company ul li a span {
	background: url(../img/svg/arrow_right_blue.svg) no-repeat right center;
	background-size: 1.866666666666667vw 3.2vw;
	padding-right: 3.466666666666667vw;
	line-height: 1.3;
}

.menu_company .overview a {
	background: #fff url(../img/svg/icon_kigyou.svg) no-repeat right 3.2vw center;
	background-size: 6.4vw auto;
}

.menu_company .policy a {
	background: #fff url(../img/svg/icon_houshin.svg) no-repeat right 3.2vw center;
	background-size: 6.4vw auto;
}

.menu_company .business a {
	background: #fff url(../img/svg/icon_naiyou.svg) no-repeat right 3.2vw center;
	background-size: 6.4vw auto;
}

.menu_company .group a {
	background: #fff url(../img/svg/icon_group.svg) no-repeat right 3.2vw center;
	background-size: 6.4vw auto;
}

.menu_company .office a {
	background: #fff url(../img/svg/icon_office.svg) no-repeat right 3.2vw center;
	background-size: 6.4vw auto;
}

.menu_company .team a {
	background: #fff url(../img/svg/icon_officers.svg) no-repeat right 3.2vw center;
	background-size: 6.4vw auto;
}

/*------------------------------------------------------------
[PC]
------------------------------------------------------------ */
@media print,
screen and (min-width:768px) {

	/*------------------------------------------------------------
[PC] mainvisual
------------------------------------------------------------ */
	.mainvisual {
		min-width: 1164px;
		margin: 0;
		padding: 0;
		background: none;
	}

	.no-webp .mainvisual {
		background: none;
	}

	.mainvisual .inner {
		margin: 0 auto;
		padding-left: 175px;
		width: 1160px;
		min-height: 143px;
		position: relative;
	}

	.mainvisual .mv {
		margin: 0;
		height: 360px;
		overflow: hidden;
		background: url(../img/company/top_mv_pc.webp) no-repeat center center;
		background-size: cover;
	}

	.no-webp .mainvisual .mv {
		background: url(../img/company/top_mv_pc.jpg) no-repeat center center;
		background-size: cover;
	}

	@media print,
	screen and (max-width:1277px) {
		.mainvisual .mv {
			background: url(../img/company/top_mv_pc.webp) no-repeat center center;
			background-size: auto 100%;
		}

		.no-webp .mainvisual .mv {
			background: url(../img/company/top_mv_pc.jpg) no-repeat center center;
			background-size: auto 100%;
		}
	}

	/*------------------------------------------------------------
[PC] softdrink information
------------------------------------------------------------ */
	.softdrink_info {
		min-width: 1160px;
		margin: 0;
		padding: 40px 0 60px;
	}

	.softdrink_info #news {
		display: block;
		width: 1160px;
		margin: 0 auto;
		padding: 0;
	}

	.softdrink_info #news h2 {
		width: 100%;
		margin: 0 0 25px;
		padding: 0 0 10px;
		font-size: 20px;
		border-bottom: 1px #5BC2DC solid;
	}

	.softdrink_info #news h2::before {
		content: '';
		width: 180px;
		height: 2px;
		background: #5bc2dc;
		position: absolute;
		bottom: -2px;
		left: 0;
	}

	.softdrink_info #news ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.softdrink_info #news li {
		margin: 15px 0 0;
		padding: 0;
		height: auto;
		font-size: 15px;
	}

	.softdrink_info #news li a {
		padding-right: 15px;
		color: #000;
		text-decoration: none;
		line-height: 1.5;
	}

	.softdrink_info #news li a::after {
		content: '';
		display: inline-block;
		position: absolute;
		width: 10px;
		height: 14px;
		background: url(/softdrink/common2021/img/svg/arrow_right_blue.svg) no-repeat right bottom / 8px;
		bottom: 1px;
		right: 0;
	}

	.softdrink_info #news li a:hover {
		text-decoration: underline;
	}

	/*------------------------------------------------------------
[PC] news
------------------------------------------------------------ */
	.news {
		margin-bottom: 100px;
		padding-top: 0;
		background: none;
	}

	.news .inner {
		margin: 0 auto;
		padding: 0;
		width: 1160px;
		position: relative;
		display: block;
		background: none;
	}

	.news h2 {
		width: 100%;
		margin: 0 0 25px;
		padding: 0 0 10px;
		font-size: 20px;
		border-bottom: 1px #5BC2DC solid;
	}

	.news h2 br.pc_item {
		display: none;
	}

	.news h2::before {
		content: '';
		width: 180px;
		height: 2px;
		background: #5bc2dc;
		position: absolute;
		bottom: -2px;
		left: 0;
	}

	.news dl {
		width: 100%;
		margin: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}

	.news dt {
		width: 120px;
		height: 13px;
		font-size: 13px;
		line-height: 1;
		color: #1E798F;
		position: relative;
		padding-left: 22px;
		margin: .3em 0 0;
	}

	.news dt::before {
		content: '';
		display: block;
		width: 10px;
		height: 1px;
		background: #3995AC;
		position: absolute;
		top: calc(50% - .5px);
		left: 0;
	}

	.news dd {
		width: calc(100% - 120px);
		margin: 0 0 20px;
		padding: 0;
		height: auto;
		font-size: 15px;
	}

	.news dd a {
		color: #000;
		text-decoration: none;
	}

	.news dd a:hover {
		text-decoration: underline;
	}

	.news .btn_list {
		margin: 0;
		width: 90px;
		height: 30px;
		position: absolute;
		top: -9px;
		right: 0;
	}

	.news .btn_list a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		padding: 0 8px 0 0;
		font-size: 14px;
		color: #000;
		text-decoration: none;
		border: 1px #3995AC solid;
		border-radius: 15px;
		background: url(../img/svg/arrow_right_blue.svg) no-repeat right 8px center;
		background-size: 6px 10px;
	}

	.news .btn_list a:hover {
    background-color: #E6F6FA;
    text-decoration: underline;
	}


	/*------------------------------------------------------------
[PC] menu_primary
------------------------------------------------------------ */
	.menu_primary {
		margin: 0 auto 80px;
		width: 1160px;
		display: flex;
		justify-content: space-between;
	}

	.menu_primary a {
		width: 386px;
		height: 290px;
		display: block;
		position: relative;
	}

	.menu_primary a:hover h2 span {
text-decoration: underline;
	}

	.menu_primary .message,
	.menu_primary .investor,
	.menu_primary .sustainability {
		margin-bottom: 0;
		width: 386px;
		background: #5bc2dc;
	}

	.menu_primary .message a {
		background: url(../img/company/top_ceo_ono24_pc.webp) no-repeat 0 0;
		background-size: 386px 290px;
	}

	.no-webp .menu_primary .message a {
		background: url(../img/company/top_ceo_ono24_pc.jpg) no-repeat 0 0;
		background-size: 386px 290px;
	}

	.menu_primary .investor a {
		background: url(../img/company/top_ir_pc.webp) no-repeat 0 0;
		background-size: 386px 290px;
	}

	.no-webp .menu_primary .investor a {
		background: url(../img/company/top_ir_pc.jpg) no-repeat 0 0;
		background-size: 386px 290px;
	}

	.menu_primary .sustainability a {
		background: url(../img/company/top_sas_pc.webp) no-repeat 0 0;
		background-size: 386px 290px;
	}

	.no-webp .menu_primary .sustainability a {
		background: url(../img/company/top_sas_pc.jpg) no-repeat 0 0;
		background-size: 386px 290px;
	}

	.menu_primary .message a:hover,
	.menu_primary .investor a:hover,
	.menu_primary .sustainability a:hover {
		opacity: .75;
	}

	.menu_primary a h2 {
		width: 386px;
		height: 90px;
		font-size: 20px;
		font-weight: bold;
		text-decoration: none;
		color: #000;
		display: flex;
		align-items: center;
		padding-left: 40px;
		background: rgba(255, 255, 255, .85);
		position: absolute;
		bottom: 0;
	}

	.menu_primary a h2 span {
		background: url(../img/svg/arrow_right_blue.svg) no-repeat right center;
		background-size: 12px 18px;
		padding-right: 25px;
	}


	/*------------------------------------------------------------
[PC] menu_company
------------------------------------------------------------ */
	.menu_company {
		margin: 0 auto 100px;
		width: 1160px;
		height: 342px;
		background: url(../img/company/top_kigyou_pc.webp) no-repeat 0 0;
		background-size: 1160px 342px;
		position: relative;
	}

	.no-webp .menu_company {
		background: url(../img/company/top_kigyou_pc.jpg) no-repeat 0 0;
		background-size: 1160px 342px;
	}

	.menu_company h2 a {
		width: 166px;
		height: 342px;
		display: flex;
		align-items: center;
		font-size: 20px;
		font-weight: bold;
		color: #000;
		text-decoration: none;
		background: rgba(255, 255, 255, .85);
		padding-left: 30px;
		position: absolute;
		top: 0;
		left: 0;
	}

	.menu_company h2 a span {
		background: url(../img/svg/arrow_right_blue.svg) no-repeat right center;
		background-size: 12px 18px;
		padding-right: 22px;
	}

	.menu_company h2 a:hover {
		background: rgba(230, 246, 250, .85);
		text-decoration: underline;
	}

	.menu_company ul {
		width: 934px;
		margin: 0;
		padding: 0;
		list-style: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		position: absolute;
		top: 50px;
		left: 190px;
		background: none;
	}

	.menu_company ul li {
		width: 310px;
		height: 120px;
		margin: 0 2px 2px 0;
		position: relative;
	}

	.menu_company ul li:nth-child(3) {
		margin: 0 0 2px 0;
	}

	.menu_company ul li:nth-last-child(2) {
		margin: 0 2px 0 0;
	}

	.menu_company ul li:nth-last-child(1) {
		margin: 0;
	}

	.menu_company ul li::before {
		content: '';
		width: 20px;
		height: 2px;
		background: #5BC2DC;
		position: absolute;
		bottom: 0;
		right: 0;
	}

	.menu_company ul li::after {
		content: '';
		width: 2px;
		height: 20px;
		background: #5BC2DC;
		position: absolute;
		bottom: 0;
		right: 0;
	}

	.menu_company ul li a {
		width: 310px;
		height: 120px;
		display: flex;
		align-items: center;
		font-size: 20px;
		color: #000;
		text-decoration: none;
		padding-left: 35px;
	}

	.menu_company ul li a:hover {
		text-decoration: underline;
	}

	.menu_company ul li a span {
		background: url(../img/svg/arrow_right_blue.svg) no-repeat right center;
		background-size: 12px 18px;
		padding-right: 22px;
		line-height: 1.3;
	}

	.menu_company .overview a {
		background: #fff url(../img/svg/icon_kigyou.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .policy a {
		background: #fff url(../img/svg/icon_houshin.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .business a {
		background: #fff url(../img/svg/icon_naiyou.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .group a {
		background: #fff url(../img/svg/icon_group.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .office a {
		background: #fff url(../img/svg/icon_office.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .team a {
		background: #fff url(../img/svg/icon_officers.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .overview a:hover {
		background: #E6F6FA url(../img/svg/icon_kigyou.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .policy a:hover {
		background: #E6F6FA url(../img/svg/icon_houshin.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .business a:hover {
		background: #E6F6FA url(../img/svg/icon_naiyou.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .group a:hover {
		background: #E6F6FA url(../img/svg/icon_group.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}

	.menu_company .team a:hover {
		background: #E6F6FA url(../img/svg/icon_officers.svg) no-repeat right 45px center;
		background-size: 40px auto;
	}


}