@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&family=Yuji+Syuku&display=swap');

*,::after,::before{box-sizing:border-box}
*{margin: 0; padding: 0;}
ol,ul{list-style:none}
img{max-width:100%}
table{border-collapse:collapse}
textarea{white-space:revert}

:root{
--main-color: #a59aca; /* アクセントカラー */
}

body {
font-family: 'Noto Serif JP', serif;
font-size: 0.85em;
background: #fbfaf5;
color: #000;
line-height: 1.8;
}

a{
color: var(--main-color);
font-weight: bold;
}

a:hover{
color: #ccc;
}

.wrp{
width: 90%;
max-width: 600px;
margin: 10px auto;
}

header{
font-size: 1.2em;
text-align: center;
background-color: var(--main-color);
background-size: 50px 50px;
background-image: radial-gradient(farthest-corner, transparent 68%, #fff 68% 70%, transparent 70% 100%), 
radial-gradient(circle at top left, transparent 34%, #fff 34% 35%, transparent 35% 100%), 
radial-gradient(circle at top right, transparent 34%, #fff 34% 35%, transparent 35% 100%),
radial-gradient(circle at bottom left, transparent 34%, #fff 34% 35%, transparent 35% 100%),
radial-gradient(circle at bottom right, transparent 34%, #fff 34% 35%, transparent 35% 100%);
background-repeat: repeat;
padding: 30px;
}
header span{
padding: 7px;
background: rgba(251, 250, 245, 0.8);
}

h1 {
font-family: 'Yuji Syuku', serif;
font-weight: bold; 
font-size: 1.8em;
}

h2 {
font-family: 'Yuji Syuku', serif;
font-weight: bold; 
font-size:1.2em;
position: relative;
padding: 8px 8px 8px 45px;
}
h2:after {
  content: "";
  display: block;
  height: 4px;
  background: -webkit-linear-gradient(to right, rgb(90, 90, 90), transparent);
  background: linear-gradient(to right, rgb(90, 90, 90), transparent);
}
h2 span:before {
	background-color: var(--main-color);
	border-radius: 50%;
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	left: 15px;
	width: 15px;
	height: 15px;
	box-shadow: 9px 10px 0px var(--main-color),
			 -2px 13px 0px var(--main-color);
}
h2 span:after {
	border: 2px solid #fbfaf5;
	border-radius: 50%;
	content: '';
	display: block;
	position: absolute;
	top: 20px;
	left: 19px;
	width: 12px;
	height: 12px;
}

.icon {
width: 100px;
border: 5px double #000;
background: #fbfaf5;
margin: 15px;
}

.prof0 {
text-align: center;
margin: 30px;
}
.prof {
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  display: inline-block;
  text-align: left;
}
.prof span{
color: #fbfaf5;
font-weight: bold;
background: var(--main-color);
padding: 5px 3px;
border: 3px double #fbfaf5;
}

li{
margin: 10px;
}

p{
margin-bottom: 30px;
}

.text{
padding: 1em 2em;
}

footer{
text-align: center;
padding: 3px;
}
footer a{
background: var(--main-color);
color:#000;
padding: 5px;
border: 3px double #fbfaf5;
}
footer a:hover{
background: #ccc;
color:#000;
}