/*
layout_pc.css
for PC

画面幅が960px以上のメディア（PCなど）向け
*/

@media screen and (min-width: 769px) {

.sp {
	display: none !important;
}

body {
	font-size: min(var(--vw18px), 18px);
	cursor: default;
	overflow-y: auto;
	/*overflow-x: hidden;*/
}
body.navopen {
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-size: min(var(--vw18px), 18px);
	font-weight: 700;
}

#cursor {
	box-sizing: border-box;
	position: fixed;
	top: -12px;
	left: -12px;
	width: 24px;
	height: 24px;
	border-radius: 100%;
	background: #000;
	pointer-events: none;
	z-index: 1003;
	color: rgba(0,0,0,0);
	opacity: 0.6;
	transform: translate(-3000px,0);
	transition: width 200ms, height 200ms, margin 200ms, transform 100ms;
	transition-timing-function: ease-out;
}
#cursor.onmore {
	width: 56px;
	height: 56px;
	top: -28px;
	left: -28px;
}
#cursor.sft {
	font-size: 16px;
}
#cursor.arw_r,
#cursor.arw_l {
	width: 64px;
	height: 64px;
	background:#fff var(--arrow_l) 50% 50% no-repeat;
	background-size: 11px auto;
}
#cursor.arw_r {
	transform: scale(-1, 1);
}

a.more {
	display: block;
	/*cursor: none;*/
}

/* --- [header] --- */
.siteid,
.siteid-en {
	width: min(13.472222vw, 194px);
	height: min(var(--vw18px), 18px);
	/*margin: min(3.263888vw, 47px) 0 0 min(5.208333vw, 75px);*/
	margin: min(3.263888vw, 47px) 0 0 80px;
	cursor: pointer;
}

/*--- morebtn ---*/
.linkbtn,
.mblist a,
a.morebtn {
	width: min(9.861111vw, 142px);
	height: min(2.638888vw, 38px);
	padding: 0 min(1.458333vw, 21px) 0;
	border-radius: min(1.319444vw, 19px);
	font-size: min(1.142857vw, 16px);
	background: -webkit-linear-gradient(left, #000 0%, #000 50%, #fff 50%, #fff 100%) 100% 0 no-repeat;
	background: linear-gradient(to right, #000 0%, #000 50%, #fff 50%, #fff 100%) 100% 0 no-repeat;
	background-size: 201% auto;
	transition: background ease 0.3s;
}
.linkbtn:hover,
.mblist a:hover,
a.morebtn:hover {
	color: #fff;
	background-position: 0 0;
	opacity: 1 !important;
}


.nextmore {
	display: block;
	width: 1.0em;
	text-align: right;
	background: #fff;
	position: absolute;
	bottom: 0;
	right: 0;
}
.mblist a:hover .nextmore {
	visibility: hidden;
}

.linkbtn {
	width: min(16.666666vw, 240px);
	height: min(3.333333vw, 48px);
	padding: 0 min(2.152777vw, 31px);
	border-radius: min(var(--vw24px), 24px);
	-webkit-justify-content:center;
	justify-content:center;
}
/*--- arrow_none ---*/
.morebtn.arrow_none {
	padding: 0 min(1.458333vw, 21px);
	-webkit-justify-content:center;
	justify-content:center;
}
.morebtn.arrow_none::after {
	display: none;
}
/*--- flexb ---*/
.flexb {
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
}
.flexb .morebtn {
	width: auto;
	line-height: 1;
}

/* --- [header footer nav] --- */
.lower header {
	box-sizing: border-box;
	height: min(8.333333vw, 120px);
}

nav ul a:hover {
	color: #000;
}

header nav > ul {
	margin: min(3.541666vw, 51px) min(8.888888vw, 128px) 0 0;
	font-size: min(var(--vw13px), 13px);
	font-weight: 700;
	line-height: 1;
	display:-webkit-flex;
	-webkit-justify-content:flex-end;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:flex-end;
	align-items:flex-start;
}
header nav > ul li + li{
	margin-left: min(var(--vw32px), 32px);
}
header nav > ul a {
	transition: color 300ms 0s ease;
}
header nav > ul a:hover {
	color: #fff;
	opacity: 0.8;
}
.lower header nav > ul a {
	color: #000;
}
.lower header nav > ul a:hover {
	color: #000;
	opacity: 0.8;
}

/* --- [header nav] dwmenu --- */
#dwmenu {
	position: fixed;
	top: 0;
	bottom: 0;
	width: auto;
	height: 100vh;
	padding: 0;
	right: calc(0px - min(40vw, 576px));
	background: #000;
	overflow: hidden;
}
#dwmenu .warp{
	box-sizing: border-box;
	width: min(40vw, 576px);
	padding: min(4.305555vw, 62px) min(var(--vw56px), 56px);
	display:-webkit-flex;
	-webkit-justify-content:flex-end;
	-webkit-align-items:flex-start;
	-webkit-flex-direction: column;
	display:flex;
	justify-content:flex-end;
	align-items:flex-start;
	flex-direction: column;
}
.navopen #dwmenu {
	right: 0;
}

