/* ====================================
	reset tag
==================================== */
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	vertical-align: baseline;
}

article,
header,
footer,
aside,
figure,
figcaption,
nav,
section {
	display: block;
}

html {
	font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
	font-size: 62.5%;
	color: #333333;
	min-width: 320px;
}

body {
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	overscroll-behavior-y: none;
	font-size: 1.5rem;
	position: static;
	background-color: #ffffff;
	min-width: 320px;
}

html,
body {
	overflow-x: hidden;
}

section {
	overflow-y: hidden;
}

ol,
ul {
	list-style: none;
	list-style-type: none;
}

figure {
	display: block;
	margin: 0;
}

img {
	display: block;
	vertical-align: bottom;
	max-width: 100%;
	width: auto;
}

a {
	text-decoration: none;
	color: inherit;
}

a:hover,
a:active {
	opacity: 0.7;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

td,
th,
p {
	line-height: 1.25;
}


/* ====================================
	responsive
==================================== */
.pc {
	display: block !important;
}

.sp {
	display: none !important;
}


/* ====================================
	layput
==================================== */
.wrap {
	margin: 0 auto;
	background-color: #ffffff;
}

article {
	margin: 0 auto;
}


/* ====================================
	header
==================================== */
.header_wrap {
	width: 100%;
	position: fixed;
	z-index: 9;
}

.header_bottom {
	max-width: 1200px;
	width: 100%;
	height: 80px;
	margin: 0 auto;
}

header {
	display: flex;
	padding: 15px 0;
	max-width: 1200px;
	margin: 0 auto;
	background-color: #ffffff;
}

header > div {
	max-width: 250px;
	padding: 0 0 0 50px;
}

header > span {
	display: none;
}

header > nav {
	width: calc(100% - 250px);
	text-align: right;
}

header > nav ul {
	display: inline-block;
	max-width: 800px;
	margin: 0 10px 0 auto;
}

header > nav ul li {
	display: inline-block;
	padding: 0 20px;
}

header > nav ul li:last-child {
	display: inline-block;
	padding: 0 0 0 20px;
}

header > nav ul li a {
	display: block;
	text-align: center;
	line-height: 50px;
}

header a {
	color: #333333;
	text-decoration: none;
}

/* #nav_sp */
#nav_sp {
	display: none;
}

/* ====================================
	navi
==================================== */
.navi_wrap {
	display: none;
	position: absolute;
	top: 60px;
	left: 0;
	right: 0;
	z-index: 99;
	max-width: 1200px;
	margin: 0 auto;
	width: 100%;
	padding: 20px 0 0 0;
}

header > nav ul li:hover .navi_wrap {
	display: block;
}

.navi_flex {
	display: flex;
	justify-content: space-between;
	width: 100%;
	background-color: rgba(0, 0, 0, 0.8);
}

.navi_flex div:nth-child(1) {
	padding: 0 0 0 100px;
}

.navi_flex div:nth-child(1) b {
	display: block;
	width: 200px;
	height: 150px;
	background-color: #c2c2c2;
	line-height: 150px;
	text-align: center;
	font-size: 1.5rem;
}

.navi_flex div:nth-child(2) {
	max-width: 710px;
	width: 100%;
	padding: 0 50px 0 0;
}

.navi_flex ol {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.navi_flex ol li {
	width: 50%;
}

.navi_flex ol a {
	color: #ffffff;
	text-align: left;
}





/* ====================================
	footer
==================================== */
footer p {
	font-size: 1.6rem;
}

footer a {
	color: #ffffff;
}

footer .sitemap {
	background-color: #333333;
	padding: 50px 20px 100px 20px;
}

footer .sitemap div {
	max-width: 1000px;
	margin: 0 auto 40px auto;
}

footer .sitemap ul {
	display: table;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 0 auto;
}

footer .sitemap ul > li {
	display: table-cell;
}

footer .sitemap ul > li > p {
	display: inline-block;
	padding: 0 0 5px 0;
	margin: 0 0 20px 0;
	border-bottom: 1px solid #ac1757;
}

footer .sitemap ol > li {
	margin: 0 0 20px 0;
}

.icon_external_link {
	background-image: url(../_common_img/icon_external_link.png);
	background-repeat: no-repeat;
	background-position: right center;

	padding: 0 25px 0 0;
}


/* sublink */
footer .sublink {
	background-color: #000000;
}

footer .sublink ul {
	display: table;
	max-width: 1000px;
	width: 100%;
	margin: 30px auto 15px auto;
}

footer .sublink ul li {
	display: table-cell;
	text-align: center;
}

footer .sublink p {
	text-align: center;
	color: #ffffff;
	font-size: 1.2rem;
	margin: 0 0 15px 0;
}

/* ====================================
	pager
==================================== */
.pager {
	display: flex;
	justify-content: center;
	margin-bottom: 100px;
}

.pager li {
	display: block;
}

.pager li span,
.pager li a {
	display: block;
	line-height: 40px;
	width: 40px;
	text-align: center;
	border: 1px solid #333333;
	margin: 0 10px;
	cursor: pointer;
}

.pager li span.active {
	background-color: #333333;
	color: #ffffff;
}

/* ====================================
	main
==================================== */
.mainmovie {
	width: 100%;
}

/* title_with_image */
main.title_with_image {
	display: block;
	position: relative;
	margin: 0 auto 0 auto;
	max-width: 1200px;
	/*
	height: 600px;
*/
	overflow: hidden;
}

main.title_with_image.short {
	height: 350px;
}

main.title_with_image h1 {
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.6);
	color: #ffffff;
	text-align: center;
	width: 100%;
	line-height: 80px;
}

