@charset "utf-8";
/* -----------------------------------------
common.css
WEBフォント・reset・初期設定・汎用クラス用css
----------------------------------------- */

/* WEBフォント
----------------------------------------- */
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: normal;
	src: url('/sustainability/common/font/NotoSansCJKjp-Regular.woff') format('woff'),
	url('/sustainability/common/font/NotoSansCJKjp-Regular.ttf')  format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: bold;
	src: url('/sustainability/common/font/NotoSansCJKjp-Medium.woff') format('woff'),
	url('/sustainability/common/font/NotoSansCJKjp-Medium.ttf')  format('truetype');
}

/* reset
----------------------------------------- */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,
small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,input,textarea,table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,
menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0px;
	padding: 0px;
}

h1,h2,h3,h4,h5,h6,th,input,textarea,select {
	font-family: inherit;
	font-size: 100%;
	font-weight: normal;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

table,th,td {
	text-align: left;
	border: none;
}

ol,ul,li {
	list-style: none;
}

img {
	border: none;
	vertical-align: top;
	max-width: 100%;
	height: auto;
}



/* 初期設定
----------------------------------------- */
html {font-size:62.5%;}

body {
	min-width: 320px;
	font-family: sans-serif;
	color: #333;
	line-height: 1.3;
}

a {
	color: inherit;
	text-decoration: none;
}

em,strong { font-weight: bold; }

sub {
	font-size: 80%;
	vertical-align: baseline;
}

main {
	display: block;
}


/* 汎用クラス
----------------------------------------- */

.c_clearfix { zoom: 1; }
.c_clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0.01px;
}

.c_floatL { float: left; }
.c_floatR { float: right; }

.c_fontL  { font-size: 107.1%; }
.c_fontLL { font-size: 114.3%; }
.c_fontXL { font-size: 128.6%; }
.c_fontS  { font-size: 92.9% !important; }
.c_fontSS { font-size: 85.7%; }
.c_fontXS { font-size: 71.4%; }

.c_fontOblique { font-style: oblique; }
.c_fontBold { font-weight: bold; }
.c_fontNoto { font-family: Noto Sans Japanese, "sans-serif";}

.c_colorRed { color: red; }
.c_colorGray { color: #999; }
.c_colorBlue { color: #58c2dc !important; }

.c_lineSS {
	line-height: 1;
}

.c_taLeft { text-align: left !important; }
.c_taCenter { text-align: center !important; }
.c_taRight { text-align: right !important; }

.c_vaTop { vertical-align: top !important; }
.c_vaMdl { vertical-align: middle !important; }
.c_vaBtm { vertical-align: bottom !important; }

.c_ofHidden { overflow: hidden; }

.c_mt0  { margin-top:  0px !important; }
.c_mt3  { margin-top:  3px !important; }
.c_mt5  { margin-top:  5px !important; }
.c_mt10 { margin-top: 10px !important; }
.c_mt15 { margin-top: 15px !important; }
.c_mt20 { margin-top: 20px !important; }
.c_mt25 { margin-top: 25px !important; }
.c_mt30 { margin-top: 30px !important; }
.c_mt35 { margin-top: 35px !important; }
.c_mt40 { margin-top: 40px !important; }
.c_mt45 { margin-top: 45px !important; }
.c_mt50 { margin-top: 50px !important; }
.c_mt60 { margin-top: 60px !important; }
.c_mt70 { margin-top: 70px !important; }
.c_mt80 { margin-top: 80px !important; }
.c_mt90 { margin-top: 90px !important; }

.c_ml0  { margin-left:  0px !important; }
.c_ml3  { margin-left:  3px !important; }
.c_ml5  { margin-left:  5px !important; }
.c_ml10 { margin-left: 10px !important; }
.c_ml15 { margin-left: 15px !important; }
.c_ml20 { margin-left: 20px !important; }
.c_ml25 { margin-left: 25px !important; }
.c_ml30 { margin-left: 30px !important; }
.c_ml35 { margin-left: 35px !important; }
.c_ml40 { margin-left: 40px !important; }
.c_ml45 { margin-left: 45px !important; }
.c_ml50 { margin-left: 50px !important; }
.c_ml60 { margin-left: 60px !important; }
.c_ml70 { margin-left: 70px !important; }
.c_ml80 { margin-left: 80px !important; }
.c_ml90 { margin-left: 90px !important; }

.c_mr0  { margin-right:  0px !important; }
.c_mr3  { margin-right:  3px !important; }
.c_mr5  { margin-right:  5px !important; }
.c_mr10 { margin-right: 10px !important; }
.c_mr15 { margin-right: 15px !important; }
.c_mr20 { margin-right: 20px !important; }
.c_mr25 { margin-right: 25px !important; }
.c_mr30 { margin-right: 30px !important; }
.c_mr35 { margin-right: 35px !important; }
.c_mr40 { margin-right: 40px !important; }
.c_mr45 { margin-right: 45px !important; }
.c_mr50 { margin-right: 50px !important; }
.c_mr60 { margin-right: 60px !important; }
.c_mr70 { margin-right: 70px !important; }
.c_mr80 { margin-right: 80px !important; }
.c_mr90 { margin-right: 90px !important; }

.c_mb0  { margin-bottom:  0px !important; }
.c_mb3  { margin-bottom:  3px !important; }
.c_mb5  { margin-bottom:  5px !important; }
.c_mb10 { margin-bottom: 10px !important; }
.c_mb15 { margin-bottom: 15px !important; }
.c_mb20 { margin-bottom: 20px !important; }
.c_mb25 { margin-bottom: 25px !important; }
.c_mb30 { margin-bottom: 30px !important; }
.c_mb35 { margin-bottom: 35px !important; }
.c_mb40 { margin-bottom: 40px !important; }
.c_mb45 { margin-bottom: 45px !important; }
.c_mb50 { margin-bottom: 50px !important; }
.c_mb60 { margin-bottom: 60px !important; }
.c_mb70 { margin-bottom: 70px !important; }
.c_mb80 { margin-bottom: 80px !important; }
.c_mb90 { margin-bottom: 90px !important; }

.u_mySS  { margin-top: 20px !important;}
.u_myS  { margin-top: 40px !important; margin-bottom: 40px !important;}
.u_myM  { margin-top: 60px !important; margin-bottom: 60px !important;}
.u_myL  { margin-top: 90px !important;}

@media screen and (max-width: 767px){
	.u_mySS  { margin-top: 10px !important;}
	.u_myS  { margin-top: 30px !important; margin-bottom: 30px !important;}
	.u_myM  { margin-top: 40px !important; margin-bottom: 40px !important;}
	.u_myL  { margin-top: 45px !important;}
}

.c_disNon { display: none !important; }
.c_disBlock { display: block!important; }
.c_disInline { display: inline!important; }
.c_disInBlock { display: inline-block!important; }
.c_liquid { width: 100%!important; }
.c_nowrap { white-space: nowrap!important; }
.c_breakall { word-break: break-all!important; }

.c_mW636 {
	max-width: 636px;
	margin: 0 auto;
}

.c_onlyPc { display: block !important; }
.c_onlySp { display: none !important; }

@media screen and (max-width: 767px){
	.c_onlyPc { display: none !important; }
	.c_onlySp { display: block !important; }
}

/* ページフレーム
----------------------------------------- */

#suntory_contents {
	min-width: 960px;
	font-family: "suntory syntax", Arial, Helvetica, sans-serif;
	font-size: 1.6rem;
	overflow: clip;
}
#suntory_contents *,
#suntory_contents *:before,
#suntory_contents *:after {
	box-sizing: border-box;
}