.navopen #bodymask {
	content:"";
	display: block;
	position:fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,0.35);
}

#dwicon {
	position: fixed;
	top: min(var(--vw24px), 24px);
	left: auto;
	right: min(var(--vw24px), 24px);
	width: min(4.444444vw, 64px);
	height: min(4.444444vw, 64px);
	cursor: pointer;
}
#dwicon::before,
#dwicon::after {
	width: min(2.222222vw, 32px);
}
#dwicon::before {
	top: calc(50% - min(0.208333vw, 3px));
}
#dwicon::after {
	top: calc(50% + min(0.208333vw, 3px));
}
.navopen #dwicon {
	left: auto;
	right: min(1.666666vw, 24px);
}

nav #dwmenu .warp > * {
	width: 100%;
}

/* --- [header footer nav] category --- */
nav ul.category {
	margin: 0 0 auto;
	font-size: min(var(--vw32px), 32px);
}
nav ul.category li + li {
	margin-top: min(var(--vw22px), 22px);
}

header nav ul.category a {
	position: relative;
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:center;
	display:flex;
	justify-content:flex-start;
	align-items:center;
}
nav ul.category a:hover {
	color: #fff;
	opacity: 0.8;
}
header nav ul.category a.active::before {
	content: "";
	position: absolute;
	margin-left: -0.5em;
	width: min(0.555555vw, 8px);
	height: min(0.555555vw, 8px);
	border-radius: 100%;
	background: #fff;
}

/* --- [header footer nav] btn --- */
nav ul.btn {
	display:-webkit-flex;
	-webkit-justify-content:space-between;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	margin-top: min(var(--vw25px), 25px);
}
nav ul.btn li {
	flex: 1;
}
nav ul.btn li + li {
	margin-left: min(var(--vw4px), 4px);
}
nav ul.btn li a {
	height: min(var(--vw56px), 56px);
	/*border-radius: min(1.944444vw, 28px);*/
	font-size: min(var(--vw16px), 16px);
	transition: all 300ms 0s ease;
}
nav ul.btn li a:hover {
	background: #ccc;
}

footer nav ul.btn {
	display: block;
	margin-top: 0;
	width: min(16.666666vw, 240px);
}
footer nav ul.btn li + li {
	margin-left: 0;
	margin-top: min(0.277777vw, 4px);
}
footer nav ul.btn li a {
	height: min(var(--vw48px), 48px);
}

/* --- [header footer nav] media --- */
nav .media {
	display:-webkit-flex;
	-webkit-justify-content:space-between;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	padding: min(var(--vw25px), 25px) 0;
	margin-top: min(var(--vw20px), 20px);
	font-size: min(1.319444vw, 19px);
}
nav .media p {
	margin-top: 0.2em;
}
nav .media ul {
	flex: 1;
	margin-left: min(var(--vw25px), 25px);
}
nav .media li + li {
	margin-left: min(var(--vw4px), 4px);
}
nav .media a {
	height: min(var(--vw56px), 56px);
}
nav .media a:hover {
	opacity: 0.8;
}

footer nav .media {
	display: block;
	padding: 0;
	border: none;
	margin-top: 0;
}
footer nav .media p {
	margin-top: min(2.638888vw, 38px);
	margin-bottom: min(var(--vw12px), 12px);
}
footer nav .media ul {
	display: block;
	margin-left: 0;
}
footer nav .media li + li {
	margin-left: 0;
	margin-top: min(0.277777vw, 4px);
}
footer nav .media a {
	height: min(var(--vw48px), 48px);
}

/* --- [header footer nav] other --- */
nav .other {
	display:-webkit-flex;
	-webkit-justify-content:space-between;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	padding-top: min(var(--vw25px), 25px);
}
nav .other .clm:first-child {
	width: 37.5%;
}
nav .other .clm:last-child {
	width: 62.5%;
}
nav .other a:hover {
	color: #fff;
	opacity: 0.8;
}

/* --- [header footer nav] lang --- */
nav ul.lang {
	padding-top: min(var(--vw10px), 10px);
	font-size: min(var(--vw13px), 13px);
}

nav ul.lang li + li::before {
	font-size: min(0.625vw, 9px);
}
nav ul.lang li .active::before {
	width: min(0.347222vw, 5px);
	height: min(0.347222vw, 5px);
}

nav ul.lang li .active::before {
	content: "";
	position: absolute;
	top: calc(0px - min(0.694444vw, 10px));
	left: 0;
	right: 0;
	margin: auto;
	width: min(0.347222vw, 5px);
	height: min(0.347222vw, 5px);
	border-radius: 100%;
	background: #fff;
}

/* --- [header footer av] sns --- */
nav ul.sns {
	margin-top: min(var(--vw16px), 16px);
}
nav ul.sns li + li {
	margin-left: min(var(--vw12px), 12px);
}
nav ul.sns a {
	width: min(var(--vw20px),20px);
	height: min(var(--vw20px),20px);
}

/* --- [header footer nav] sub --- */
nav .other .clm:last-child {
	display:-webkit-flex;
	-webkit-justify-content:space-between;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}