/*
main.title_with_image img.main_pc {
	width: 1200px;
	max-width: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
*/
main.title_with_image img.main_pc {}

main.title_with_image img.main_sp {
	display: none;
}

/* title_only_text */
main.title_only_text {
	max-width: 1200px;
	margin: 0 auto 15px auto;
	padding: 0 0 80px 0;
}

main.title_only_text h1 {
	font-size: 2.8rem;
	text-align: center;
	letter-spacing: 10px;
	line-height: 1.5;
}

/* title_on_black */
main.title_on_black {
	max-width: 1200px;
	margin: 0 auto 15px auto;
	padding: 0 0 0 0;
}

main.title_on_black {
	background-color: rgba(0, 0, 0, 0.6);
	color: #ffffff;
	text-align: center;
	width: 100%;
	line-height: 80px;
}


/* ====================================
	pankuzu
==================================== */
.pankuzu_area {
	display: flex;
	margin: 15px auto 80px auto;
	max-width: 1000px;
	padding: 0 0 0 10px;
}

#company_outline .pankuzu_area,
#company_organization .pankuzu_area,
#sustainability_effort .pankuzu_area {
	margin: 15px auto 30px auto;
}

.pankuzu_area li:nth-child(1) {
	min-width: 70px;
}

.pankuzu_area li:nth-child(2) {
	min-width: 70px;
}

.pankuzu_area li a {
	display: block;
	line-height: 1;
	color: #333333;
	text-decoration: none;
}

.pankuzu_area li span:after,
.pankuzu_area li a:after {
	content: ">";
	display: inline-block;
	padding: 0 10px;
}

.pankuzu_area li:last-child span:after,
.pankuzu_area li:last-child a:after {
	content: "";
	padding: 0;
}

/* ====================================
	parts
==================================== */

/* btn_set */
.btn_set {
	margin: 0 0 10px 0;
}

.btn_set:last-child {
	margin: 0 0 0 0;
}

.btn_set .btn_more {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	height: 50px;
	color: #333333;
	text-decoration: none;
	max-width: 300px;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_link.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
	margin: 0 auto 15px auto;
}

.btn_set .btn_link {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	height: 50px;
	color: #333333;
	text-decoration: none;
	line-height: 1.5;
	max-width: 600px;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_link.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
	margin: 0 auto 15px auto;
}

.btn_set .btn_back {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	height: 50px;
	color: #333333;
	text-decoration: none;
	max-width: 300px;
	margin: 0 auto;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_back.png);
	background-repeat: no-repeat;
	background-position: left 10px center;
}

.btn_set .btn_back:last-child,
.btn_set .btn_link:last-child {
	margin: 0 auto 0 auto;
}



/* youtube */
.youtube {
	max-width: 640px;
	margin: 0 auto 30px auto;
}