@media screen and (max-width: 768px){

	#suntory_contents {
		min-width: 320px;
	}
}


/* f_header */
.f_headerWrap {
	position: relative;
}
.f_header {
	position: relative;
}
.f_header .f_header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.f_header .p_inner {
	max-width: 1204px;
	margin: 0 auto;
	padding: 17px 20px 15px;
	overflow: hidden;
}
.f_header .p_title a {
	font-family: Noto Sans Japanese, "sans-serif";
	display: block;
	font-size: 3rem;
	font-weight: bold;
	color: #0d367c;
	text-shadow: 0px 0px 1px #0d367c;
}

@media screen and (max-width: 767px){
	.f_header .p_inner {
		width: auto;
	}
	.f_header .p_title {
		margin-top: 8px;
	}
}

.f_header .f_header__toggle {
	flex-shrink: 0;
	display: block;
	position: relative;
	width: 170px;
	height: 50px;
	background-color: #0d367c;
	cursor: pointer;
	z-index: 50;
}
	/* .f_header.s_fixed */
	.f_header.s_fixed {
		height: 82px;
	}
	.f_header.s_fixed .f_header__toggle {
		position: fixed;
		top: 0;
		right: 20px;
	}
@media screen and (min-width: 1205px){
	.f_header.s_fixed .f_header__toggle {
		right: calc(50% - 582px);
	}
}

.f_header .f_header__toggleTitle {
	padding-left: 25px;
	line-height: 50px;
	color: #fff;
}
.f_header .f_header__toggle span {
	display: block;
	position: absolute;
	width: 15px;
	border-bottom: solid 3px #fff;
	right: 18px;
	transition: all 0.3s;
}
.f_header .f_header__toggle span:nth-of-type(1) {
	top: 18px;
}
.f_header .f_header__toggle span:nth-of-type(2) {
	top: 24px;
}
.f_header .f_header__toggle span:nth-of-type(3) {
	top: 30px;
}

@media screen and (min-width: 768px){
	.f_header__toggle02 {
		position: absolute;
		top: 30px;
		right: 50px;
		cursor: pointer;
		width: 38px;
		height: 38px;
		text-align: center;
		z-index: 99;
	}
	.f_header__toggle02__close {
		display: inline-block;
		width: 2px;
		height: 42px;
		background: #ffffff;
		transform: rotate(45deg);
	}
	.f_header__toggle02__close:before {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: -19px;
		width: 42px;
		height: 2px;
		margin-top: -1px;
		background: #ffffff;
	}
}
.f_footer .f_header__toggle02 {
	display: none;
}

.f_header__menu {
	/* display: none; */
	display: block;
	width: 100%;
	height: 100%;
	z-index: 2;
	position: fixed;
	top: 0;
	left: 100%;
	background-color: #0d367c;
	-webkit-overflow-scrolling: touch;
	z-index: 5500;
	transition: left 200ms ease;
	-webkit-transition: left 200ms ease;
}
.f_header__menu__inner {
	overflow-y: auto;
	position: relative;
	height: 100%;
	width: 100%;
	padding-top: 80px;
}

body.s_open {
	overflow: hidden;
}
body.s_open .f_header__toggle {
	transform: none;
}
body.s_open .f_header__toggle span:nth-of-type(1) {
	top: 23px;
	right: 18px;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
body.s_open .f_header__toggle span:nth-of-type(2),
body.s_open .f_header__toggle span:nth-of-type(3) {
	top: 23px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
body.s_open .f_header__toggle {
	width: 50px;
	right: 30px;
}
body.s_open .f_header__toggleTitle {
	display: none;
}
body.s_open .f_header__menu {
	left: 0;
}

@media screen and (max-width: 767px){
	.f_header .p_inner {
		height: 70px;
		padding: 0 10px;
	}
	.f_header .p_title {
		float: left;
		margin-top: 4px;
	}
	.f_header .p_title a {
		font-size: 1.7rem;
	}
	.f_header__menu__inner {
		padding-top: 0;
	}
	.f_header .f_header__toggle {
		position: relative;
		width: 50px;
		top: 0;
		bottom: 0;
		right: 0;
	}
	/* .f_header.s_fixed */
	.f_header.s_fixed .f_header__toggle {
		position: relative;
		top: 0;
		right: 0;
	}

	.f_header .f_header__toggleTitle {
		display: none;
	}
	.f_header .f_header__toggle span {
		display: block;
		position: absolute;
		width: 15px;
		border-bottom: solid 3px #fff;
		right: 18px;
		transition: all 0.3s;
	}

	/* body.s_open */
	body.s_open .f_header__menu {
		left: 0;
	}
	body.s_open .f_header__toggle {
		right: 0;
	}
	body.s_open .f_header__toggle span:nth-child(1) {
		top: 23px;
		right: 19px;
	}
	body.s_open .f_header__toggle span:nth-child(2),
	body.s_open .f_header__toggle span:nth-child(3) {
		top: 23px;
	}

	/* .f_header.s_fixed */
	.f_header.s_fixed {
		height: 70px;
	}
	.f_header.s_fixed .p_inner {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 6000;
		background-color: #fff;
	}
}

/*.f_footer
--------------------*/
.f_footer {
	position: relative;
}

.f_csrMenu__menu {
	position: relative;
	background-color: #0d367c;
	z-index: 0;
}
.f_csrMenu__menu {
	color: #fff;
}

.f_csrMenu__menuInner {
	position: relative;
	max-width: 1204px;
	width: 100%;
	margin: 0 auto;
	padding: 50px 20px;
}
.f_csrMenu__Box {
	display: flex;
	margin: 0 -1%;
	flex-wrap: wrap;
}
.f_csrMenu__Box > li {
	width: 25%;
	padding: 0 1%;
}
.f_csrMenu__Box > li.s_esg {
	width: 50%;}

.f_accWrap {
	margin-top: 20px;
}
@media screen and (max-width: 767px){
	.f_accWrap {
		margin-top: 10px;
	}
}

.f_csrMenu__linkTop {
	position: relative;
	margin: 20px 0;
}
.f_csrMenu__linkTop a,
.f_csrMenu__linkTop span {
	position: relative;
	display: inline-block;
	font-size: 2rem;
	line-height: 1.4;
}
.f_csrMenu__linkTop a {
	padding: 0 0 0 35px;
}
.f_csrMenu__linkTop span {
	padding: 0 ;
}
.f_csrMenu__linkTop a::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 7px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #0d367c;
	border-right: 1px solid #0d367c;
	transform: rotate(45deg);
	z-index: 1;
}
.f_csrMenu__linkTop a::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 0;
	display: block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #fff;
}
.f_csrMenu__linkTop.s_accBtn a::before,
.f_csrMenu__linkTop.s_accBtn a::after {
	content: none;
}
.f_csrMenu__linkTop.s_accBtn {
	padding-right: 45px;
}
.f_csrMenu__linkTop.s_accBtn::after {
	top: -5px;
}

