@charset "UTF-8";

/*************************************************************
 *	finders common.css
 ************************************************************/

*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}
html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{margin:0}
main{display:block}
p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}
ul,ol{margin:0;padding:0;list-style:none}
dt{font-weight:700}
dd{margin-left:0}
hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}
pre{font-family:monospace,monospace;font-size:inherit}
address{font-style:inherit}
a{background-color:transparent;text-decoration:none;color:inherit}
abbr[title]{text-decoration:underline dotted}
b,strong{font-weight:bolder}
code,kbd,samp{font-family:monospace,monospace;font-size:inherit}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
svg,img,embed,object,iframe{vertical-align:bottom}
button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}
[type="checkbox"]{-webkit-appearance:checkbox;appearance:checkbox}
[type="radio"]{-webkit-appearance:radio;appearance:radio}
button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}
button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}
:-moz-focusring{outline:auto}
select:disabled{opacity:inherit}
option{padding:0}
fieldset{margin:0;padding:0;min-width:0}
legend{padding:0}
progress{vertical-align:baseline}
textarea{overflow:auto}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}
[type="search"]{outline-offset:-2px}
[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
label[for]{cursor:pointer}
details{display:block}
summary{display:list-item}
[contenteditable]:focus{outline:auto}
table{border-color:inherit}
caption{text-align:left}
td,th{vertical-align:top;padding:0}
th{text-align:left;font-weight:700}


/* --------------------------------------------------
	foundation
-------------------------------------------------- */
:root {
	--bar-width: 17px;
	--vh: 100vh;
}
html {
	font-size: 62.5%;
	overflow-y: scroll;
	background-color: #F2F2F2;
}
html.is-naviopen {
	overflow: hidden;
}
body {
	position: relative;
	overflow: hidden;
	font-family: 'YuGothic', 'Yu Gothic Medium', 'Yu Gothic', sans-serif;
	font-size: 1.6rem;
	line-height: 1.6;
	color: #000000;
}
svg {
	height: auto;
}
@media screen and (min-width: 768px) {
	html.is-naviopen,
	html.is-modalopen {
		margin-right: var(--bar-width);
	}
	img,
	svg {
		max-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	html.is-naviopen,
	html.is-modalopen {
		margin-right: 0;
	}
	img,
	svg {
		width: 100%;
	}
}


/* --------------------------------------------------
	layout
-------------------------------------------------- */
.l-wrap {
	padding-top: 80px;
}
.l-wrap__inner {
	display: flex;
	margin: 0 auto;
}
.l-main {
	flex: 1;
	width: 100%;
}
.l-wrap.col--2 .l-main {
	padding: 60px 0 160px;
	width: calc(860 / 1220 * 100%);
}
.l-wrap.col--2 .l-main > * + * {
	margin-top: 60px;
}
.l-sec {
	position: relative;
	padding-bottom: 160px;
}
.l-sec + .l-sec[class*=u-bg-color],
.l-sec.u-bg-color--black + .l-sec:not(.u-bg-color--black),
.l-sec.u-bg-color--white + .l-sec:not(.u-bg-color--white) {
	padding-top: 160px;
}
.l-sec.u-bg-color--pb0 {
	padding-bottom: 0 !important;
}
.l-sec.u-bg-color--pt0 {
	padding-top: 0 !important;
}
.l-sec__inner {
	position: relative;
	margin: 0 auto;
}
.l-article {
	position: relative;
}
.l-aside {
	position: relative;
	width: calc(300 / 1220 * 100%);
	margin-left: calc(60 / 1220 * 100%);
	padding: 60px 0 160px;
}
.l-aside__child + .l-aside__child {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #DDDDDD;
}
@media screen and (min-width: 768px) {
	.l-wrap.col--2 .l-wrap__inner {
		padding: 0 calc(60 / 1340 * 100%);
	}
	.l-sec__inner {
		padding: 0 calc(60 / 1340 * 100%);
	}
}
@media screen and (min-width: 1340px) {
	.l-wrap.col--2 .l-wrap__inner {
		max-width: 1340px;
		padding: 0 60px;
	}
	.l-sec__inner {
		max-width: 1340px;
		padding: 0 60px;
	}
}
@media screen and (max-width: 767px) {
	.l-wrap {
		padding-top: 60px;
	}
	.l-wrap.col--2 .l-wrap__inner {
		display: block;
		padding: 0 0;
	}
	.l-wrap.col--2 .l-main {
		padding: 0 4% 60px;
		width: 100%;
	}
	.l-wrap.col--2 .l-main > * + * {
		margin-top: 45px;
	}
	.l-sec {
		padding-bottom: 60px;
	}
	.l-sec + .l-sec[class*=u-bg-color],
	.l-sec.u-bg-color--black + .l-sec:not(.u-bg-color--black),
	.l-sec.u-bg-color--white + .l-sec:not(.u-bg-color--white) {
		padding-top: 60px;
	}
	.l-sec__inner {
		padding: 0 4%;
	}
	.l-aside {
		width: 100%;
		margin-left: 0;
		padding: 0 4% 60px;
	}
	.l-aside__child + .l-aside__child {
		margin-top: 45px;
		padding-top: 45px;
	}
}


/* --------------------------------------------------
	layout - l-header
-------------------------------------------------- */
.l-header {
	position: absolute;
	z-index: 200;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background-color: #000000;
}
.l-header.is-fixed {
	position: fixed;
}
.l-header .l-sec__inner {
	max-width: none;
	padding: 0 0;
	height: 100%;
}
.l-header__logo {
	position: absolute;
	width: 170px;
	top: calc(50% - 12px);
	font-size: 0;
}
.l-header__logo .v {
	display: none;
}
.l-header__sns {
	position: absolute;
	right: 120px;
	top: calc(50% - 13px);
	display: flex;
	align-items: center;
}
.l-header-sns__text {
	font-size: 1.6rem;
	color: #FFFFFF;
	margin-right: 20px;
}
.l-header-sns__list {
	display: flex;
}
.l-header-sns__list li + li {
	margin-left: 20px;
}
.l-header-sns__list li a {
	display: block;
	width: 24px;
	font-size: 0;
}
.l-header-nav__button {
	position: absolute;
	z-index: 10;
	right: 0;
	width: 90px;
	height: 24px;
	top: calc(50% - 14px);
}
.l-header-nav__button span {
	position: absolute;
	top: calc(50% - 2px);
	right: 0;
	width: 100%;
	height: 3px;
	background-color: #FFFFFF;
}
.l-header-nav__button:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 3px;
	background-color: #FFFFFF;
}
.l-header-nav__button:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 3px;
	background-color: #FFFFFF;
}
@media screen and (min-width: 768px) {
	html.is-naviopen .l-header.is-fixed {
		padding-right: calc(var(--bar-width));
	}
	.l-header__logo {
		left: calc(60 / 1340 * 100%);
	}
	.l-header-nav__button:before {
		transition: width .3s ease;
	}
	.l-header-nav__button:hover:before {
		width: 110px;
	}
	.l-header-nav__button span {
		transition: width .3s ease;
	}
	.l-header-nav__button:hover span {
		width: 100px;
	}
	.l-header-nav__button:after {
		transition: width .3s ease;
	}
	.l-header-nav__button:hover:after {
		width: 90px;
	}
}
@media screen and (min-width: 1340px) {
	.l-header__logo {
		left: 60px;
	}
}
@media screen and (max-width: 767px) {
	.l-header {
		height: 60px;
	}
	.l-header__logo {
		position: absolute;
		width: 90px;
		height: 90px;
		top: 0;
		left: 0;
		padding: 20px 25px 0 25px;
		background-color: #000000;
	}
	.l-header__logo .h {
		display: none;
	}
	.l-header__logo .v {
		display: block;
	}
	.l-header.is-fixed .l-header__logo {
		width: 115px;
		height: auto;
		top: calc(50% - 8px);
		left: 4%;
		padding: 0 0;
	}
	.l-header.is-fixed .l-header__logo .h {
		display: block;
	}
	.l-header.is-fixed .l-header__logo .v {
		display: none;
	}
	.l-header__sns {
		right: 80px;
		top: calc(50% - 10px);
	}
	.l-header-sns__text {
		font-size: 1.0rem;
		margin-right: 10px;
	}
	.l-header-sns__list li + li {
		margin-left: 10px;
	}
	.l-header-sns__list li a {
		width: 20px;
	}
	.l-header-nav__button {
		width: 60px;
		height: 16px;
		top: calc(50% - 8px);
	}
	.l-header-nav__button span {
		top: calc(50% - 1px);
		height: 2px;
	}
	.l-header-nav__button:before {
		height: 2px;
	}
	.l-header-nav__button:after {
		height: 2px;
	}
}


