@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Rubik+Bubbles&display=swap');@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.0/css/all.min.css");@font-face {		font-family: 'Purn';		src: url('../fonts/Purn.otf') format('opentype');		font-weight: normal;		font-style: normal;		font-display: swap;}:root{	--black: #2a3b5e;	--white: #fcfaf2;	--lightgray: #ccd3dd;	--gray: #7a8ba3;		--sans: "Noto Sans JP", sans-serif;	--logo: "Purn";	--logo2: "Rubik Bubbles";		--border-weight: 3px;}*{	box-sizing: border-box;}::-webkit-scrollbar {	width: 0.75rem;	height: 0.75rem;}::-webkit-scrollbar-button {	display: none;}::-webkit-scrollbar-track {	background: transparent;}::-webkit-scrollbar-thumb {	background-color: var(--black);	border: 0;	background-clip: padding-box;	border-radius: 4px;}::-webkit-scrollbar-thumb:hover {	background-color: var(--gray);}::-webkit-scrollbar-corner {	background: transparent;}html{	font-size: 62.5%;}body{	font-size: 1.5rem;	font-family: var(--sans);	font-weight: 400;	color: var(--black);	letter-spacing: 0.1rem;		background-color: var(--white);	background-image: radial-gradient(var(--lightgray) 5%, transparent 15%), radial-gradient(var(--lightgray) 5%, transparent 15%);	background-position: 0 0, 15px 15px;	background-size: 30px 30px;}a{	text-decoration: none;	color: var(--gray);	border-radius: 1rem;	background-color: transparent;	transition: all 0.15s ease;}a:hover:not(nav a,.gallery a){	background-color: var(--lightgray);}header{	position: fixed;	top: 0;	left: 0;	width: 100%;	text-align: center;		margin: 0;	padding: 0;}footer{	position: fixed;	bottom: 0;	left: 0;	width: 100%;	text-align: center;		margin: 0;	padding: 0;}h1{	font-size: 10rem;	font-family: var(--logo);	color: var(--black);	letter-spacing: 0.1rem;		margin: -3rem;	padding: 0;	line-height: 1em;	display: inline-block;		filter: url(#dilate);}h2{	font-size: 4rem;	font-family: var(--logo);	color: var(--gray);	letter-spacing: 0.1rem;		margin: 0;	margin-bottom: 4rem;	padding: 0;}nav{	margin-top: 8rem;	text-align: center;}nav ul{	list-style: none;	padding: 0;	margin: 0;	display: flex;	justify-content: center;	gap: 4rem;}nav a{	display: inline-block;	position: relative;		text-decoration: none;	color: var(--black);		transform: translateY(0);		transition: all 0.15s ease;}nav a:hover{	transform: translateY(-0.2rem);}nav a::before{	content: "";	display: inline-block;		width: 1.5rem;	height: 1.5rem;	margin-right: 0.8rem;		box-shadow: inset 0 0 0 var(--border-weight) var(--black);	border-radius: 1rem;	background-color: transparent;		vertical-align: middle;		transition: all 0.15s ease;}nav a:hover::before{	background-color: var(--gray);}nav a.active::before{	background-color: var(--black);}.frame{	display: flex;	flex-direction: column;		margin: 2rem auto;	padding: 2rem;	width: 90%;	max-width: 800px;	height: 60vh;		overflow-y: auto;		background-color: var(--white);	border: var(--border-weight) solid var(--black);	border-radius: 1rem;}.content-section{	flex: 1;	display: none;	flex-direction: column;}#main{	display: flex;}#me .label{	font-weight: 900;}#me ul{	list-style: none;	padding: 0;	margin: 0;}#me li{	border-bottom: var(--lightgray) dashed 1px;	margin: 0.5rem 0;}h3{	display: inline-block;	border-bottom: var(--gray) dashed 1px;	margin: 0;}#terms ul{	list-style: none;	padding: 0;	margin: 0 0 5rem;}#terms li{	margin: 0 0 0.75rem 3rem;}#terms .rights li::before{	font-family: "Font Awesome 7 Free";	content: "\f02b";	color: var(--gray);}#terms .prohibitions li::before{	font-family: "Font Awesome 7 Free";	content: "\f05e";	color: var(--gray);}#contact label{	display: block;	width: fit-content;	margin-bottom: 1.5rem;}#contact input:not([type="submit"]){		width: 25rem;	margin-left: 0.75rem;	padding: 0.75rem;		font-size: 1.5rem;		border: 1px dashed transparent;	border-bottom: 1px dashed var(--gray);	border-radius: 0;	outline: none;		background-color: transparent;		transition: all 0.15s ease;}#contact textarea{	width: 40rem;	height: 20rem;	padding: 0.75rem;	margin-left: 0.75rem;		font-size: 1.5rem;		border: 1px dashed var(--gray);	border-radius: 1rem;	outline: none;		background-color: transparent;		vertical-align: top;	resize: none;		transition: all 0.15s ease;}#contact textarea:hover,#contact input:not([type="submit"]):hover{	background-color: var(--lightgray);}#contact textarea:focus,#contact input:not([type="submit"]):focus{	background-color: transparent;	border: 1px solid var(--gray);	border-radius: 1rem;}#contact input[type="submit"]{	padding: 1.5rem;		border: var(--border-weight) solid var(--gray);	border-radius: 1rem;		background-color: transparent;		font-size: 1.5rem;		transform: translateY(0);		transition: all 0.15s ease;}#contact input[type="submit"]:hover{	background-color: var(--lightgray);	transform: translateY(-0.2rem);}#contact input[type="submit"]:active{	transform: translateY(0.2rem);}/* PhotoSwipeの背景（黒い膜）の設定を上書き */.pswp__bg {    opacity: 1 !important; /* 1にすると透過せずベタ塗りになります */    background-color: var(--pswp-bg-color, #000) !important; /* JSから色を受け取る。予備は黒 */    transition: background-color 0.4s ease; /* 色が変わる時にふわっとさせます */}.gallery img{	width: 150px;	height: 150px;	border-radius: 1rem;	margin: 0.75rem;	transform: translateY(0);	transition: all 0.15s ease;}.gallery img:hover{	transform: translateY(-0.2rem);}.gallery img:active{	transform: translateY(0.2rem);}