.f_csrMenu__linkMiddle {
	position: relative;
	margin: 5px 0;
	padding-left: 45px;
	font-size: 1.8rem;
}
.f_csrMenu__linkMiddle::before {
	content: "ー";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 20px;
	margin: auto 0;
}
@media screen and (max-width: 767px){
	.f_csrMenu__linkMiddle {
		position: relative;
		margin: 5px 0;
		padding: 10px 0 10px 45px;
		font-size: 1.8rem;
	}
	.f_csrMenu__linkMiddle::before {
		content: "ー";
		position: absolute;
		top: 10px;
		bottom: 0;
		left: 20px;
		margin: auto 0;
	}
	.f_csrMenu__linkMiddle.s_accBtn {
		padding-right: 45px;
}
	.s_accBtn::after {
		content: "";
		position: absolute;
		top: 5px;
		bottom: 0;
		right: 0;
		/* margin: auto 0; */
		width: 36px;
		height: 36px;
		background: url(/sustainability/common/img/icon_plus.png) no-repeat 0 0;
		background-size: contain;
	}
	.s_accBtn.s_open::after {
		background: url(/sustainability/common/img/icon_minus.png) no-repeat 0 0;
		background-size: contain;
	}
}

@media screen and (min-width: 768px){
	span.f_csrMenu__linkMiddle {
		display: inline-block !important;
	}
	.f_csrMenu__linkList.s_2col {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.f_csrMenu__linkList.s_2col li {
		width: 49%;
	}
}


.f_csrMenu__linkList {
}
.f_csrMenu__linkList li {
	margin: 5px 0;
}

.f_csrMenu__linkList li a {
	position: relative;
	display: inline-block;
	padding-left: 30px;
	line-height: 1.8125;
	font-weight: normal;
}
.f_csrMenu__linkList li a:before {
	content: "";
	position: absolute;
	top: 0.75em;
	left: 17px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.f_csrMenu__linkTop a:hover,
.f_csrMenu__linkList li a:hover {
	/* color: #ea5c5b; */
	text-decoration: underline;
}

.f_csrMenu__btm {
	background-color: #726061;
}

.f_csrMenu__btmInner {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	padding: 35px 20px 25px;
	color: #fff;
}

.f_csrMenu__btmLinkList {
	display: flex;
	letter-spacing: 0.075em;
}
.f_csrMenu__btmLinkList > li {
	margin: 0px 40px 10px 0;
}
.f_csrMenu__btmLinkList > li a {
	position: relative;
	display: inline-block;
	padding-left: 15px;
}
.f_csrMenu__btmLinkList > li a:hover {
	opacity: 0.7;
}
.f_csrMenu__btmLinkList > li a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	margin: auto 0;
}
.f_submenu {
	display: block;
}


@media screen and (max-width: 767px){
	.f_footer .f_csrMenu__menu {
		display: none;
	}
	.f_csrMenu__menuInner {
		position: relative;
		padding: 50px 20px 120px;
	}
	.f_csrMenu__Box > li.s_esg,
	.f_csrMenu__Box > li {
		width: 100%;
	}
	.f_csrMenu__linkTop {
		margin: 20px 0;
	}
	.f_csrMenu__linkTop a {
		display: block;
		padding: 0 0 0 35px;
	}
	.f_csrMenu__linkList {
	}
	.f_csrMenu__linkList li + li {
		margin-top: 10px;
	}
	.f_csrMenu__linkList li a {
		position: relative;
		display: inline-block;
		padding-left: 30px;
		letter-spacing: 0.075em;
	}
	.f_csrMenu__linkTop a:hover,
	.f_csrMenu__linkList li a:hover {
		/* color: #ea5c5b; */
		text-decoration: underline;
	}
	
	.f_csrMenu__btm {
		background-color: #726061;
	}
	
	.f_csrMenu__btmInner {
		max-width: 1280px;
		width: 100%;
		margin: 0 auto;
		padding: 35px 20px 25px;
		color: #fff;
	}
	.f_csrMenu__btmLinkList {
		display: flex;
		letter-spacing: 0.075em;
	}
	.f_csrMenu__btmLinkList > li {
		margin: 0px 40px 10px 0;
	}
	.f_csrMenu__btmLinkList > li a {
		position: relative;
		display: inline-block;
		padding-left: 15px;
	}
	.f_csrMenu__btmLinkList > li a:hover {
		opacity: 0.7;
	}
	.f_csrMenu__btmLinkList > li a::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		margin: auto 0;
	}
	.f_submenu {
		display: none;
	}
}

/* f_pagetop
-----------------------------------------*/
.f_pagetop {
	display: none;
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 500;
}
.f_pagetop.s_fixed {
	position: absolute;
	right: 30px;
	top: -80px;
	bottom: auto;
}
.f_pagetop > a{
	opacity: 0.7;
	transition: opacity 0.5s 0s;
}
.f_pagetop > a:hover{
	opacity: 1;
}

.f_headerWrap .f_pagetop,
.s_top .f_pagetop {
	display: none !important;
}


/* f_breadcrumbs */

.f_breadcrumbs {
	max-width: 1204px;
	padding: 0 20px;
	margin: 0 auto;
}
.f_breadcrumbs ul {
	padding: 10px 0;
	overflow: hidden;
}
.f_breadcrumbs li {
	display: inline;
	font-size: 1.5rem;
}
.f_breadcrumbs li:last-child {
	color: #0d367c;
}
.f_breadcrumbs li:before {
	content: ">";
	padding: 0 7px 0 3px;
}
.f_breadcrumbs li:first-child:before {
	display: none;
}
.f_breadcrumbs li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 768px){
	.f_breadcrumbs {
		padding: 0 20px;
	}
	.f_breadcrumbs li {
		font-size: 1.2rem;
	}
}


.f_pageTitle {
	border-top: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
}
.f_pageTitle .p_inner {
	position: relative;
	max-width: 1204px;
	margin: 0 auto;
	padding: 30px 20px;
}
.f_pageTitle .p_inner::after {
	content: " ";
	position: absolute;
	left: 20px;
	bottom: 0;
	display: block;
	height: 7px;
	background-color: #5bc2dc;
	width: 192px;
	width: calc(100% - 40px);
}
.f_pageTitle h1 {
	font-size: 4.0rem;
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.f_pageTitle {
	}
	.f_pageTitle .p_inner::after {
		height: 4px;
	}
	.f_pageTitle h1 {
		font-size: 2.6rem;
	}
}