nav ul.sub {
	font-size: min(var(--vw10px), 10px);
	line-height: 1.3;
}
nav ul.sub + ul.sub {
	margin-left: 0.5em;
}
nav ul.sub li + li {
	margin-top: 0.8em;
}

/* --- [footer] --- */
footer .container {
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	padding: min(6.111111vw, 88px) 120px min(3.125vw, 45px);/*min(8.333333vw, 120px)*/
	display:-webkit-flex;
	-webkit-justify-content:space-between;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
footer .siteid,
footer .siteid-en {
	margin: 0;/*min(2.777777vw, 40px) 0 0;*/
}
footer a {
	color: #fff;
}
footer nav {
	width: 56.75%;
}
footer nav ul.category {
	font-size: min(var(--vw14px), 14px);
	line-height: 1;
	display:-webkit-flex;
	-webkit-justify-content:space-between;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
footer nav ul.category li + li {
	margin-top: 0;
}
footer nav ul.category a.active,
footer nav ul.category a:hover {
	color: #fff;
	background: transparent;
	opacity: 0.8;
}

footer nav ul.sub {
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:flex-start;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	font-size: min(var(--vw12px), 12px);
	margin-top: min(var(--vw28px), 28px);
}
footer nav ul.sub a:hover,
footer nav ul.sns a:hover {
	color: #fff;
	opacity: 0.8;
}
footer nav ul.sub li + li {
	margin-top: 0;
	margin-left: min(var(--vw26px), 26px);
}
footer nav .other {
	width: 100%;
	border-top: 1px solid #fff;
	padding: min(3.125vw, 45px) 0;
	margin-top: min(var(--vw24px), 24px);
	-webkit-align-items:baseline;
	align-items:baseline;
}
footer nav .other .sns {
	margin: 0 auto 0 min(var(--vw30px), 30px);
}
footer .copyright {
	font-size: min(var(--vw11px), 11px);
}

/* --- scrollbar --- */
#scrtabwrap {
	position: fixed;
	top: min(8.333333vw, 120px);
	right: min(3.888888vw, 56px);
	width: 13px;
	height: calc(100vh - min(8.333333vw, 120px));
	margin-right: -6px;
	overflow: hidden;
	z-index: 998;
}

#scrbar {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	width: 1px;
	height: 100%;
	opacity: 0;
	transition: opacity 300ms 0s ease;
}
.onscrbar #scrbar {
	opacity: 1;
}
#scrbg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	background: -webkit-linear-gradient(top, #fff 0%, #fff calc(0% + 192px), #000 calc(0% + 192px), #000 100%) 0 0 no-repeat;
	background: linear-gradient(to bottom, #fff 0%, #fff var(--barGrpos1), #000 var(--barGrpos1), #000 var(--barGrpos2), #fff var(--barGrpos2), #fff 100%) 0 0 no-repeat;
}
.withnotice #scrbg {
	background: -webkit-linear-gradient(top, #fff 0%, #fff 50%, #000 50%, #000 100%) 0 0 no-repeat;
	background: linear-gradient(to bottom, #fff 0%, #fff calc(0% + min(21.666666vw, 312px)), #000 calc(0% + min(21.666666vw, 312px)), #000 100%) 0 0 no-repeat;
}
.lower #scrbg {
	background:#000;
}
#scrtab{
	position: absolute;
	top: 0;
	left: calc(0px - min(0.416666vw, 6px));
	width: min(var(--vw13px), 13px);
	height: min(var(--vw13px), 13px);
	background: url("../img/scrtab.png") 0 0 no-repeat;
	background-size: 100% auto;
	z-index: 1;
}

/* --- topagetop --- */
#topagetop {
	width: 31px;
	height: 31px;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 100%;
	cursor: pointer;
	display: none;
	justify-content: center;
	align-items: center;
	background: #fff;
	z-index: 998;
}
#topagetop::before {
	content: "";
	display: block;
	width: 8px;
	height: 11px;
	background: url("../img/arrow.svg") 0 0 no-repeat;
	background-size: 100% auto;
	transform:rotate(-90deg);
}
.lower #topagetop {
	background: #000;
}
.lower #topagetop::before {
	background-image: url("../img/arrow_o.svg");
}
#scrtabwrap.active + #topagetop {
	display: flex;
}
#scrtabwrap.active #scrtab {
	visibility: hidden;
}


/* --- GDPR --- */
#gdpr {
	min-height: min(5vw, 72px);
	padding: 0 120px;
	display:-webkit-flex;
	-webkit-justify-content:center;
	-webkit-align-items:center;
	display:flex;
	justify-content:center;
	align-items:center;
}
#gdpr .container {
	max-width: 1200px;
	width: 100%;
	padding: 0;
	margin: 0 auto;
}
#gdpr .close {
	width: min(var(--vw30px), 30px);
	height: min(var(--vw30px), 30px);
	background-size: min(var(--vw17px), 17px) auto;
	margin-right: calc(0px - min(var(--vw8px), 8px));
}

}/* end @media */