.youtube > div {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube > div > iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* trimming_center */
.trimming_center {}

/*  */
.trimming_center {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.trimming_center img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: none;
}

.keyimage.trimming_center {
	height: 300px;
}



/* asterisk */
.asterisk_red {
	color: #ac1757;
}

/* ====================================
	title
==================================== */
.area_title {
	margin: 0 0 50px 0;
}

.area_title h2 {
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	margin: 0 0 20px 0;
	letter-spacing: 5px;
}

.area_title h2 div {
	font-size: 1.4rem;
}

.area_title hr {
	border: 0;
	height: 3px;
	width: 50px;
	margin: 0 auto;
	display: block;
	background-color: #ac1757;
}

.area_title b {
	display: table;
	color: #ac1757;
	margin: 0 auto 20px auto;
	text-align: center;
	border-left: 2px solid #ac1757;
	border-right: 2px solid #ac1757;
	padding: 0 20px;
	font-size: 2.0rem;
	letter-spacing: 5px;
}

.area_title h3 {
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
	margin: 0 0 20px 0;
	letter-spacing: 5px;
}

/* subtitle */
.subtitle {
	margin: 0 0 30px 0;
}

.subtitle h3 {
	font-size: 2.8rem;
	font-weight: normal;
	color: #ac1757;
	text-align: center;
	line-height: 1.3;
	letter-spacing: 5px;
}

.subtitle h4 {
	font-size: 2.0rem;
	font-weight: bold;
	color: #333333;
	text-align: center;
	line-height: 1.3;
	letter-spacing: 5px;
}

.subtitle.black h3 {
	color: #333333;
}

.subtitle p {
	text-align: center;
	font-weight: bold;
	font-size: 1.2rem;
	margin: 5px 0 0 0;
}

.subtitle.with_border h3 {
	font-size: 2.4rem;
	color: #333333;
	margin: 0 0 20px 0;
}

.subtitle.with_border hr {
	border: 0;
	height: 3px;
	width: 50px;
	margin: 0 auto;
	display: block;
	background-color: #333333;
}

/* section_title */
.section_title {
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 40px 0;
}

/* newstitle */
.content_area.newstitle {
	margin: 0 auto 30px auto;
	max-width: 1020px;
}

.newstitle h2 {
	text-align: center;
}

.newstitle select {
	display: block;
	width: 180px;
	margin: 0 0 0 auto;
	border: 1px solid #333333;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	line-height: 1;
	padding: 10px;


	background-image: url(../_common_img/arrow_bottom.svg);
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 10px;
}

.newstitle option {
	text-align: center;
	line-height: 1;
}

/* block_title */
.block_title h3 {
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	padding: 20px 20px;
	margin: 20px 0;
}


/* ====================================
	content
==================================== */
.content_area {
	margin: 0 0 50px 0;
}

.content_area .keyimage {
	display: block;
	margin: 0 0 40px 0;
}

.content_block {
	max-width: 800px;
	margin: 0 auto 80px auto;
}

.content_block img {
	margin: 0 auto 20px auto;
}



/* figure */
.content_block .figure_wrap {
	text-align: center;
}

.content_block figure {
	display: inline-block;
	margin: 0 auto 20px auto;
}

.content_block figure img {
	margin: 0 auto 5px auto !important;
}

.content_block figcaption {
	text-align: left;
}

.content_block figcaption.center {
	text-align: center;
}

/* textSet */
.content_block .textSet {
	max-width: 800px;
	margin: 0 auto 50px auto;
}

.content_block .textSet h4 {
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 0 15px 0;
}

.content_block .textSet b {
	display: block;
	line-height: 2;
	margin: 0 0 1em 0;
}

.content_block .textSet strong {
	display: block;
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 0 0.5em 0;
}

.content_block .textSet p {
	line-height: 2;
	margin: 0 0 1em 0;
}

.content_block .textSet p:last-child {
	margin: 0;
}

.content_block .textSet dl {
	margin: 0 0 2em 0;
}

.content_block .textSet dt {
	font-size: 1.6rem;
	font-weight: bold;
	margin: 0 0 0.5em 0;
}

.content_block .textSet dd {
	line-height: 1.5;
}


/* indent */
.signature {
	text-align: right;
}

.indent_reverse_1 {
	text-indent: 1em;
}

.indent_1 {
	display: block;
	text-indent: -1em;
	padding-left: 1em;
	margin: 0 0 0.5em 0;
	overflow: hidden;
}

.indent_12 {
	display: block;
	text-indent: -1.25em;
	padding-left: 1.25em;
	margin: 0 0 0.5em 0;
	overflow: hidden;
}

.indent_15 {
	display: block;
	text-indent: -1.5em;
	padding-left: 1.5em;
	margin: 0 0 0.5em 0;
	overflow: hidden;
}

.indent_2 {
	text-indent: -2em;
	padding-left: 2em;
}

.small {
	font-size: 1.2rem;
}

.red {
	color: #cc0000;
}

.parenthesized-decimal {
	list-style-type: none;
	overflow: hidden;
}

.parenthesized-decimal li {
	display: list-item;
	line-height: 1.5;
	margin: 0 0 0.5em 0;
	overflow: hidden;
}

/* content_only_text */
.content_only_text h2,
.content_only_text h3 {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;
	border-bottom: 1px solid #ac1757;
}

/* publicnotice */
.publicnotice h2 {
	font-size: inherit;
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;
	border-bottom: 1px solid #ac1757;
	line-height: 1.5;
}

.publicnotice h2 div {
	display: inline;
	line-height: 1.5;
}

.publicnotice h2 div:nth-child(1) {
	color: #ac1757;
}

.publicnotice span {
	color: #ac1757;
	display: inline-block;
	padding: 2px 5px;
	border: 1px solid #ac1757;
	font-size: 1.2rem;
}

.publicnotice p {
	display: inline-block;
	padding: 2px 5px;
	margin: 0 0 0 0;
	font-size: 1.1rem;
}

.publicnotice dl {
	font-size: 1.5rem;
	display: flex;
	margin: 0 0 10px 0;
}

.publicnotice dl dt {
	width: 130px;
}

.publicnotice dl dd {
	width: calc(100% - 130px);
	padding: 0 0 0 2em;
	line-height: 1.5;
}

.publicnotice p.data a {
	display: inline-block;
}


/* news */
body.news .title_on_black {
	line-height: 0;
	padding: 0;
	border-top: 1px solid #999999;
}

body.news .title_on_black h1 {
	display: none;
}

body.news .newstitle h2 {
	font-weight: bold;
}

body .title_on_black {
	line-height: 0;
	padding: 0;
	border-top: 1px solid #999999;
}

body .title_on_black h1 {
	display: none;
}

body .newstitle h2 {
	font-weight: bold;
}

.inner_area {
	max-width: 800px;
	margin: 0 auto 30px auto;
}

.inner_area h1 {
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
}

body.news .pankuzu_area {
	margin: 15px auto 40px auto;
}


.news_contents .imageSet {
	max-width: 640px;
	margin: 0 auto 50px auto;
}

.news_contents .imageSet p {
	color: #666666;
	font-size: 1.2rem;
}

.news_relation a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	line-height: 1.5;
	color: #333333;
	text-decoration: none;
	max-width: 780px;
	margin: 0 auto 25px auto;
	padding: 15px 35px;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_url.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}