.f_mainArea {
	max-width: 1204px;
	padding: 0 20px;
	margin: 70px auto 200px;
}

@media screen and (max-width: 767px){
	.f_mainArea {
		margin: 35px auto 100px;
	}
}

.f_downloadPdf {
	margin-top: 25px;
}
.f_downloadPdf .p_inner {
	margin: 0 auto;
}
.f_downloadPdf .p_title {
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: bold;
}

/* 基本モジュール
----------------------------------------- */

/* テキスト */

.m_text {
	margin: 15px 0;
	line-height: 2;
}
.m_text:first-child {
	margin-top: 0;
}
.m_text:last-child {
	margin-bottom: 0;
}
.m_text.s_sizeL {
	font-size: 2rem;
}

@media screen and (max-width: 767px){
	.m_text {
		line-height: 1.6;
	}
	.m_text.s_sizeL {
		font-size: 1.8rem;
	}
}


/* セクション */

.m_sectionL {
	margin: 100px 0;
}
.m_sectionM {
	margin: 60px 0;
}
.m_sectionS {
	margin: 50px 0;
}
.m_sectionSS {
	margin: 30px 0;
}

@media screen and (max-width: 767px){
	.m_sectionL {
		margin: 50px 0;
	}
	.m_sectionM {
		margin: 40px 0;
	}
	.m_sectionS {
		margin: 30px 0;
	}
	.m_sectionSS {
		margin: 20px 0;
	}
}


/* 見出し */

.m_titleL {
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 50px;
	font-size: 3.6rem;
	font-weight: bold;
}
.m_titleL.s_sizeS {
	font-size: 2.6rem;
}
.m_titleL::before,
.m_titleL:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 6px;
}
.m_titleL::before {
	width: 100%;
	background-color: #d6d6d6;
}
.m_titleL:after {
	width: 50%;
	background-color: #5bc2dc;
}

@media screen and (max-width: 767px){
	.m_titleL {
		padding-bottom: 10px;
		margin-bottom: 40px;
		font-size: 2.4rem;
	}
	.m_titleL.s_sizeS {
		font-size: 1.8rem;
	}
	.m_titleL::before,
	.m_titleL:after {
		height: 3px;
	}
}

.m_titleM {
	margin-bottom: 40px;
	border-left: 6px solid #5bc2dc;
	padding: 5px 0 5px 20px;
	font-size: 2.6rem;
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.m_titleM {
		margin-bottom: 25px;
		border-left: 3px solid #5bc2dc;
		padding: 5px 0 5px 14px;
		font-size: 2.1rem;
	}
}

.m_titleS {
	border-bottom: 1px solid #333333;
	padding: 0 0 10px 0;
	margin-bottom: 20px;
	font-size: 2.2rem;
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.m_titleS {
		padding: 0 0 8px 0;
		margin-bottom: 15px;
		font-size: 1.9rem;
	}
}

.m_titleSS {
	margin-bottom: 20px;
	font-size: 2rem;
	font-weight: bold;
}
.m_titleSS + .m_text,
.m_titleSS + .m_imgSet {
	margin-top: 0;
}

@media screen and (max-width: 767px){
	.m_titleSS {
		margin-bottom: 15px;
		font-size: 1.9rem;
	}
}

.m_iconTitle {
	margin-bottom: 40px;
	padding-bottom: 8px;
	font-size: 2.6rem;
	font-weight: bold;
}
.m_iconTitle img {
	vertical-align: baseline;
	margin-left: 10px;
}

@media screen and (max-width: 767px){
	.m_iconTitle {
		margin-bottom: 25px;
		font-size: 2.1rem;
	}
}

.m_categoryTitle {
	margin-bottom: 40px;
	text-align: center;
	font-size: 4rem;
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.m_categoryTitle {
		margin-bottom: 25px;
		font-size: 3rem;
	}
}


/* リンク */

.m_inlineLink {
	color: #5bc2dc;
}
.m_inlineLink.s_colorNormal {
	color: inherit;
}
.m_inlineLink:hover {
	text-decoration: underline;
}
.m_markerLink {
	position: relative;
	display: inline-block;
	margin: 5px 0 !important;
	padding-left: 35px;
	overflow-wrap: anywhere;
	word-break: break-word;
	color: #0d367c;
	font-weight: bold;
}
.m_markerLink:hover {
	text-decoration: underline;
}
.text-decorationNone {
	color: #5bc2dc;
}
.m_markerLink.text-decorationNone:hover {
	text-decoration: none;
}
.m_markerLink:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #00a9d4;
}
.m_markerLink:after {
	content: "";
	position: absolute;
	top: 7px;
	left: 7px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.m_markerLink.s_pdf {
	padding: 5px 35px;
	background: url(../img/mrk_pdf.png) no-repeat 100% 30%;
}
.m_markerLink.s_pdf.text-decorationNone {
	background-image: none;
}
.m_markerLink.s_pdf:before {
	top: 5px;
}
.m_markerLink.s_pdf:after {
	top: 12px;
}

.m_blankLink {
	display: inline-block;
	padding-right: 25px;
	background: url(../img/mrk_blank.png) no-repeat 100% 20%;
}

.m_triArrow {
	position: relative;
	display: inline-block;
	margin: 5px 0 !important;
	padding-left: 20px;
}
.m_triArrow:after {
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 7px;
	height: 7px;
	border-top: 1px solid #00a9d4;
	border-right: 1px solid #00a9d4;
	transform: rotate(45deg);
}
.m_triArrow:hover {
	text-decoration: underline;
}

.m_arrowLink {
	position: relative;
	display: inline-block;
	margin: 5px 0 !important;
	padding-left: 35px;
}
.m_arrowLink.s_arrowAfter {
	padding-left: 0;
	padding-right: 35px;
}
.m_arrowLink:hover {
	text-decoration: underline;
}

.m_arrowLink:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #00a9d4;
}
.m_arrowLink.s_arrowAfter:before {
	left: auto;
	right: 0;
}
.m_arrowLink:after {
	content: "";
	position: absolute;
	top: 7px;
	left: 8px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(-135deg);
}
.m_arrowLink.s_arrowAfter:after {
	left: auto;
	right: 8px;
	transform: rotate(45deg);
}

.m_iconBtn {
	position: relative;
	display: block;
	background: url(../img/mrk_pdf.png) no-repeat 5% 50%;
	border: 2px solid #dadada;
	padding: 10px 40px 10px 60px;
	max-width: 425px;
	color: #095c86;
	font-size: 2rem;
	font-weight: bold;
}
.m_iconBtn.s_dgb {
	padding: 20px 40px 20px 60px;
	background: url(../img/mrk_dgb.png) no-repeat 5% 50%;
}
.m_iconBtn.s_noIcon {
	padding: 20px 40px 20px 40px;
	background: none;
}

.m_linkDisable,
.m_linkDisable a {
	pointer-events: none;
}

.m_iconBtn:hover {
	background-color: #f5f5f5;
}