/* --------------------------------------------------
	layout - l-nav
-------------------------------------------------- */
.l-nav {
	position: fixed;
	z-index: 300;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: none;
}
.l-nav__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
}
.l-nav__bg span {
	display: block;
	width: calc(1 / 3 * 100%);
	height: calc(1 / 3 * 100%);
	background-color: #000000;
	animation: navBgShow 0.5s ease 0s;
}
.l-nav__bg.is-reverse span {
	animation: navBgHide 0.5s ease 0s;
	animation-direction: alternate-reverse;
}
.l-nav__bg span:nth-of-type(1) {
	animation-delay: 0.2s;
}
.l-nav__bg.is-reverse span:nth-of-type(1) {
	animation-delay: 0.2s;
}
.l-nav__bg span:nth-of-type(2) {
	animation-delay: 0.1s;
}
.l-nav__bg.is-reverse span:nth-of-type(2) {
	animation-delay: 0.3s;
}
.l-nav__bg span:nth-of-type(3) {
	animation-delay: 0s;
}
.l-nav__bg.is-reverse span:nth-of-type(3) {
	animation-delay: 0.4s;
}
.l-nav__bg span:nth-of-type(4) {
	animation-delay: 0.3s;
}
.l-nav__bg.is-reverse span:nth-of-type(4) {
	animation-delay: 0.1s;
}
.l-nav__bg span:nth-of-type(5) {
	animation-delay: 0.2s;
}
.l-nav__bg.is-reverse span:nth-of-type(5) {
	animation-delay: 0.2s;
}
.l-nav__bg span:nth-of-type(6) {
	animation-delay: 0.1s;
}
.l-nav__bg.is-reverse span:nth-of-type(6) {
	animation-delay: 0.3s;
}
.l-nav__bg span:nth-of-type(7) {
	animation-delay: 0.4s;
}
.l-nav__bg.is-reverse span:nth-of-type(7) {
	animation-delay: 0s;
}
.l-nav__bg span:nth-of-type(8) {
	animation-delay: 0.3s;
}
.l-nav__bg.is-reverse span:nth-of-type(8) {
	animation-delay: 0.1s;
}
.l-nav__bg span:nth-of-type(9) {
	animation-delay: 0.2s;
}
.l-nav__bg.is-reverse span:nth-of-type(9) {
	animation-delay: 0.2s;
}
.l-nav__wrap {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	overflow-y: auto;
}
.l-nav__close {
	position: fixed;
	z-index: 2;
	top: 28px;
	right: 0;
	width: 90px;
	height: 24px;
}
.l-nav__close span {
	position: absolute;
	top: calc(50% - 2px);
	right: 0;
	width: 100%;
	height: 3px;
	background-color: #FFFFFF;
}
.l-nav .l-sec__inner {
	margin: auto auto;
}
.l-nav__inner {
	margin: 0 auto;
	padding: 100px 0;
	max-width: 400px;
	color: #FFFFFF;
	text-align: center;
}
.l-nav__serach {
	position: relative;
	margin-bottom: 60px;
}
.l-nav__serach input {
	width: 100%;
	padding: 0.6em calc(1.0em + 50px) 0.6em 1.0em;
	border: 1px solid #FFFFFF;
	border-radius: 0 0;
	font-size: 1.8rem;
	text-align: left;
	outline: none;
}
.l-nav__serach button {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 50px;
	background-image: url(../img/icon_search.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-color: #FFFFFF;
}
.l-nav__list.list--01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -30px auto 60px;
}
.l-nav__list.list--01 li {
	width: calc(1 / 3 * 100%);
	margin-top: 30px;
}
.l-nav__list.list--01 li .en {
	font-size: 2.0rem;
	display: inline-block;
	line-height: 1.4;
}
.l-nav__list.list--01 li .jp {
	font-size: 1.2rem;
	display: inline-block;
}
.l-nav__list.list--02 {
	border-top: 1px solid rgba(255, 255, 255, 0.5);
	padding-top: 30px;
	margin-bottom: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.l-nav__list.list--02 li {
	position: relative;
	font-size: 1.4rem;
	padding: 0 1.0em;
}
.l-nav__list.list--02 li + li:before {
	content: "";
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 1px;
	height: calc(100% - 0.4em);
	background-color: rgba(255, 255, 255, 0.5);
}
.l-nav__logo {
	width: 214px;
	margin: 0 auto 15px;
	font-size: 0;
}
.l-nav__copyright {
	font-size: 1.0rem;
	margin-bottom: 30px;
}
.l-nav-sns__list {
	display: flex;
	justify-content: center;
}
.l-nav-sns__list li {
	width: 30px;
	margin: 0 5px;
}
.l-nav-sns__list li a {
	display: block;
}
@media screen and (min-width: 768px) {
	.l-nav__list li a {
		transition: opacity .3s ease;
	}
	.l-nav__list li a:hover {
		opacity: 0.6;
	}
	.l-nav__close span {
		transition: width .3s ease;
	}
	.l-nav__close:hover span {
		width: 100px;
	}
}
@media screen and (max-width: 767px) {
	.l-nav__close {
		top: 15px;
		width: 60px;
		height: 30px;
	}
	.l-nav__close span {
		top: calc(50% - 1px);
		height: 2px;
	}
	.l-nav__inner {
		margin: 0 auto;
		padding: 100px calc(15 / 345 * 100%);
		max-width: none;
	}
	.l-nav__list.list--01 {
		justify-content: flex-start;
	}
	.l-nav__list.list--01 li {
		text-align: left;
		width: calc(1 / 2 * 100%);
	}
}
@keyframes navBgShow {
	 0% { opacity: 0; }
	10% { opacity: 1; background-color:#FFFFFF; }
	20% { opacity: 0.8; }
	30% { opacity: 1; background-color:#000000; }
	40% { opacity: 0.9; }
	80% { opacity: 1; }
}
@keyframes navBgHide {
	 0% { opacity: 0; }
	10% { opacity: 1; background-color:#FFFFFF; }
	20% { opacity: 0.8; }
	30% { opacity: 1; background-color:#000000; }
	40% { opacity: 0.9; }
	80% { opacity: 1; }
}


/* --------------------------------------------------
	layout - l-footer
-------------------------------------------------- */
.l-footer {
	padding: 90px 0;
}
.l-footer__logo {
	width: 214px;
	margin: 0 auto 30px;
}
.l-footer__sns {
	display: flex;
	justify-content: center;
	margin-bottom: 30px;
}
.l-footer__sns li {
	margin: 0 10px;
}
.l-footer__sns li a {
	display: block;
	width: 32px;
	font-size: 0;
}
.l-footer__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -10px -15px 60px;
	font-size: 2.0rem;
}
.l-footer__links li {
	margin: 10px 30px 0;
}
.l-footer__policy {
	text-align: center;
	font-size: 1.4rem;
	margin-bottom: 10px;
}
.l-footer__copyright {
	text-align: center;
	font-size: 1.4rem;
	color: #888888;
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.l-footer {
		padding: 60px 0;
	}
	.l-footer__logo {
		width: 142px;
	}
	.l-footer__links {
		margin: -10px -7.5px 60px;
	}
	.l-footer__links li {
		margin: 10px 15px 0;
	}
	.l-footer__policy {
		font-size: 1.2rem;
	}
	.l-footer__copyright {
		font-size: 1.2rem;
	}
}


/* --------------------------------------------------
	component - button
-------------------------------------------------- */
.c-button--a {
	text-decoration: none;
}
.c-button--b {
	text-decoration: underline;
}
.c-button--c {
}
.c-button--d {
	display: block;
	text-align: center;
	font-size: 2.0rem;
	color: #FFFFFF;
	border: 1px solid #FFFFFF;
	background-color: #000000;
	border-radius: 40px 40px;
	padding: 15px 0;
	margin: 0 auto;
}
@media screen and (min-width: 768px) {
	.c-button--a:hover {
		text-decoration: underline;
	}
	.c-button--b:hover {
		text-decoration: none;
	}
	.c-button--c {
		transition: opacity .3s ease;
	}
	.c-button--c:hover {
		opacity: 0.6;
	}
	.c-button--d {
		transition: color .4s ease,
					background-color .4s ease;
	}
	.c-button--d:hover {
		color: #000000;
		background-color: #FFFFFF;
	}
}
@media screen and (max-width: 767px) {
	.c-button--d {
		font-size: 1.6rem;
		padding: 10px 0;
	}
}


/* --------------------------------------------------
	component - title
-------------------------------------------------- */
.c-h2__title {
	margin-bottom: 60px;
}
.c-h2__title .en {
	font-size: 4.0rem;
	vertical-align: middle;
}
.c-h2__title .jp {
	font-size: 2.0rem;
	vertical-align: middle;
}
.c-h2__title .delimiter {
	padding: 0 1.0em;
}
.l-aside .c-h3__title {
	margin-bottom: 30px;
}
.l-aside .c-h3__title .en {
	display: block;
	font-size: 2.8rem;
	line-height: 1.3;
	word-wrap: break-word;
}
.l-aside .c-h3__title .jp {
	display: block;
	font-size: 1.6rem;
	margin-top: 5px;
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.c-h2__title {
		margin-bottom: 45px;
		text-align: center;
	}
	.c-h2__title .en {
		font-size: 3.2rem;
		display: block;
	}
	.c-h2__title .jp {
		font-size: 1.6rem;
		display: block;
	}
	.c-h2__title .delimiter {
		display: none;
	}
	.l-aside .c-h3__title {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 45px;
	}
	.l-aside .c-h3__title .en {
		font-size: 2.6rem;
	}
	.l-aside .c-h3__title .jp {
		font-size: 1.6rem;
		margin-top: 0;
	}
}


/* --------------------------------------------------
	layout - cols
-------------------------------------------------- */
.l-cols--a {
	display: flex;
	justify-content: space-between;
}
.l-cols--a > .l-col:nth-of-type(1) {
	width: calc(860 / 1220 * 100%);
}
.l-cols--a > .l-col:nth-of-type(2) {
	width: calc(300 / 1220 * 100%);
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.l-cols--a {
		display: block;
	}
	.l-cols--a > .l-col:nth-of-type(1) {
		width: 100%;
		margin-bottom: 60px;
	}
	.l-cols--a > .l-col:nth-of-type(2) {
		width: 100%;
	}
}


/* --------------------------------------------------
	component - grid
-------------------------------------------------- */
.l-grid--article {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 60px calc(40 / 1220 * 100%);
}
.l-grid--article .w2 {
	grid-column: span 2;
}
.l-grid--article .h2 {
	grid-row: span 2;
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.l-grid--article {
		display: block;
	}
	.l-grid--article > li + li {
		margin-top: 45px;
	}
}


/* --------------------------------------------------
	component - text
-------------------------------------------------- */
.c-dot--line1 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}
.c-dot--line2 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.c-dot--line3 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.c-dot--line4 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/* --------------------------------------------------
	component - list
-------------------------------------------------- */
.c-list--a li {
	position: relative;
	padding-left: 1.2em;
}
.c-list--a li:before {
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}
.c-list--b {
	counter-reset: count 0;
}
.c-list--b li {
	position: relative;
	padding-left: 1.5em;
}
.c-list--b li:before {
	position: absolute;
	top: 0;
	left: 0;
	content: counter(count);
	counter-increment: count 1;
}
.c-list--c li + li {
	margin-top: 30px;
}
.c-list--d li + li {
	margin-top: 10px;
}
.c-list--e li + li {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #DDDDDD;
}
.c-popular__list li:nth-of-type(n+4) .p-panel--b .num {
	color: #000000;
	background-color: transparent;
}
@media screen and (min-width: 768px) {
	.c-popular__list li:nth-of-type(-n+3) .p-panel--b .title {
		-webkit-line-clamp: 3;
	}
	.c-popular__list li:nth-of-type(n+4) .p-panel--b .title {
		padding-top: 0.2em;
	}
	.l-aside .c-popular__list li:nth-of-type(-n+3) {
		padding-top: 0;
		border-top: none;
	}
	.l-aside .c-popular__list li:nth-of-type(n+4) .p-panel--b .body {
		margin-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.c-list--c li + li {
		margin-top: 45px;
	}
	.c-list--e li + li {
		margin-top: 30px;
		padding-top: 30px;
	}
	.c-popular__list li:nth-of-type(-n+3) {
		padding-top: 0;
		margin-top: 45px;
		border-top: none;
	}
	.c-popular__list li:nth-of-type(n+4) .p-panel--b .body {
		margin-top: 0;
	}
}


/* --------------------------------------------------
	component - image
-------------------------------------------------- */
.c-image--fit {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: calc(2 / 3 * 100%);
}
.c-image--fit img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.c-image--fit .pr {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	font-size: 1.0rem;
	color: #000000;
	background-color: #FFFFFF;
	padding: 2px 6px;
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/* --------------------------------------------------
	component - ※※※※※
-------------------------------------------------- */
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/* --------------------------------------------------
	project - panel
-------------------------------------------------- */
.p-panel--a {
	position: relative;
	display: block;
}
.p-panel--a .pr {
	position: absolute;
	z-index: 1;
	left: 0;
	top: 0;
	font-size: 1.0rem;
	color: #000000;
	background-color: #FFFFFF;
	padding: 2px 6px;
}
.p-panel--a .info {
	position: absolute;
	z-index: 1;
	right: 0;
	top: 0;
	font-size: 1.0rem;
	color: #FFFFFF;
	background-color: #000000;
	padding: 2px 6px;
}
.p-panel--a .title {
	font-size: 1.8rem;
	color: #000000;
	margin-top: 15px;
}
.p-panel--a .text {
	font-size: 1.4rem;
	color: #888888;
	margin-top: 10px;
}
.p-panel--b {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.p-panel--b .image {
	width: calc(240 / 860 * 100%);
	margin-left: calc(60 / 860 * 100%);
}
.p-panel--b .body {
	flex: 1;
	display: flex;
}
.p-panel--b .num {
	color: #FFFFFF;
	background-color: #000000;
	width: 60px;
	font-size: 2.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.p-panel--b .unit {
	flex: 1;
	margin-left: calc(30 / 560 * 100%);
}
.p-panel--b .info {
	font-size: 1.0rem;
	color: #FFFFFF;
	background-color: #000000;
	padding: 2px 6px;
	display: inline-block;
	margin-bottom: 20px;
}
.p-panel--b .title {
	font-size: 1.8rem;
}
.p-panel--c .image {
	position: relative;
	overflow: hidden;
}
.p-panel--e {
	display: flex;
}
.p-panel--e .image {
	min-width: 60px;
	width: calc(90 / 300 * 100%);
	margin-right: 15px;
}
.p-panel--e .body {
	flex: 1;
	font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
	.p-panel--a .title {
		transition: opacity .3s ease;
	}
	.p-panel--a:hover .title {
		opacity: 0.6;
	}
	.p-panel--a .c-image--fit img {
		transition: transform .4s ease;
	}
	.p-panel--a:hover .c-image--fit img {
		transform: scale(1.06);
	}
	.p-panel--b .title {
		transition: opacity .3s ease;
	}
	.p-panel--b:hover .title {
		opacity: 0.6;
	}
	.p-panel--b .c-image--fit img {
		transition: transform .4s ease;
	}
	.p-panel--b:hover .c-image--fit img {
		transform: scale(1.06);
	}
	.l-aside .p-panel--b {
		display: block;
	}
	.l-aside .p-panel--b .image {
		width: 100%;
		margin-left: 0;
	}
	.l-aside .p-panel--b .body {
		margin-top: 15px;
	}
	.l-aside .p-panel--b .num {
		width: 36px;
		height: 36px;
		font-size: 1.8rem;
	}
	.l-aside .p-panel--b .unit {
		margin-left: 15px;
	}
	.l-aside .p-panel--b .info {
		position: absolute;
		z-index: 1;
		left: 0;
		top: 0;
		margin-bottom: 0;
	}
	.l-aside .p-panel--b .pr {
		left: auto;
		right: 0;
	}
	.l-aside .p-panel--b .title {
		font-size: 1.6rem;
	}
	.p-panel--c .image img {
		transition: transform .4s ease;
	}
	.p-panel--c:hover .image img {
		transform: scale(1.06);
	}
	.p-panel--e .image img {
		transition: transform .4s ease;
	}
	.p-panel--e:hover .image img {
		transform: scale(1.06);
	}
	.p-panel--e .body {
		transition: opacity .3s ease;
	}
	.p-panel--e:hover .body {
		opacity: 0.6;
	}
}
@media screen and (max-width: 767px) {
	.p-panel--a .text {
		font-size: 1.2rem;
	}
	.l-sp-grid--article .p-panel--a {
		display: flex;
	}
	.l-sp-grid--article .p-panel--a .image {
		width: calc(120 / 345 * 100%);
		margin-right: 15px;
	}
	.l-sp-grid--article .p-panel--a .body {
		flex: 1;
	}
	.l-sp-grid--article .p-panel--a .info {
		position: relative;
		display: inline-block;
	}
	.l-sp-grid--article .p-panel--a .title {
		font-size: 1.4rem;
		margin-top: 10px;
	}
	.l-sp-grid--article .p-panel--a .text {
		display: none;
	}
	.p-panel--b {
		display: block;
	}
	.p-panel--b .image {
		width: 100%;
		margin-left: 0;
	}
	.p-panel--b .body {
		margin-top: 15px;
	}
	.p-panel--b .num {
		width: 40px;
		height: 40px;
		font-size: 2.2rem;
	}
	.p-panel--b .unit {
		margin-left: 10px;
	}
	.p-panel--b .info {
		position: absolute;
		z-index: 1;
		left: 0;
		top: 0;
		margin-bottom: 0;
	}
	.p-panel--b .title {
		font-size: 1.6rem;
	}
	.p-panel--e .image {
		min-width: 0;
		width: calc(120 / 345 * 100%);
	}
}


/* --------------------------------------------------
	project - recommended-popin
-------------------------------------------------- */
.p-recommended-popin {
	padding: 160px 0;
}
.p-recommended-popin__list {
	display: flex;
	flex-wrap: wrap;
	margin: -60px calc(-20 / 1220 * 100%) 0;
}
.p-recommended-popin__list li {
	width: 25%;
	padding: 0 calc(20 / 1260 * 100%);
	margin-top: 60px;
}
.p-recommended-popin__unit .image {
	margin-bottom: 15px;
}
.p-recommended-popin__unit .note {
	font-size: 1.2rem;
	color: #888888;
	margin-top: 10px;
}
.p-recommended-popin__copyright {
	text-align: right;
	font-size: 1.2rem;
	margin-top: 60px;
}
.p-recommended-popin__copyright .logo__popln {
	font-size: 0;
	display: inline-block;
	vertical-align: middle;
	width: 50px;
	height: 13px;
	margin-left: 4px;
	background-image: url(../img/logo_popln.png);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: 100% auto;
}
@media screen and (min-width: 768px) {
	a.p-recommended-popin__unit .image img {
		transition: transform .4s ease;
	}
	a.p-recommended-popin__unit:hover .image img {
		transform: scale(1.06);
	}
	a.p-recommended-popin__unit .text {
		transition: opacity .3s ease;
	}
	a.p-recommended-popin__unit:hover .text {
		opacity: 0.8;
	}
}
@media screen and (max-width: 767px) {
	.p-recommended-popin {
		padding: 60px 0;
	}
	.p-recommended-popin__list {
		margin: -45px calc(-17 / 375 * 100%) 0;
	}
	.p-recommended-popin__list li {
		width: 50%;
		padding: 0 1px;
		margin-top: 45px;
	}
	.p-recommended-popin__unit .text {
		padding: 0 calc(15 / 186 * 100%);
	}
	.p-recommended-popin__unit .note {
		padding: 0 calc(15 / 186 * 100%);
	}
	.p-recommended-popin__copyright {
		text-align: center;
		font-size: 1.2rem;
		margin-top: 45px;
	}
}


/* --------------------------------------------------
	project - article__visual
-------------------------------------------------- */
.p-article__visual {
	margin-bottom: 60px;
}
.p-article__visual .image {
	position: relative;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-bottom: calc(2 / 3 * 100%);
}
.p-article__visual .image img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.p-article__visual .body {
	position: relative;
	color: #FFFFFF;
	border-bottom: 1px solid #DDDDDD;
}
.p-article__visual .body .info {
	position: absolute;
	z-index: 1;
	bottom: 100%;
	left: 0;
	font-size: 1.4rem;
	line-height: 1;
	padding: 4px 8px;
	background-color: #000000;
}
.p-article__visual .body .title {
	font-size: 3.2rem;
}
.p-article__visual .body .caption {
	font-size: 1.8rem;
	margin-top: 30px;
}
.p-article__visual .body .auther {
	font-size: 1.8rem;
	margin-top: 30px;
}
.p-article__visual .body .unit {
	padding: 60px calc(60 / 860 * 100%);
	background-color: #000000;
}

.p-article__visual .sns {
	position: absolute;
	z-index: 1;
	bottom: calc(100% + 10px);
	right: 10px;
	display: flex;
	padding: 10px 15px;
}
.p-article__visual .sns .title {
	font-size: 2.0rem;
	margin-right: 32px;
	color: #000000;
}
.p-article__visual .sns .list {
	display: flex;
	align-items: center;
	gap: 18px;
}
.p-article__visual .sns .list li a {
	display: block;
	width: 32px;
}
.p-article__visual .sns {
	position: relative;
	bottom: 0;
	right: 0;
	background-color: transparent;
	display: flex;
	padding: 30px 4%;
	justify-content: center;
}

@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.p-article__visual {
		margin: 0 calc(-15 / 345 * 100%) 45px;
	}
	.p-article__visual .body .unit {
		padding: 30px calc(30 / 375 * 100%);
	}
	.p-article__visual .body .info {
		position: relative;
		bottom: 0;
		font-size: 1.0rem;
		background-color: #FFFFFF;
		color: #000000;
		display: inline-block;
		margin-bottom: 20px;
	}
	.p-article__visual .body .title {
		font-size: 2.2rem;
	}
	.p-article__visual .body .caption {
		font-size: 1.2rem;
		margin-top: 20px;
	}
	.p-article__visual .body .auther {
		font-size: 1.2rem;
		margin-top: 20px;
	}
	.p-article__visual .sns .title {
		font-size: 1.6rem;
	}
	.p-article__visual .sns .list {
		gap: 10px;
	}
	.p-article__visual .sns .list li a {
		width: 24px;
	}
	
}


/* --------------------------------------------------
	project - article__body
-------------------------------------------------- */
.p-article__body {
	color: #444444;
	font-size: 2.0rem;
	line-height: 2.0;
}
.p-article__body > * + * {
	margin-top: 60px;
}
.p-article__body hr {
	border-top-width: 2px;
}
.p-article__body iframe {
	max-width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
.p-article__body > p + p {
	margin-top: 1.8em;
}
.p-article__body h2 {
	font-size: 3.2rem;
	line-height: 1.6;
	color: #000000;
	padding-bottom: 20px;
	border-bottom: 6px solid #000000;
}
.p-article__body h3 {
	font-size: 2.8rem;
	line-height: 1.8;
}
.p-article__body figure figcaption {
	font-size: 1.6rem;
	color: #888888;
	margin-top: 15px;
}
.p-article__body a {
	text-decoration: underline;
}
.p-article__body .box {
	position: relative;
	background-color: #FFFFFF;
	padding: 60px calc(60 / 860 * 100%);
	font-size: 1.8rem;
}
.p-article__body .box > * + * {
	margin-top: 1.0em;
}
.p-article__body .box h3 {
	color: #000000;
	font-size: 2.0rem;
}
@media screen and (min-width: 768px) {
	.p-article__body a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.p-article__body {
		font-size: 1.6rem;
	}
	.p-article__body > * + * {
		margin-top: 45px;
	}
	.p-article__body h2 {
		font-size: 2.0rem;
		border-bottom-width: 4px;
	}
	.p-article__body h3 {
		font-size: 1.8rem;
	}
	.p-article__body figure {
	}
	.p-article__body figure figcaption {
		font-size: 1.2rem;
		padding: 0 4%;
		margin-top: 10px;
	}
	.p-article__body .box {
		padding: 30px calc(30 / 345 * 100%);
		font-size: 1.4rem;
	}
	.p-article__body .box h3 {
		font-size: 1.6rem;
	}
}


/* --------------------------------------------------
	project - tags
-------------------------------------------------- */
.p-tags__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -10px -5px 0;
}
.p-tags__list li {
	margin: 10px 5px 0;
}
.p-tags__list li a {
	display: block;
	font-size: 1.8rem;
	line-height: 1.4;
	padding: 10px 20px;
	color: #222222;
	background-color: #FFFFFF;
	border-radius: 40px 40px;
}
.l-aside .p-tags__list {
	justify-content: flex-start;
}
.l-aside .p-tags__list li a {
	font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
	.p-tags__list li a {
		transition: color .3s ease,
					background-color .3s ease;
	}
	.p-tags__list li a:hover {
		color: #FFFFFF;
		background-color: #000000;
	}
}
@media screen and (max-width: 767px) {
	.p-tags__list {
		justify-content: flex-start;
	}
	.p-tags__list li a {
		font-size: 1.2rem;
		padding: 10px 15px;
	}
	.l-aside .p-tags__list li a {
		font-size: 1.2rem;
	}
	.p-tags.is-scroller {
		position: relative;
		overflow-x: auto;
		width: 100vw;
		padding: 0 calc(15 / 345 * 100%);
		margin: 0 calc(-15 / 345 * 100%);
	}
	.p-tags.is-scroller .p-tags__list {
		display: inline-block;
		letter-spacing: -0.4em;
		white-space: nowrap;
		margin: 0 auto;
	}
	.p-tags.is-scroller .p-tags__list li {
		display: inline-block;
		letter-spacing: 0;
	}
}


/* --------------------------------------------------
	project - pager
-------------------------------------------------- */
.p-pager {
	display: flex;
	justify-content: center;
	margin: 0 -5px;
}
.p-pager a {
	position: relative;
	display: block;
	min-width: 40px;
	height: 40px;
	line-height: 40px;
	padding: 0 5px;
	color: #444444;
	text-align: center;
	background-color: #FFFFFF;
}
.p-pager a.is-active {
	color: #FFFFFF;
	background-color: #000000;
}
.p-pager a.p-pager__prev {
	font-size: 0;
	background-image: url(../img/icon_arrow_l01.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: center center;
}
.p-pager a.p-pager__prev:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../img/icon_arrow_l02.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: center center;
	opacity: 0;
}
.p-pager a.p-pager__next {
	font-size: 0;
	background-image: url(../img/icon_arrow_r01.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: center center;
}
.p-pager a.p-pager__next:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../img/icon_arrow_r02.svg);
	background-repeat: no-repeat;
	background-size: 12px auto;
	background-position: center center;
	opacity: 0;
}
.p-pager__list {
	display: flex;
	margin: 0 5px;
}
.p-pager__list li {
	margin: 0 5px;
}
@media screen and (min-width: 768px) {
	.p-pager a:not(.is-active) {
		transition: color .3s ease,
					background-color .3s ease;
	}
	.p-pager a:not(.is-active):hover {
		color: #FFFFFF;
		background-color: #000000;
	}
	.p-pager a.p-pager__prev:after {
		transition: opacity .3s ease;
	}
	.p-pager a.p-pager__prev:hover:after {
		opacity: 1;
	}
	.p-pager a.p-pager__next:after {
		transition: opacity .3s ease;
	}
	.p-pager a.p-pager__next:hover:after {
		opacity: 1;
	}
}
@media screen and (max-width: 767px) {
}


/* --------------------------------------------------
	project - ads
-------------------------------------------------- */
.p-ads__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -20px -20px 0;
}
.p-ads__list li {
	margin: 20px 20px 0;
}
.l-aside .p-ads__list {
	margin: -10px 0 0;
}
.l-aside .p-ads__list li {
	margin: 10px 0 0;
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.p-ads__list {
		margin: -30px calc(22.5 / 345 * 100%) 0;
	}
	.p-ads__list li {
		margin: 30px 0 0;
	}
	.l-aside .p-ads__list {
		margin-top: -30px;
	}
	.l-aside .p-ads__list li {
		margin-top: 30px;
	}
}


/* --------------------------------------------------
	project - loader
-------------------------------------------------- */
.p-loader {
	position: fixed;
	z-index: 800;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.p-loader__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000000;
}
.p-loader__inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 120px;
	height: 120px;
	display: none;
}
.p-loader__inner .icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	animation: loaderIcon 0.6s ease 0s infinite;
}
.p-loader__inner .icon:nth-of-type(2) {
	animation-delay: 0.15s;
}
.p-loader__inner .icon:nth-of-type(4) {
	animation-delay: 0.3s;
}
.p-loader__inner .icon:nth-of-type(3) {
	animation-delay: 0.45s;
}
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.p-loader__inner {
		width: 60px;
		height: 60px;
	}
}
@keyframes loaderIcon {
	  0% { opacity: 1 }
	 50% { opacity: 0.1 }
	100% { opacity: 1 }
}


/* --------------------------------------------------
	project - ※※※※※
-------------------------------------------------- */
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


/* --------------------------------------------------
	utility
-------------------------------------------------- */
.u-font--gosic {
	font-family: 'YuGothic', 'Yu Gothic Medium', 'Yu Gothic', sans-serif;
}
.u-font--bold {
	font-family: 'YuGothic', 'Yu Gothic', sans-serif;
	font-weight: 700;
}
.u-font--graduate {
	font-family: 'Graduate', cursive;
}
.u-font-space--palt {
	font-feature-settings: "palt";
}
.u-text--center {
	text-align: center;
}
.u-text--left {
	text-align: left;
}
.u-text--right {
	text-align: right;
}
.u-line-heigth--160 {
	line-height: 1.6;
}
.u-line-heigth--180 {
	line-height: 1.8;
}
.u-line-heigth--200 {
	line-height: 2.0;
}
.u-color--black {
	color: #000000;
}
.u-color--gray2 {
	color: #222222;
}
.u-color--gray4 {
	color: #444444;
}
.u-color--gray8 {
	color: #888888;
}
.u-color--grayD {
	color: #DDDDDD;
}
.u-color--white {
	color: #FFFFFF;
}
.u-bg-color--gray {
	background-color: #F2F2F2;
}
.u-bg-color--black {
	color: #FFFFFF;
	background-color: #000000;
}
.u-bg-color--white {
	background-color: #FFFFFF;
}
.u-ancher {
	padding-top: 80px;
	margin-top: -80px;
}
@media screen and (min-width: 768px) {
	.u-sp {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.u-pc {
		display: none;
	}
	.u-sp-text--center {
		text-align: center;
	}
	.u-sp-text--left {
		text-align: left;
	}
	.u-sp-text--right {
		text-align: right;
	}
	.u-ancher {
		padding-top: 60px;
		margin-top: -60px;
	}
}


/* --------------------------------------------------
	utility - margin
-------------------------------------------------- */
.u-mt00 { margin-top: 0; }
.u-mt05 { margin-top: 5px; }
.u-mt10 { margin-top: 10px; }
.u-mt15 { margin-top: 15px; }
.u-mt20 { margin-top: 20px; }
.u-mt25 { margin-top: 25px; }
.u-mt30 { margin-top: 30px; }
.u-mt35 { margin-top: 35px; }
.u-mt40 { margin-top: 40px; }
.u-mt45 { margin-top: 45px; }
.u-mt50 { margin-top: 50px; }
.u-mt60 { margin-top: 60px; }
.u-mt70 { margin-top: 70px; }
.u-mt80 { margin-top: 80px; }
.u-mt90 { margin-top: 90px; }
.u-mt100 { margin-top: 100px; }
.u-mt120 { margin-top: 120px; }
.u-mt140 { margin-top: 140px; }
.u-mt160 { margin-top: 160px; }
.u-mt180 { margin-top: 180px; }
.u-mt200 { margin-top: 200px; }
.u-mb00 { margin-bottom: 0; }
.u-mb05 { margin-bottom: 5px; }
.u-mb10 { margin-bottom: 10px; }
.u-mb15 { margin-bottom: 15px; }
.u-mb20 { margin-bottom: 20px; }
.u-mb25 { margin-bottom: 25px; }
.u-mb30 { margin-bottom: 30px; }
.u-mb35 { margin-bottom: 35px; }
.u-mb40 { margin-bottom: 40px; }
.u-mb45 { margin-bottom: 45px; }
.u-mb50 { margin-bottom: 50px; }
.u-mb60 { margin-bottom: 60px; }
.u-mb70 { margin-bottom: 70px; }
.u-mb80 { margin-bottom: 80px; }
.u-mb90 { margin-bottom: 90px; }
.u-mb100 { margin-bottom: 100px; }
.u-mb120 { margin-bottom: 120px; }
.u-mb140 { margin-bottom: 140px; }
.u-mb160 { margin-bottom: 160px; }
.u-mb180 { margin-bottom: 180px; }
.u-mb200 { margin-bottom: 200px; }
.u-pt00 { padding-top: 0; }
.u-pt05 { padding-top: 5px; }
.u-pt10 { padding-top: 10px; }
.u-pt15 { padding-top: 15px; }
.u-pt20 { padding-top: 20px; }
.u-pt25 { padding-top: 25px; }
.u-pt30 { padding-top: 30px; }
.u-pt35 { padding-top: 35px; }
.u-pt40 { padding-top: 40px; }
.u-pt45 { padding-top: 45px; }
.u-pt50 { padding-top: 50px; }
.u-pt60 { padding-top: 60px; }
.u-pt70 { padding-top: 70px; }
.u-pt80 { padding-top: 80px; }
.u-pt90 { padding-top: 90px; }
.u-pt100 { padding-top: 100px; }
.u-pt120 { padding-top: 120px; }
.u-pt140 { padding-top: 140px; }
.u-pt160 { padding-top: 160px; }
.u-pt180 { padding-top: 180px; }
.u-pt200 { padding-top: 200px; }
.u-pb00 { padding-bottom: 0; }
.u-pb05 { padding-bottom: 5px; }
.u-pb10 { padding-bottom: 10px; }
.u-pb15 { padding-bottom: 15px; }
.u-pb20 { padding-bottom: 20px; }
.u-pb25 { padding-bottom: 25px; }
.u-pb30 { padding-bottom: 30px; }
.u-pb35 { padding-bottom: 35px; }
.u-pb40 { padding-bottom: 40px; }
.u-pb45 { padding-bottom: 45px; }
.u-pb50 { padding-bottom: 50px; }
.u-pb60 { padding-bottom: 60px; }
.u-pb70 { padding-bottom: 70px; }
.u-pb80 { padding-bottom: 80px; }
.u-pb90 { padding-bottom: 90px; }
.u-pb100 { padding-bottom: 100px; }
.u-pb120 { padding-bottom: 120px; }
.u-pb140 { padding-bottom: 140px; }
.u-pb160 { padding-bottom: 160px; }
.u-pb180 { padding-bottom: 180px; }
.u-pb200 { padding-bottom: 200px; }
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
	.u-sp-mt00 { margin-top: 0; }
	.u-sp-mt05 { margin-top: 5px; }
	.u-sp-mt10 { margin-top: 10px; }
	.u-sp-mt15 { margin-top: 15px; }
	.u-sp-mt20 { margin-top: 20px; }
	.u-sp-mt25 { margin-top: 25px; }
	.u-sp-mt30 { margin-top: 30px; }
	.u-sp-mt35 { margin-top: 35px; }
	.u-sp-mt40 { margin-top: 40px; }
	.u-sp-mt45 { margin-top: 45px; }
	.u-sp-mt50 { margin-top: 50px; }
	.u-sp-mt60 { margin-top: 60px; }
	.u-sp-mt70 { margin-top: 70px; }
	.u-sp-mt80 { margin-top: 80px; }
	.u-sp-mt90 { margin-top: 90px; }
	.u-sp-mt100 { margin-top: 100px; }
	.u-sp-mt120 { margin-top: 120px; }
	.u-sp-mt140 { margin-top: 140px; }
	.u-sp-mt160 { margin-top: 160px; }
	.u-sp-mt180 { margin-top: 180px; }
	.u-sp-mt200 { margin-top: 200px; }
	.u-sp-mb00 { margin-bottom: 0; }
	.u-sp-mb05 { margin-bottom: 5px; }
	.u-sp-mb10 { margin-bottom: 10px; }
	.u-sp-mb15 { margin-bottom: 15px; }
	.u-sp-mb20 { margin-bottom: 20px; }
	.u-sp-mb25 { margin-bottom: 25px; }
	.u-sp-mb30 { margin-bottom: 30px; }
	.u-sp-mb35 { margin-bottom: 35px; }
	.u-sp-mb40 { margin-bottom: 40px; }
	.u-sp-mb45 { margin-bottom: 45px; }
	.u-sp-mb50 { margin-bottom: 50px; }
	.u-sp-mb60 { margin-bottom: 60px; }
	.u-sp-mb70 { margin-bottom: 70px; }
	.u-sp-mb80 { margin-bottom: 80px; }
	.u-sp-mb90 { margin-bottom: 90px; }
	.u-sp-mb100 { margin-bottom: 100px; }
	.u-sp-mb120 { margin-bottom: 120px; }
	.u-sp-mb140 { margin-bottom: 140px; }
	.u-sp-mb160 { margin-bottom: 160px; }
	.u-sp-mb180 { margin-bottom: 180px; }
	.u-sp-mb200 { margin-bottom: 200px; }
	.u-sp-pt00 { padding-top: 0; }
	.u-sp-pt05 { padding-top: 5px; }
	.u-sp-pt10 { padding-top: 10px; }
	.u-sp-pt15 { padding-top: 15px; }
	.u-sp-pt20 { padding-top: 20px; }
	.u-sp-pt25 { padding-top: 25px; }
	.u-sp-pt30 { padding-top: 30px; }
	.u-sp-pt35 { padding-top: 35px; }
	.u-sp-pt40 { padding-top: 40px; }
	.u-sp-pt45 { padding-top: 45px; }
	.u-sp-pt50 { padding-top: 50px; }
	.u-sp-pt60 { padding-top: 60px; }
	.u-sp-pt70 { padding-top: 70px; }
	.u-sp-pt80 { padding-top: 80px; }
	.u-sp-pt90 { padding-top: 90px; }
	.u-sp-pt100 { padding-top: 100px; }
	.u-sp-pt120 { padding-top: 120px; }
	.u-sp-pt140 { padding-top: 140px; }
	.u-sp-pt160 { padding-top: 160px; }
	.u-sp-pt180 { padding-top: 180px; }
	.u-sp-pt200 { padding-top: 200px; }
	.u-sp-pb00 { padding-bottom: 0; }
	.u-sp-pb05 { padding-bottom: 5px; }
	.u-sp-pb10 { padding-bottom: 10px; }
	.u-sp-pb15 { padding-bottom: 15px; }
	.u-sp-pb20 { padding-bottom: 20px; }
	.u-sp-pb25 { padding-bottom: 25px; }
	.u-sp-pb30 { padding-bottom: 30px; }
	.u-sp-pb35 { padding-bottom: 35px; }
	.u-sp-pb40 { padding-bottom: 40px; }
	.u-sp-pb45 { padding-bottom: 45px; }
	.u-sp-pb50 { padding-bottom: 50px; }
	.u-sp-pb60 { padding-bottom: 60px; }
	.u-sp-pb70 { padding-bottom: 70px; }
	.u-sp-pb80 { padding-bottom: 80px; }
	.u-sp-pb90 { padding-bottom: 90px; }
	.u-sp-pb100 { padding-bottom: 100px; }
	.u-sp-pb120 { padding-bottom: 120px; }
	.u-sp-pb140 { padding-bottom: 140px; }
	.u-sp-pb160 { padding-bottom: 160px; }
	.u-sp-pb180 { padding-bottom: 180px; }
	.u-sp-pb200 { padding-bottom: 200px; }
}


/* --------------------------------------------------
	※※※※※
-------------------------------------------------- */
@media screen and (min-width: 768px) {
}
@media screen and (max-width: 767px) {
}


.article__list {
	margin-top: 60px;
	margin-bottom: 60px;
}




.visual__list .item .unit {
    overflow: hidden;
    width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}
.visual__list .item .image {
	position: relative;
}
.visual__list .item .image .pr {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;

    display: inline-block;
    font-size: 1.5rem;
    padding: 2px 6px;
    background-color: white;
}
.visual__list .item .unit .pr {
	font-size: calc(100vw / 1339 * 20);
	color: #000000;
	background-color: #FFFFFF;
	padding: calc(100vw / 1339 * 10) calc(100vw / 1339 * 30);
    display: inline-block;
    text-align: center;
    margin-bottom: 4px;
}
.p-panel--a .pr-big {
    font-size: 2rem;
    padding: 2px 12px;
}

.p-panel--b .title .pr {
    display: inline-block;
    font-size: 1.0rem;
    padding: 2px 6px;
    background-color: white;
    box-shadow: 0 0 1px rgba(0, 0, 0, .5);
}

.p-article__visual .image .pr {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: white;
    padding: 2px 6px;
	font-size: 2rem;
}

@media screen and (max-width: 767px) {
    .visual__list .item .unit .pr {
        font-size: 1.0rem;
        padding: 2px 4%;
    }

	.visual__list .item .image .pr {
		left: auto;
		right: 0;
	}
	.p-article__visual .image .pr {
		left: auto;
		right: 0;
	}

}

.-undrag {
	user-drag: none;
	-webkit-user-drag: none;
	-moz-user-select: none;
}


.loader {
	display: flex;
	justify-content: center;
	padding: 20px 0;

	opacity: 0;
	transition: .1s opacity;
}
.loader::after {
    content: "LOADING...";
    font-size: 24px;
	font-family: 'Graduate', cursive;
}
.loader.is-loading {
	opacity: 1;
}