.news_download a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	line-height: 1.5;
	color: #333333;
	text-decoration: none;
	max-width: 780px;
	margin: 0 auto 25px auto;
	padding: 15px 35px;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_link.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}

/* emergency */
.emergency_contents .imageSet {
	max-width: 640px;
	margin: 0 auto 50px auto;
}

.emergency_contents .imageSet p {
	color: #666666;
	font-size: 1.2rem;
}

.emergency_relation a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	height: 50px;
	color: #333333;
	text-decoration: none;
	max-width: 780px;
	margin: 0 auto 25px auto;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_url.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}

.emergency_download a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	height: 50px;
	color: #333333;
	text-decoration: none;
	max-width: 780px;
	margin: 0 auto 25px auto;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_link.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}

/* notice */
.notice_contents .imageSet {
	max-width: 640px;
	margin: 0 auto 50px auto;
}

.notice_contents .imageSet p {
	color: #666666;
	font-size: 1.2rem;
}

.notice_relation a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	height: 50px;
	color: #333333;
	text-decoration: none;
	max-width: 780px;
	margin: 0 auto 25px auto;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_url.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}

.notice_download a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #333333;
	height: 50px;
	color: #333333;
	text-decoration: none;
	max-width: 780px;
	margin: 0 auto 25px auto;
	background-color: #ffffff;
	background-image: url(../_common_img/btn_link.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}


/* viewFlex */
.content_block .viewFlex {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.content_block .viewFlex > div {
	max-width: 375px;
}

.content_block .viewFlex > div > img {
	margin: 0 0 5px 0;
}

.content_block .viewFlex {}

.content_block .viewFlex.bottom > div {
	position: relative;
}

.content_block .viewFlex.bottom > div .textSet {
	margin: 0 0 80px 0;
}

.content_block .viewFlex.bottom > div > div:last-child {
	position: absolute;
	bottom: 0;
	width: 100%;
}



/* layout_image_right */
.layout_image_right {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 50px 0;
}

.layout_image_right > div:nth-child(1) {
	order: 2;
	width: 375px;
}

.layout_image_right > div:nth-child(2) {
	order: 1;
	width: calc(100% - 375px);
	padding: 0 25px 0 0;
}

.layout_image_right h4 {
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 0 20px 0;
}

.layout_image_right p {
	line-height: 2;
}


/* layout_image_none */
.layout_image_none {
	display: block;
	margin: 0 0 50px 0;
}

.layout_image_none h4 {
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 0 20px 0;
}

.layout_image_none p {
	line-height: 2;
}



/* news_tabs */
.news_tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1000px;
	margin: 0 auto 30px auto;
}