.m_iconBtn::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #095c86;
	border-right: 2px solid #095c86;
	-webkit-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.m_iconBtn .p_info {
	display: block;
	font-size: 1.6rem;
}

@media screen and (max-width: 767px){

	.m_iconBtn {
		background-position: 3% 50%;
		padding: 8px 25px 8px 45px;
		font-size: 1.6rem;
	}
	.m_iconBtn.s_noIcon {
		padding: 20px 28px 20px 28px;
	}

	.m_iconBtn::after {
		right: 15px;
	}
}

/* リンクリスト */

.m_markerLinkList {
}
.m_markerLinkList > li {
	position: relative;
	padding: 20px 0;
}
.m_markerLinkList > li::before,
.m_markerLinkList > li:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
}
.m_markerLinkList > li::before {
	width: 100%;
	background-color: #d6d6d6;
}
.m_markerLinkList > li::after {
	width: 50%;
	background-color: #5bc2dc;
}

/* リスト */

.m_dotList {
	margin: 15px 0;
}
.m_dotList > li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 1.2em;
}
.m_dotList > li:before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}

.m_indentList {
	margin: 15px 0;
}
.m_indentList:first-child {
	margin-top: 5px;
}
.m_indentList > li {
	margin-bottom: 8px;
	line-height: 1.7;
}
.m_indentList .p_head {
	float: left;
	margin-right: 5px;
}
.m_indentList .p_text {
	overflow: hidden;
}
.m_indentList.s_note {
	font-size: 1.4rem;
}

.m_descriptionList {
	margin: 15px 0;
	line-height: 1.7;
}
.m_descriptionList dt {
	float: left;
}
.m_descriptionList dd {
	padding-left: 80px;
	margin-bottom: 8px;
}

.m_dialogueList {
	margin: 30px 0;
	line-height: 1.7;
}
.m_dialogueList dt {
	float: left;
	color: #2c9443;
}
.m_dialogueList dd {
	margin-left: 100px;
	border-left: 3px solid #2c9443;
	padding-left: 25px;
}
.m_dialogueList.s_suntory dt {
	color: #12b1da;
}
.m_dialogueList.s_suntory dd {
	border-left-color: #12b1da;
}
.m_dialogueList.s_etc dt {
	color: #333;
}
.m_dialogueList.s_etc dd {
	border-left-color: #333;
}

