.word-break-all {
word-break: break-all;
}

.profile-title-L{
    float: left;
    width: 80%;

}

.profile-title-EN{
  text-align: left;
  font-family: 'Limelight', cursive;
  font-size: 3rem;
  line-height: 2.5rem;
  margin-bottom: 5px;

}

.profile-title-R{
    float: right;
    width: 20%;
}

.clear {
  clear: both;
}

.profImage{
  padding: 5px;  
}

.profileInfo-lastUpdated{
  text-align: right;
  font-size: 1rem;
  margin-bottom: 20px;
}

.profileInfo-category {
  margin-bottom: 20px;
  overflow: auto;
}

a.cat2Main {
    float: left;
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	font-size: 80%;
	margin: 2px 2px 5px 2px;
    padding: 5px 20px 5px 20px;
	font-weight: bold;
	color: var(--blue-color4);
	border-bottom: 2px var(--blue-color4);
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
}

a.cat2Sub {
    float: left;
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	font-size: 80%;
	margin: 2px 2px 5px 2px;
    padding: 5px 20px 5px 20px;

	color: var(--blue-color4);
	border-bottom: 2px var(--blue-color4);
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);
	transition: 0.5s;
}




.profileInfo-contacts {
  word-break: normal;
  margin-bottom: 30px;
}

.profileInfo-contacts > div {
  display: flex;
  align-items: flex-start;
  gap: 8px; /* アイコンと文字の間隔 */
}

.profileInfo-contacts img {
  display: block;
}

.profileInfo-status {
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 6px; /* アイコン間の余白 */
  flex-wrap: nowrap; /* 念のため折り返し防止 */
}

.profileInfo-status img {
  display: block;
}

.profileInfo-tag {
  margin-bottom: 30px;
    overflow: auto;
}


a.tag {
    float: left;
	display: block;
	text-align: center;
    vertical-align: middle;
	text-decoration: none;
	font-size: 80%;
	margin: 0px 2px 5px 0px;
    padding: 5px 20px 5px 20px;
	font-weight: bold;
	color: var(--gray-color3);
	border-bottom: 2px solid var(--gray-color3);
	border-radius: 100vh;
	box-shadow: 0 2px 7px rgba(0, 0, 0, .3);

	transition: 0.5s;
}

.profileInfo-links {
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap; /* 画面が狭いときだけ折り返しOKなら */
}

.profileInfo-links img {
  display: block;
}



.mapTitle{
  display: flex;
  align-items: center;
  gap: 6px;
}

.menuTitle{
  display: flex;
  align-items: center;
  gap: 6px;
}

.requestMail{
font-size: 80%;
}

.description{
  padding: 20px;
  margin: 0 5px 10px 5px;
  border: 1px dotted;
}


/* Smartphone */
@media (max-width: 48rem) { /* 768px */

.profile-title-L{
    float: left;
    width: 80%;

}

.profile-title-EN{
  text-align: left;
  font-family: 'Limelight', cursive;
  font-size: 2rem;
  line-height: 2rem;
  margin-bottom: 5x;

}

.profile-title-R{
    float: right;
    width: 20%;
}

.profImage{
  padding: 5px;  
}

.profileInfo-lastUpdated{
  text-align: right;
  font-size: 0.75rem;
  margin-bottom: 20px;
}