.news_tabs li {
	width: 190px;
}

.news_tabs a {
	line-height: 35px;
	display: block;
	text-align: center;
	border: 1px solid #333333;
}

.news_tabs a.disabled {
	opacity: 0.3;
	cursor: default;
}

.news_tabs li a.active {
	background-color: #ac1757;
	color: #ffffff;
}

.news_wrap {
	display: none;
}

.news_wrap.active {
	display: block;
}

.news_area li {
	padding: 20px 50px;
	border-top: 1px dashed #333333;
}

.news_area li:last-child {
	border-bottom: 1px dashed #333333;
}

.news_list {
	display: flex;
	align-items: center;
}

.news_list > div:nth-child(1) {
	width: 110px;
}

.news_list > div:nth-child(2) {
	width: 120px;
	padding: 0 15px 0 0;
}

.news_list > div:nth-child(3) {
	width: calc(100% - 245px);
	background-image: url(../_common_img/news_arrow.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding: 0 0 0 10px;
}

.news_list > div:nth-child(3) a {
	line-height: 1.5;
	color: #333333;
}

.news_list > div:nth-child(3) a attachment {
	color: #333333;
}

.news_link {
	display: flex;
	justify-content: flex-end;
	margin: 10px 0 0 0;
}

.news_link a {
	background-image: url(../_common_img/news_arrow.png);
	background-position: right center;
	background-repeat: no-repeat;
	padding: 0 20px 0 0;
	display: block;
	margin: 0 0 0 20px;
}

.news_list .label {
	text-align: center;
	padding: 5px 0;
	border: 0 solid #333333;
	font-size: 12px;
	color: #ffffff;
	background-color: #ac1757;
}

.signature {
	text-align: right;
	margin-top: 100px;
}



/* news_detail */
.content_area.news_detail {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 10px 100px 10px;
}

.news_detail_flex {
	display: flex;
	align-items: flex-end;
}

.news_detail .label {
	width: 190px;
	line-height: 35px;
	display: block;
	text-align: center;
	border: 1px solid #333333;
	background-color: #ac1757;
	color: #ffffff;
}

.news_detail .date {
	padding: 0 0 0 20px;
}

.news_detail .date.right {
	margin: 0 0 0 auto;
}

.news_detail_title {
	margin: 40px 0 40px 0;
	padding: 10px 0 10px 0;
	border-top: 1px solid #999999;
	border-bottom: 1px solid #999999;
}

.news_detail_title h2 {
	font-size: 2.4rem;
	line-height: 1.5;
}

.news_detail_img {
	display: block;
	max-width: 640px;
	margin: 0 auto 50px auto;
}

.news_detail_img img {
	display: block;
	margin: 0 auto 10px auto;
	max-width: 100%;
	width: auto;

}


/* pagenation */
.pagenation {
	display: flex;
	justify-content: space-between;
	width: 220px;
	margin: 30px auto 0 auto;
}

.pagenation li:first-child a,
.pagenation li:last-child a {
	border: 0;
}

.pagenation li:first-child a {
	background-image: url(../_common_img/arrow_news_left.png);
	background-position: center center;
	background-repeat: no-repeat;
}

.pagenation li:last-child a {
	background-image: url(../_common_img/arrow_news_right.png);
	background-position: center center;
	background-repeat: no-repeat;
}

.pagenation a {
	display: block;
	text-align: center;
	width: 40px;
	height: 40px;
	border: 1px solid #f4f4f4;
	line-height: 40px;
}

.pagenation a.active {
	background-color: #f4f4f4;
}


/*  */
.width_wide {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 0;
}

.width_normal {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 10px;
}

.bottom_0 {
	margin: 0 auto 0 auto;
}

.bg_gray {
	background-color: #f4f4f4;
	padding: 70px 0 40px 0;
}

.bg_gray .content_block {
	max-width: none;
}

.margin_bottom_none {
	margin-bottom: 0 !important;
}

/* ====================================
	outline_table
==================================== */
.outline_wrap {
	position: relative;
}

.outline_border_top {
	position: absolute;
	top: -1px;
	left: 0;
	background-color: #cccccc;
	height: 3px;
	width: 190px;
}

.outline_border_bottom {
	position: absolute;
	bottom: -1px;
	left: 0;
	background-color: #cccccc;
	height: 3px;
	width: 190px;
}

.outline_wrap .daimaru_matsuzakaya {
	background-color: #ac1757;
}

.outline_wrap .daimaru {
	background-color: #007a8a;
}

.outline_wrap .matsuzakaya {
	background-color: #004f95;
}

.outline_title {
	color: #ac1757;
	font-size: 24px;
	text-align: left;
	font-weight: normal;
	margin: 0 0 20px 0;
	color: #333333;
}

.outline_table {
	width: 100%;
	margin: 0 0 50px 0;
}

.outline_table tbody th,
.outline_table tbody td {
	border-top: 1px solid #000000;
	padding: 20px 0 20px 10px;
}

.outline_table tbody th {
	font-size: 15px;
	text-align: left;
	font-weight: bold;
	width: 450px;
}

.outline_table tbody tr:last-child th,
.outline_table tbody tr:last-child td {
	border-bottom: 1px solid #000000;
}

.outline_table tfoot td {
	text-align: right;
	padding: 10px 0;
}



/* ====================================
	history
==================================== */
.history_table {
	width: 100%;
	margin: 0 0 150px 0;
}

.history_table th,
.history_table td {
	vertical-align: top;
}

.history_table tr.title th {
	padding: 0 0 60px 0;
}

.history_table tr.view_year th {
	padding: 0 0 20px 0;
}

.history_table th {
	width: 60px;
	padding: 0 0 0 0;
	background-image: url(../_common_img/history_table_th.png);
	background-repeat: repeat-y;
}

.history_table tr.with_image td {
	padding: 0 0 60px 0;
}

.history_table tr.with_image td .history_flex {
	display: flex;
	width: 100%;
}

.history_table tr.with_image td .history_flex div:nth-child(1) {
	width: 300px;
}

.history_table tr.with_image td .history_flex div:nth-child(1) img {
	max-width: 100%;
	width: auto;
	margin: 0 auto;
}

.history_table tr.with_image td .history_flex div:nth-child(2) {
	padding: 0 0 0 50px;
	width: calc(100% - 300px);
}

.history_table th div {
	width: 21px;
	height: 21px;
}

.history_table.red th div {
	background-color: #ac1757;
}

.history_table.green th div {
	background-color: #007a8a;
}

.history_table.blue th div {
	background-color: #004f95
}

.history_table {
	color: #333333 !important;
}

.history_table h2 {
	font-size: 2.4rem;
	letter-spacing: 3px;
	line-height: 1;
}

.history_table h3 {
	font-size: 2.4rem;
	letter-spacing: 3px;
	line-height: 21px;
}

.history_table h4 {
	font-size: 1.6rem;
	font-weight: bold;
	margin: 0 0 10px 0;
}

.history_table p {
	line-height: 2;
	margin: 0 0 40px 0;
}

.history_table .underline th {
	height: 40px;
	padding: 0 0 0 0;
	background-image: url(../_common_img/history_table_th_underline.png);
	background-repeat: no-repeat;
}

.history_table .underline td {
	padding: 0 0 0 0;
}

.history_table .underline td a {
	display: block;
	max-width: 300px;
	height: 40px;
	background-image: url(../_common_img/history_table_td_underline.png);
	background-repeat: repeat;
	line-height: 40px;
	text-align: right;
}


/* ====================================
	btn
==================================== */
.btn_policy_wrap {
	margin: 0 0 40px 0;
	text-align: right;
}

.btn_policy {
	display: inline-block;
	background-color: #A11943;
	border-radius: 20px;
	color: #ffffff;
	margin: 20px 0 0;
	padding: 5px 15px;
}

.btn_policy.none {
	background-color: #cccccc;
	color: #333333;
}

/* ====================================
	content_list
==================================== */
.content_list b {
	font-size: 2.0rem;
	display: block;
	text-align: center;
	border-bottom: 1px solid #333333;
	padding: 0 0 10px 0;
	margin: 0 -100px 20px -100px;
}

.content_list p {
	margin: 0 0 20px 0;
	line-height: 1.5;
}

.content_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 -100px 30px -100px;
}