@media screen and (max-width: 767px){
	.m_indentList.s_note {
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 480px){
	.m_descriptionList dt {
		float: none;
		margin-bottom: 5px;
	}
	.m_descriptionList dd {
		margin-left: 90px;
		border-width: 2px;
		padding-left: 15px;
	}
}


/* 画像 */

.m_caption {
	margin-top: 10px;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.5;
}
.m_caption.s_left {
	text-align: left;
}
.m_imgSet {
	margin: 20px 0;
	overflow: hidden;
}
.m_imgSet .p_textArea {
	float: left;
}
.m_imgSet.s_imgLeft .p_textArea {
	padding-left: 10px;
}

.m_imgSet.s_w150 .p_textArea { width: 100%; max-width: calc(100% - 170px); }
.m_imgSet.s_w200 .p_textArea { width: 100%; max-width: calc(100% - 220px); }
.m_imgSet.s_w260 .p_textArea { width: 100%; max-width: calc(100% - 280px); }
.m_imgSet.s_w380 .p_textArea { width: 100%; max-width: calc(100% - 400px); }
.m_imgSet.s_w350 .p_textArea { width: 100%; max-width: calc(100% - 370px); }
.m_imgSet.s_w420 .p_textArea { width: 100%; max-width: calc(100% - 440px); }

.m_imgSet .p_img {
	float: right;
	text-align: center;
}
.m_imgSet.s_imgLeft .p_img {
	float: left;
}
.m_imgSet .p_img img {
	max-width: 100%;
}
.m_imgSet.s_liquid .p_img img {
	width: 100%;
}
.m_imgSet .p_img > div {
	display: inline-block;
	margin-top: 20px;
}
.m_imgSet .p_img > div:first-child {
	margin-top: 0;
}

.m_imgSet.s_w150 .p_img { width: 100%; max-width: 150px; }
.m_imgSet.s_w200 .p_img { width: 100%; max-width: 200px; }
.m_imgSet.s_w260 .p_img { width: 100%; max-width: 260px; }
.m_imgSet.s_w380 .p_img { width: 100%; max-width: 380px; }
.m_imgSet.s_w350 .p_img { width: 100%; max-width: 350px; }
.m_imgSet.s_w420 .p_img { width: 100%; max-width: 420px; }

.m_centerImg {
	margin: 20px auto;
	text-align: center;
	max-width: 920px;
}
.m_centerImg.s_wAuto {
	max-width: 100%;
}
.m_centerImg.s_w1000 {
	max-width: 1020px;
}
.m_centerImg.s_w800 {
	max-width: 800px;
}
.m_centerImg.s_w636 {
	max-width: 636px;
}
.m_centerImg.s_border {
	border: 10px solid #5bc2dc;
}
.m_centerImg img {
	max-width: 100%;
}

@media screen and (max-width: 767px){
	.m_imgSet .p_textArea {
		float: none;
		margin-bottom: 20px;
		max-width: 100% !important;
	}
	.m_imgSet.s_imgLeft .p_textArea {
		padding-left: 0;
	}
	.m_imgSet .p_img {
		float: none;
		margin: 0 auto;
	}
	.m_imgSet.s_imgLeft .p_img {
		float: none;
	}
	.m_imgSet .p_img > div {
		margin: 0 5px 15px;
	}
}

.m_imgCol {
	margin: 30px -30px 0;
	text-align: center;
}
.m_imgCol > .m_caption {
	padding: 0 30px;
}
.m_imgCol.s_2col,
.m_imgCol.s_3col,
.m_imgCol.s_4col {
	margin: 30px -2.5% 0;
	text-align: left;
}
.m_imgCol + .m_imgCol {
	margin-top: 0;
}
.m_imgCol li {
	display: inline-block;
	padding: 0 30px;
	margin-bottom: 30px;
	vertical-align: top;
	text-align: center;
}
.m_imgCol.s_2col li,
.m_imgCol.s_3col li,
.m_imgCol.s_4col li {
	padding: 0 2.5%;
}
.m_imgCol.s_2col li {
	width: 50%;
}
.m_imgCol.s_3col li {
	width: 33.33%;
}
.m_imgCol.s_4col li {
	width: 25%;
}
/* .m_imgCol.s_imgH214 li img {
	height: 214px;
} */

@media screen and (max-width: 767px){
	.m_imgCol.s_2col li,
	.m_imgCol.s_3col li,
	.m_imgCol.s_4col li {
		width: 100%;
	}
}

/* ボックス */
.m_sectionBox {
	border: 4px solid #eaf0f4;
	padding: 50px;
	margin: 30px 0;
}
.m_sectionBox > :last-child {
	margin-bottom: 0;
}
.m_sectionBox .p_subTitle {
	margin: 0 20px;
	font-size: 1.6rem;
	font-weight: bold;
}
.m_sectionBox .p_title {
	background-color: #c2e9f3;
	padding: 10px 20px;
	margin: 30px 0 20px;
	font-size: 2.2rem;
	font-weight: bold;
}
.m_sectionBox .p_title:first-child {
	margin-top: 0;
}
.m_sectionBox .p_subTitle + .p_title {
	margin-top: 10px;
}
.m_sectionBox.s_w900 {
	max-width: 900px;
	margin: 0 auto;
}
/* .m_sectionBox.s_gray {
	background-color: #f9f9f9;
}
.m_sectionBox.s_gray .p_title {
	background-color: #e0e0e0;
	color: #333;
} */

@media screen and (max-width: 767px){
	.m_sectionBox {
		border: 2px solid #eaf0f4;
		padding: 25px;
	}
}


/* 表組み */

.m_table {
	width: 100%;
	border-right: 1px solid #d6d6d6;
	border-bottom: 1px solid #d6d6d6;
	max-width: 920px;
	margin: 20px auto;
}
.table-note {
  width: 920px;
  margin: 15px auto;
}
@media screen and (max-width: 767px){
  .table-note {
    width: 100%;
  }
}
.m_table.w-600 {
	max-width: 600px;
}
.m_table.tw100 {
	max-width: inherit;
}
.m_table th,
.m_table td {
	border-top: 1px solid #d6d6d6;
	border-left: 1px solid #d6d6d6;
	padding: 20px 14px;
}
.m_table th {
	background-color: #e7f6fa;
	/* text-align: center; */
	font-weight: bold;
}
.m_table td *:first-child {
	margin-top: 0;
}
.m_table td *:last-child {
	margin-bottom: 0;
}
.m_table.s_tdRight td {
	text-align: right;
}
.m_table.s_tdCenter td {
	text-align: center;
}
.m_table.s_thLeft th {
	text-align: left;
}
.m_table.s_thCenter th {
	text-align: center;
}
.m_table.s_paddingS th,
.m_table.s_paddingS td {
	padding: 10px 7px;
}
/* .m_table th.s_title {
	background-color: #e4f4f8;
	text-align: left;
	color: #5bc2dc;
} */
.m_table th.s_thBgc01 {
	font-size: 2.2rem;
	background-color: #5bc2dc;
}
.m_table th.s_thBgc02 {
	font-size: 2.2rem;
	background-color: #74d289;
}

.m_table td.s_tdBgc01 {
	background-color: #e7f6fa;
}
.m_table td.s_tdBgc02 {
	background-color: #eefaf1;
}

.m_table .s_borderLeftDuble {
	border-left: 3px double #999;
}

.m_tableScroll {
	margin: 0 -10px;
}
.m_tableScroll .p_inner01 {
	overflow-x: auto;
}
.m_tableScroll .p_inner02 {
	padding: 0 10px;
	min-width: 500px;
}
.m_tableScroll.s_w400 .p_inner02 { min-width: 400px; }
.m_tableScroll.s_w500 .p_inner02 { min-width: 500px; }
.m_tableScroll.s_w600 .p_inner02 { min-width: 600px; }
.m_tableScroll.s_w700 .p_inner02 { min-width: 700px; }
.m_tableScroll.s_w800 .p_inner02 { min-width: 800px; }
.m_tableScroll.s_w900 .p_inner02 { min-width: 900px; }

@media screen and (max-width: 767px){
	.m_table th.s_thBgc01 {
		font-size: 1.8rem;
	}
	.m_table th.s_thBgc02 {
		font-size: 1.8rem;
	}
}

/* カラム */

.m_colList {
	margin: 40px 0;
	display: flex;
	gap: 20px 2%;
	flex-wrap: wrap;
}
.m_colList.s_marginL {
	gap: 60px;
}
.s_jcCenter {
	justify-content: center;
}
.m_colList.s_2col > li {
	width: 49%;
}
.m_colList.s_3col > li {
	width: 32%;
}
.m_colList.s_2col.s_marginL > li {
	width: calc(50% - 30px);
}
.m_colList.s_3col.s_marginL > li {
	width: 32%;
	width: calc(32% - 20px);
}

@media screen and (max-width: 767px) {
	.m_colList {
	}
	.m_colList > li,
	.m_colList.s_2col > li,
	.m_colList.s_3col > li,
	.m_colList.s_2col.s_marginL > li,
	.m_colList.s_3col.s_marginL > li {
		width: 100%;
	}
	.m_colList.s_spNoMargin {
		gap: 0 2%;
	}
	.m_colList.s_marginL {
		gap: 30px;
	}
}

/* リンクリスト */

.m_linkList {
	margin: 40px 0;
	display: flex;
	gap: 0 2%;
	flex-wrap: wrap;
}
.m_linkList li {
	width: 32%;
	margin-bottom: 20px;
}
.m_linkList a {
	position: relative;
	display: flex;
	align-items: center;
	box-shadow: 0px 0px 16.56px 1.44px rgba(13, 54, 124, 0.1);
	color: #0d367c;
	font-size: 1.8rem;
	font-weight: bold;
	overflow: hidden;
}
.m_linkList a:hover {
	box-shadow: 0px 0px 16.56px 1.44px rgba(13, 54, 124, 0.2);
}

.m_linkList.s_text a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 120px;
	height: 100%;
}
.m_linkList.s_text a::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 20;
	top: 0;
	right: 20px;
	bottom: 0;
	margin: auto 0;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background-color: #00a9d4;
}
.m_linkList.s_text a::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 21;
	top: 0;
	bottom: 0;
	right: 24px;
	margin: auto;
	width: 0;
	height: 0;
	border-left: 4px solid #fff;
	border-top: 3px solid transparent;
	border-bottom: 3px solid transparent;
}
.m_linkList .p_text {
	padding: 15px 10px 15px 15px;
	flex-grow: 1;
}
.m_linkList.s_text .p_text {
	vertical-align: middle;
	padding: 15px 34px 15px 15px;
	position: relative;
}
.m_linkList .p_img {
	flex-shrink: 0;
	border-left: 1px solid #ddd;
	width: 50%;
	max-width: 150px;
}
.m_linkList .p_img img {
	width: 100%;
}

@media screen and (max-width: 767px){
	.m_linkList {
		max-width: 450px;
		margin: 40px auto;
	}
	.m_linkList li {
		width: 100%;
	}
	.m_linkList a {
		font-size: 1.6rem;
	}
}


/* グループ会社 概要 */

.m_infoList {
	border-top: 1px solid #d6d6d6;
}
.m_infoList > li {
	border-bottom: 1px solid #d6d6d6;
	padding: 10px 0;
}
.m_infoList .label {
	float: left;
}
.m_infoList .data {
	padding-left: 160px;
}
.m_infoList .data a {
	display: inline-block;
	word-break: break-all;
}
.m_pdfLink {
	position: relative;
	display: block;
	width: 100px;
	margin: 15px auto;
	border: 1px solid #dadada;
	background-color: #fff;
	padding: 5px 12px;
	font-size: 92.9%;
	font-weight: bold;
	color: #095c86;
	text-align: left;
}
.m_pdfLink:hover {
	background-color: #f9f9f9;
}
.m_pdfLink::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 6%;
	width: 7px;
	height: 7px;
	border-top: 2px solid #095c86;
	border-right: 2px solid #095c86;
	-webkit-transform-origin: right top;
	transform-origin: right top;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