.content_flex > div {
	width: calc(25% - 10px);
}

.content_flex img {
	margin: 0 auto 10px auto;
}

.content_flex strong {
	display: block;
	text-align: center;
	margin: 0 0 10px 0;
	font-size: 1.8rem;
	line-height: 1.2;
	padding: 0 10px;
}

.content_flex p {
	line-height: 1.5;
	padding: 0 10px;
}

/* ====================================
	other
==================================== */
.remarks {
	max-width: 920px;
	padding: 0 20px;
	margin: 0 auto;
}

.nolink {
	cursor: default;
}

.nolink:hover {
	opacity: 1 !important;
}

body.news-topics .content_block .textSet h3 {
	border-bottom: solid 2px #333333;
	margin: 10px 0 20px 0;
	font-size: 2.4rem;
	font-weight: normal;
	padding: 20px 0;
}

body.news-topics .content_block .textSet ul {
	padding-bottom: 20px;
	list-style-type: disc;
	list-style-position: outside;
	margin-left: 1em;
}

body.news-topics .content_block .textSet li {
	padding-bottom: 10px;
	line-height: 1.5;
	font-size: 1.6rem;
}
/* ====================================
	triple_think
==================================== */
.triple_think {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

/* ====================================
	other
==================================== */
.bg_gray.covid19_type {
	padding: 70px 0 70px 0;
}

.covid19_title {
	text-align: center;
	font-size: 1.4em;
}

.covid19_type .news_list > div:nth-child(2) {
	width: 0;
}

.covid19_typ .news_list .label {
	display: none;
}

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

	/* ====================================
		header
	==================================== */
	header > div {
		max-width: 250px;
		padding: 0 0 0 10px;
	}

	header > nav {
		display: none;
	}

	header > span {
		display: block;
		width: calc(100% - 50px);
	}

	/* hamburger */
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}

	.menu-trigger {
		display: block;
		margin: 0 10px 0 auto;
		position: relative;
		width: 35px;
		height: 25px;
	}

	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
		background-color: #000000;
	}

	.menu-trigger span:nth-of-type(1) {
		top: 0;
	}

	.menu-trigger span:nth-of-type(2) {
		top: 11px;
	}

	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
	}

	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(-45deg);
		transform: translateY(11px) rotate(-45deg);
	}

	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}

	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-11px) rotate(45deg);
		transform: translateY(-11px) rotate(45deg);
	}

	#nav_sp {
		position: absolute;
		top: 58px;
		left: 0;
		z-index: 99;
		background-color: rgba(0, 0, 0, 0.8);
		width: 100%;
		padding: 25px;
	}

	#nav_sp ul > li {
		color: #ffffff;
		border-bottom: 1px solid #ffffff;
		line-height: 1;
		background-image: url(../_common_img/navi_sp_open.png);
		background-repeat: no-repeat;
		background-position: right 10px top 20px;
		background-size: 15px;
	}

	#nav_sp ul > li.active {
		background-image: url(../_common_img/navi_sp_close.png);
	}

	#nav_sp ul > li > div {
		padding: 20px 0;
	}

	#nav_sp ol {
		display: none;
		margin: 0 0 0 0;
	}

	#nav_sp ol li {
		color: #ffffff;
		border-top: 1px solid #ffffff;
		line-height: 1;
		background-image: url(../_common_img/navi_sp_arrow.png);
		background-repeat: no-repeat;
		background-position: left 0px center;
		background-size: 15px;
	}

	#nav_sp ol li a {
		display: block;
		padding: 20px 0 20px 25px;
	}

	/* ====================================
		content_list
	==================================== */
	.content_list b {
		margin: 0 0 20px 0;
	}

	.content_flex {
		margin: 0 0 30px 0;
	}


}

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

	/* ====================================
		other
	==================================== */
	.remarks {
		max-width: 620px;
		padding: 0 20px;
		margin: 0 auto;
	}
}



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


	/* ====================================
		responsive
	==================================== */
	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}


	/* ====================================
		header
	==================================== */
	.header_bottom {
		height: 60px;
	}

	/* ====================================
		footer
	==================================== */
	footer .sitemap {
		padding: 50px 10px 30px 10px;
	}

	footer .sitemap div {
		max-width: 400px;
		margin: 0 auto 40px auto;
	}

	footer .sitemap ul {
		display: flex;
		flex-wrap: wrap;
		max-width: 400px;
	}

	footer .sitemap ul > li {
		display: block;
		width: 50%;
		margin: 0 0 30px 0;
	}

	footer .sublink ul {
		max-width: 400px;
		flex-wrap: wrap;
		display: flex;
		flex-wrap: wrap;
		margin: 15px auto 15px auto;
	}

	footer .sublink ul li {
		width: 50%;
		margin: 0 0 10px 0;
	}

	footer .sublink ul li a {
		font-size: 1.1rem;
	}

	/* ====================================
		pankuzu
	==================================== */
	.pankuzu_area {
		margin: 30px auto 0 auto;
	}

	.pankuzu_area li {
		display: none;
	}

	/* ====================================
		main
	==================================== */
	main h1 {
		font-size: 2.0rem;
	}

	main.title_with_image h1 {
		line-height: 45px;
	}

	main.title_with_image,
	main.title_with_image.short {
		height: auto;
	}

	main.title_with_image img.main_pc {
		display: none;
	}

	main.title_with_image img.main_sp {
		display: block;
	}


	/* ====================================
		parts
	==================================== */
	.btn_link {}

	.youtube {
		max-width: 100%;
	}

	/* ====================================
		title
	==================================== */
	.area_title {
		margin: 0 0 20px 0;
	}

	.area_title h2 {
		font-size: 1.8rem;
		margin: 0 0 20px 0;
	}

	.subtitle {
		margin: 0 0 15px 0;
	}

	.subtitle h3 {
		font-size: 1.8rem;
		font-weight: normal;
	}

	/* ====================================
		content
	==================================== */
	.content_area {
		margin: 0 0 30px 0;
	}

	.content_block .textSet {
		margin: 0 auto 20px auto;
	}

	/**/
	.bg_gray {
		padding: 30px 10px 0px 10px;
	}

	/* viewFlex */
	.viewFlex div:nth-child(1) {
		padding: 0 5px 0 0;
	}

	.viewFlex div:nth-child(2) {
		padding: 0 0 0 5px;
	}

	/* viewFlex : strategies */
	.strategies .viewFlex {
		display: block;
	}

	.strategies .viewFlex > div:nth-child(1),
	.strategies .viewFlex > div:nth-child(2) {
		max-width: none;
		width: 100%;
	}

	.content_block .viewFlex.bottom > div .textSet {
		margin: 0 0 0 0;
	}

	.content_block .c > div > div:last-child {
		position: relative;
		padding: 30px 0 60px 0;
	}


	/* viewFlex : business_development */
	#business_development .viewFlex {
		display: block;
	}

	#business_development .viewFlex div:nth-child(1),
	#business_development .viewFlex div:nth-child(2) {
		padding: 0 0 0 0;
	}

	#business_development .content_block .viewFlex > div {
		max-width: none;
		width: 100%;
	}



	/* layout_image_right */
	.layout_image_right > div:nth-child(1) {
		order: 1;
		width: 100%;
	}

	.layout_image_right > div:nth-child(2) {
		order: 2;
		width: 100%;
		padding: 0 0 0 0;
	}

	/* ====================================
		outline
	==================================== */
	.outline_table,
	.outline_table tr,
	.outline_table tbody,
	.outline_table tbody th,
	.outline_table tbody td {
		display: block;
		width: 100%;
		max-width: none;
	}

	.outline_table tbody tr:last-child th {
		border-bottom: 0 solid #000000;
	}

	/* ====================================
		history
	==================================== */
	.history_table th {
		width: 30px;
	}

	.history_table tr.with_image td .history_flex {
		display: block;
		width: 100%;
	}

	.history_table tr.with_image td .history_flex div:nth-child(1) {
		width: 100%;
	}

	.history_table tr.with_image td .history_flex div:nth-child(2) {
		padding: 15px 0 0 0;
		width: 100%;
	}

	/* ====================================
		news
	==================================== */
	.news_tabs li {
		width: calc(50% - 5px);
		margin: 0 0 10px 0;
	}

	.news_tabs li:nth-child(1) {
		width: 100%;
	}

	.news_area li {
		padding: 20px 0px;
		border-top: 1px dashed #333333;
	}

	.news_list {
		flex-wrap: wrap;
	}

	.news_list > div:nth-child(2) {
		width: calc(100% - 110px);
		padding: 0 15px 0 0;
	}

	.news_list > div:nth-child(3) {
		width: 100%;
		margin: 10px 0 0 0;
	}

	.news_list .label {
		width: 120px;
	}

	.covid19_type .news_list > div:nth-child(2) .label {
		width: 0 !important;
	}

	.newstitle h2 {
		margin: 0 auto 20px auto;
	}

	.news_detail_flex {
		align-items: center;
	}

	.newstitle select {
		margin: 0 auto;
	}

	.news_detail .label {
		width: 120px;
		line-height: 18px;
	}

	/* ====================================
		content_flex
	==================================== */
	.content_list b {
		margin: 0 -0 20px -0;
	}

	.content_flex strong {
		font-size: 1.6rem;
	}

	.content_flex > div {
		width: calc(50% - 5px);
	}

	.layout_image_right.store_landmark_ueno > div:nth-child(1) {
		order: 2;
	}

	.layout_image_right.store_landmark_ueno > div:nth-child(2) {
		order: 1;
		margin-bottom: 20px;
	}
}

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

	/* ====================================
		other
	==================================== */
	.remarks {
		max-width: 620px;
		padding: 0 0px;
		margin: 0 auto;
	}
}