/* 横移動リンク */

.m_linkBox {
	border: 4px solid #eaf0f4;
	padding: 15px 20px 12px;
	margin: 40px 0 20px;
}
.m_linkBox.s_gray {
	padding: 40px 45px;
	margin: 40px 0 20px;
	border: none;
	background-color: #eaf0f4;
}
.m_linkBox .p_title {
	margin-bottom: 10px;
	font-size: 1.7rem;
	font-weight: normal;
}
.m_linkBox.s_gray .p_title {
	margin-bottom: 10px;
	font-size: 3rem;
}
.m_linkBox ul {
	overflow: hidden;
}
.m_linkBox li {
	float: left;
	padding-right: 40px;
}
.m_linkBox li:last-child {
	padding-right: 0;
}

@media screen and (max-width: 767px){
	.m_linkBox {
		border: 2px solid #eaf0f4;
	}
	.m_linkBox.s_gray {
		padding: 20px;
	}
	.m_linkBox.s_gray .p_title {
		font-size: 2.4rem;
	}
}


.m_linkBox02 {
	border: 4px solid #eaf0f4;
	padding: 15px 20px 12px;
	margin: 40px 0 20px;
}
.m_linkBox02 .m_linkBox__colList {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2%;
}
.m_linkBox__colList li {
	width: 32%;
}
.m_linkBox__colList li:last-child {
	padding-right: 0;
}

@media screen and (max-width: 767px){
	.m_linkBox__colList li {
		width: 100%;
	}
}

/* グループ会社一覧,ニュース一覧 */

.m_groupIndex {
	margin: 40px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0 2%;
}
.m_groupIndex.s_marginL {
	gap: 70px;
}
.m_groupIndex > li {
	width: 32%;
	margin-bottom: 20px;
	border-radius: 3px;
	overflow: hidden;
	box-shadow: 0 0 8px 1px rgba(0,0,0,0.15);
	box-shadow: 0px 0px 16.56px 1.44px rgba(13, 54, 124, 0.1);
}
.m_groupIndex.s_marginL > li {
	margin-bottom: 0;
	width: calc(33.33% - 46.66px);
}

.m_groupIndex li > a {
	display: block;
	color: inherit;
	height: 100%;
	background-color: #fff;
	transition: 0.3s;
}
.m_groupIndex li > a:hover {
	opacity: 0.8;
}
.m_groupIndex.s_news li .p_img {
	width: 100%;
	height: 210px;
	overflow: hidden;
}
.m_groupIndex li .p_img a {
	display: block;
}
.m_groupIndex.s_imgBorder .p_img {
	overflow: hidden;
	border: 10px solid #5bc2dc;
}
.m_groupIndex.s_imgBorder .p_img img {
	transition: all 0.5s;
}
.m_groupIndex.s_imgBorder > li a:hover .p_img img {
	transform: scale(1.1);
}
@media screen and (max-width: 1204px){
	.m_groupIndex.s_news li .p_img {
		height: calc(210 / 1204 * 100vw);
	}
}
.m_groupIndex .p_img img {
	width: 100%;
}
.m_groupIndex .p_textArea {
	padding: 12px 10px;
	padding: 20px;
	min-height: 86px;
	background-color: #fff;
}
.m_groupIndex .p_textArea p + p {
	margin-top: 15px;
}
.m_groupIndex .p_title {
	margin-top: 10px;
	margin-bottom: 15px;
	font-size: 1.8rem;
	font-weight: bold;
}
.m_groupIndex.s_news .p_title {
	margin-top: 15px;
	color: #333;
	font-weight: normal;
}
.m_groupIndex .p_title a {
	display: block;
}

.m_tagArea {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
}
.m_tagArea > li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 95px;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 3px 10px;
	font-size: 1.4rem;
	border: 1px solid #4f4f4f;
	color: #4f4f4f;
}

.m_groupIndex .p_link {
	margin-top: 30px;
	text-align: right;
}
.m_groupIndex .p_link > span {
position: relative;
display: inline-block;
padding-left: 20px;
}
.m_groupIndex .p_link > span::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #5bc2dc;
	border-right: 2px solid #5bc2dc;
	transform: rotate(45deg);
}

@media screen and (max-width: 767px){
	.m_groupIndex {
		margin: 0 auto;
		max-width: 370px;
	}
	.m_groupIndex.s_marginL {
		gap: 30px;
	}
	.m_groupIndex > li,
	.m_groupIndex.s_marginL > li {
		width: 100%;
	}
	.m_groupIndex.s_news li .p_img {
		height: 164px;
	}
}
@media screen and (max-width: 410px){
	.m_groupIndex.s_news li .p_img {
		height: calc(210 / 410 * 100vw);
	}
}

/* f_newsArea */
.f_newsArea p {
	line-height: 2;
	margin: 15px 0;
}
.f_newsArea p a {
	display: block;
	color: #5bc2dc;
}

.m_linkCol {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
}
.m_linkCol > li {
	padding: 0 20px;
}
.m_linkCol > li + li {
	border-left: 1px solid #b3b3b3;
}
.m_linkCol .m_linkDisable {
	opacity: 0.5;
}
.m_linkCol .m_linkDisable a:before,
.m_linkCol .m_linkDisable a:after {
	content: none;
}
@media screen and (max-width: 767px){
	.m_linkCol {
		font-size: 1.6rem;
		flex-wrap: wrap;
		text-align: center;
	}
	.m_linkCol > li {
		padding: 0 5px;
}
	.m_linkCol > li:nth-child(1) {
		order: 0;
	}
	.m_linkCol > li:nth-child(2) {
		order: 2;
	}
	.m_linkCol > li:nth-child(3) {
		order: 1;
	}
	.m_linkCol > li:nth-child(1),
	.m_linkCol > li:nth-child(3) {
		width: 50%;
	}
	.m_linkCol > li:nth-child(2) {
		width: 100%;
		margin-top: 20px;
		border: none;
	}
}


/* ---m_ancList--- */
.m_ancList__wrap {
	position: sticky;
	top: 0;
	z-index: 10;
	background-color: #eaf0f4;
}
.m_ancList__wrap .p_inner {
	max-width: 1204px;
	margin: 0 auto;
	padding: 0 20px;
}
.m_ancList{
	display: flex;
	flex-wrap: wrap;
	padding-right: 180px;
}
.m_ancList > li{
	position: relative;
}
.m_ancList > li + li::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 30px;
	margin: auto 0;
	background-color: #b3b3b3;
}
.m_ancList > li > a{
	display: flex;
	align-items: center;
	position: relative;
	padding: 5px 25px 5px 39px;
	min-height: 66px;
	height: 100%;
	font-size: 2rem;
	line-height: 1;
	transition: all 0.3s;
}
.m_ancList > li > a::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 25px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #12b1da;
	border-right: 2px solid #12b1da;
	transform: rotate(135deg);
	margin: auto 0;
	transition: 0.3s;
}
.m_ancList > li > a:hover::after{
	bottom: -4px;
}

@media screen and (max-width: 767px){
	.m_ancList > li + li::before {
		height: 20px;
	}
	.m_ancList > li > a{
		padding: 10px 12.5px 10px 30px;
		min-height: auto;
		font-size: 1.3rem;
	}
	.m_ancList > li > a::after{
		left: 15px;
	}
}

.m_ancList > li .m_ancList__submenu{
	display: none;
	position: absolute;
	width: calc(100% + 140px);
	left: 0;
	top: 100%;
	padding: 20px 0;
	z-index: 10;
	background-color: #eaf0f4;
	box-shadow: 0px 0px 4.98px 1.02px rgba(51, 51, 51, 0.2);
	overflow-y: auto;
	/* max-height: 100vh; */
	transition: 0.5s;
}
.m_ancList > li .m_ancList__submenu::-webkit-scrollbar {
	width: 6px;
}
.m_ancList > li .m_ancList__submenu::-webkit-scrollbar-track {
background: #eaf0f4;
}
.m_ancList > li .m_ancList__submenu::-webkit-scrollbar-thumb {
border-radius: 3px;
background:#c1c1c1;
}
.m_ancList > li:hover > .m_ancList__submenu{
	display: block;
}
.m_ancList > li .m_ancList__submenu > li a{
	position: relative;
	display: block;
	padding: 10px 25px 8px 40px;
}
.m_ancList > li .m_ancList__submenu > li a::after {
	content: "";
	position: absolute;
	top: 0.85em;
	left: 25px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #12b1da;
	border-right: 2px solid #12b1da;
	transform: rotate(135deg);
}
.m_ancList > li .m_ancList__submenu > li a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 767px){
	.m_ancList__wrap {
		position: relative;
	}
	.m_ancList{
		padding-right: 0;
	}
	.m_ancList > li:hover > .m_ancList__submenu{
		display: none;
	}
}

/* ---m_pickupBnr--- */
.m_pickupBnr {
	margin: 0 -15px;
}
.m_pickupBnr li {
	padding: 0 15px;
}
.m_pickupBnr li a {
	display: block;
	transition: 0.3s;
}
.m_pickupBnr li a:hover {
	opacity: 0.8;
}
.m_pickupBnr .m_pickupBnr_title {
	margin-top: 30px;
	text-align: center;
}

@media screen and (max-width: 767px){
	.m_pickupBnr .m_pickupBnr_title {
		margin-top: 10px;
	}
}

/* m_movieArea
------------------------*/
.m_movieArea{
	position:relative;
	max-width: 800px;
	margin: 20px auto;
}
.m_movieArea::before{
	content: "";
	display: block;
	width:100%;
	padding-top:56.25%;
}
.m_movieArea iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

/* m_movieItem */
.m_movieItem {
  position: relative;
  display: block;
  height: 100%;
	box-shadow: 0px 0px 16.56px 1.44px rgba(13, 54, 124, 0.1);
  text-decoration: none !important;
	cursor: pointer;
}
.m_movieItem__contens {
  display: flex;
  padding: 15px;
	background-color: #fff;
}
.m_movieItem__title {
  font-weight: bold;
	flex-grow: 1;
}
.m_movieItem__time {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	margin-left: 10px;
	padding: 10px 10px 10px 15px;
	font-size: 1.4rem;
	font-weight: bold;
	border-left: 1px solid #e0e0e0;
}

/* m_movie */
.m_movie {
  margin-top: var(--mt_M);
}
.m_movie__target {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.m_movie__thum {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.m_movie__thum::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  right: 0;
  width: 64px;
  height: 64px;
	background: url(/sustainability/common/img/icon_play.png) no-repeat 0 0;
	margin: auto;
  z-index: 1;
}
.m_movie__thum img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: cover;
}

/* m_youtubeModal
------------------------*/
html.s_modalShow body{
	overflow: hidden;
}
.m_youtubeModal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3000;
	display: none;
}
.m_youtubeModal__closeBg{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(40, 40, 40, 1);
}
.m_youtubeModal__window {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 920px;
	max-width: calc(100% - 100px);
	max-height: calc(100vh - 50px);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-color: #fff;
}
.m_youtubeModal__scrollArea {
	width: 100%;
	padding: 30px;
	max-height: calc(100vh - 50px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.m_youtubeModal__scrollArea::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
.m_youtubeModal__scrollArea::-webkit-scrollbar-track {
	background-color: transparent;
}
.m_youtubeModal__scrollArea::-webkit-scrollbar-thumb {
	background-color: #E7E7E7;
	box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.06) inset;
	border-radius: 999em;
}
.m_youtubeModal__scrollInner {
	padding: 60px;
}
.m_youtubeModal__closeBtn {
	position: absolute;
	z-index: 100;
	top: 20px;
	left: calc(100% + -70px);
	width: 45px;
	height: 45px;
	cursor: pointer;
}
.m_youtubeModal__closeBtn::before,
.m_youtubeModal__closeBtn::after {
	content: "";
	position: absolute;
	top: 11px;
	left: 0;
	right: 0;
	margin: auto;
	width: 40px;
	height: 4px;
	background-color: #0d367c;
	transform: rotate(45deg);
}
.m_youtubeModal__closeBtn::after {
	transform: rotate(-45deg);
}
.m_youtubeModal__closeBtnText {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	color: #0d367c;
	font-size: 1rem;
	letter-spacing: 0.2em;
	line-height: 2;
}
.m_youtubeModal__closeBtnText::before {
	content: "CLOSE";
}
.m_youtubeModal__title {
	margin-bottom: 20px;
	padding-right: 40px;
	font-size: 2.6rem;
	font-weight: bold;
	color: #5bc2dc;
}

@media screen and (max-width: 767px){
	.m_youtubeModal__window {
		max-width: calc(100% - 40px);
	}
	.m_youtubeModal__title {
		margin-bottom: 20px;
		font-size: 1.8rem;
		font-weight: bold;
		color: #5bc2dc;
	}
}

/* m_youtubeModal
------------------------*/
.m_youtubeModal__windowInner {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.m_youtubeModal__windowInner iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	border: none;
}

/* 印刷設定
----------------------------------------- */

@media print {

	#suntoryCommonHeader,
	.f_headerWrap,
	.f_breadcrumbs,
	.f_footer {
		display: none;
	}
}


/* 「要素内の最初の子要素」「要素内の最後の子要素」のモジュールに対してmarginの上下がキャンセル*/
[class^="m_"]:not([class*="__"]):first-child { margin-top: 0}
[class^="m_"]:not([class*="__"]):last-child { margin-bottom: 0}