﻿p {
	font-size: 16px;
}

body {
	margin: 0;
	padding-top: 71px;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9)),
		url(/image/achievements_background.png);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

a:hover {
	color: orange;
}
h1 {
	text-align: center;
	border-bottom: 3px solid;
	border-image: linear-gradient(to right, #1146f6 0%, #00fffb 100%);
	border-image-slice: 1;
	margin: 30px 200px;
}

.top-wrapper {
	margin-top: 0;
}

.top-wrapper-title p {
	font-size: 18px;
	text-align: center;
}

.main-container {
	height: auto;
	width: auto;
	margin-top: 50px;
	margin-left: 50px;
	margin-bottom: 24px;
}

h2 {
	width: 30%;
	border-bottom: 1px solid black;
}

.item {
	float: left;
	margin-left: 90px;
}

.item h4 {
	text-align: center;
}

/* PC only: 蜿苓ｨ鈴幕逋ｺ螳溽ｸｾ縺ｮ蟾ｦ蜿ｳ髢馴囈繧貞插荳蛹・*/
@media screen and (min-width: 769px) {
	.main-wrapper {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 32px;
		padding-right: 50px;
	}

	.main-wrapper .item {
		float: none;
		margin-left: 0;
		flex: 1 1 0;
		max-width: 260px;
		text-align: center;
	}

	.main-wrapper .item img {
		display: block;
		margin-left: auto;
		margin-right: auto;
		max-width: 100%;
		width: 160px;
		height: 160px;
		object-fit: contain;
		object-position: center;
	}

	.main-wrapper .item h4 {
		margin-top: 16px;
		margin-bottom: 0;
	}

	.main-wrapper .item:nth-child(3) {
		margin-top: 0;
	}

	.main-wrapper .item:nth-child(4) {
		margin-left: 0;
	}
}

.addition-wrapper {
	float: right;
	padding-right: 50px;
}

a {
	color: #222121;
}

a:hover {
	color: orange;
}

.sab-container {
	height: auto;
	width: auto;
	margin-top: 50px;
	margin-left: 50px;
	margin-bottom: 32px;
}

.sab-wrapper {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 32px;
	padding-right: 50px;
}

.sab-wrapper .item {
	float: none;
	margin-left: 0;
	flex: 1 1 0;
	max-width: 260px;
	text-align: center;
}

.sab-wrapper .item a {
	display: inline-block;
	margin-left: 0;
}

.sab-wrapper .item img {
	display: block;
	width: 160px;
	height: 160px;
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
}

.sab-wrapper .item h4 {
	margin-top: 16px;
	margin-bottom: 0;
}

.sab-wrapper .medalla-icon {
	display: block;
	width: 160px;
	height: 160px;
	margin-left: auto;
	margin-right: auto;
	object-fit: contain;
}

.sab-wrapper .windruin-icon {
	border-radius: 16px;
}

/*---------------------------------------------------------------縺薙％縺九ｉ繝輔ャ繧ｿ繝ｼ*/

#footer {
	height: 35px;
	background-color: #b4dbf5;
}

.footer-wrapper {
	height: 30px;
	color: #090909;
	text-align: center;
	padding-top: 5px;
}

small {
	font-size: 20px;
}

/* 繝倥ャ繝繝ｼ・・ndex.html縺ｨ蜷檎ｭ峨・謖吝虚・・*/
/* PC繝倥ャ繝繝ｼ繝｡繝九Η繝ｼ菴咲ｽｮ隱ｿ謨ｴ */
/* katariai・・68px譎ゅ・縺ｿ・・*/
@media screen and (max-width: 768px) {
	.main-wrapper .item:nth-child(3) {
		margin-left: 0px;
	}
}

/* 429px縲・68px: 2蛻鈴・鄂ｮ縺ｧ2蛻礼岼縺ｮ荳ｭ蠢・ｷ壹ｒ謠・∴繧・*/
@media screen and (max-width: 768px) and (min-width: 429px) {
	h2 {
		font-size: 20px;
		white-space: nowrap;
	}

	.main-wrapper {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-items: center;
		align-items: start;
		column-gap: 24px;
		row-gap: 20px;
		position: relative;
		left: -20px;
	}

	.main-wrapper .item {
		float: none;
		margin-left: 0;
		text-align: center;
	}

	.main-wrapper .item:nth-child(3) {
		margin-top: 0;
	}

	.main-wrapper .item:nth-child(4) {
		margin-left: 0;
	}

	.main-wrapper .item img,
	.sab-wrapper .item img {
		width: 150px;
		height: 150px;
		object-fit: contain;
		object-position: center;
	}

	.sab-wrapper {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-items: center;
		align-items: start;
		column-gap: 24px;
		row-gap: 20px;
		position: relative;
		left: -20px;
	}

	.sab-wrapper .item {
		float: none;
		margin-left: 0;
		text-align: center;
	}

	.sab-wrapper .medalla-icon {
		width: 150px;
		height: 150px;
		object-fit: contain;
		object-position: center;
	}
}

/* 428px莉･荳九・隱ｿ謨ｴ */
@media screen and (max-width: 428px) {
	/* SUNABA 428px img */
	.main-wrapper .item:nth-child(4) img {
		margin-left: -5px;
	}

	/* SUNABA 428px */
	.main-wrapper .item:nth-child(4) {
		margin-left: -5px;
	}

	.top-wrapper {
		margin-top: 0;
	}

	h1 {
		margin: 10px 12px;
		font-size: 18px;
	}

	.top-wrapper-title p {
		font-size: 14px;
		padding: 0 12px;
	}

	.main-container,
	.sab-container {
		height: auto;
		margin: 30px 12px 0;
	}

	h2 {
		width: auto;
		margin: 0 0 12px;
		font-size: 16px;
	}

	.main-wrapper,
	.sab-wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;
		padding-right: 0;
	}

	.item {
		float: none;
		margin: 0;
		text-align: center;
	}

	.item img {
		width: 150px;
		height: 150px;
		object-fit: contain;
		object-position: center;
	}

	.sab-wrapper .item img {
		width: 150px;
		height: 150px;
	}

	.sab-wrapper .medalla-icon {
		width: 150px;
		height: 150px;
	}

	.addition-wrapper {
		float: none;
		padding: 16px 12px 0;
		text-align: right;
	}
}

/* 768px譎ゑｼ壹◎縺ｮ莉悶・螳溽ｸｾ繝ｪ繝ｳ繧ｯ繧剃ｸ九∈ */
@media screen and (max-width: 768px) {
	.addition-wrapper {
		float: none;
		margin-top: 102px;
		padding-right: 0;
		text-align: center;
	}
}

/* 768px譎ゑｼ夐㍾縺ｪ繧願ｧ｣豸茨ｼ亥ｼｷ蛻ｶ逧・↓荳九∈・・*/
@media screen and (max-width: 768px) {
	.addition-wrapper {
		clear: both;
		display: block;
		width: 100%;
		margin-top: 102px;
		text-align: center;
	}
}

/* PC縺ｮ縺ｿ: xAIML / katariai / SUNABA 縺ｮ菴咲ｽｮ蠕ｮ隱ｿ謨ｴ */
@media screen and (min-width: 769px) {
	.main-wrapper .item:nth-child(4) img {
		transform: translateX(0%);
	}

	.main-wrapper .item:nth-child(3) {
		margin-top: 0;
	}

	.main-wrapper .item:nth-child(4) {
		margin-left: 5px;
	}

	.main-wrapper .item:nth-child(4) h4 {
		margin-left: 0px;
	}
}


/* 768px譎・ 蜿苓ｨ鈴幕逋ｺ螳溽ｸｾ繧ｳ繝ｳ繝・リ縺ｮ驥阪↑繧雁屓驕ｿ */
@media screen and (max-width: 768px) {
	.main-container {
		height: auto;
	}
}


/* 769-1024px: 中間ブレークポイント */
@media screen and (max-width: 1024px) and (min-width: 769px) {
	h1 {
		margin: 20px 32px;
	}

	.main-container,
	.sab-container {
		margin-left: 32px;
	}

	h2 {
		width: auto;
	}

	.main-wrapper,
	.sab-wrapper {
		padding-right: 0;
		gap: 20px;
	}
}

/* 428px以上: 見出しを中央・同一トーンで表示 */
@media screen and (min-width: 428px) {
	h1 {
		width: calc(100% - 24px);
		max-width: 720px;
		margin: 20px auto 16px;
	}

	.top-wrapper-title p {
		max-width: 720px;
		margin: 0 auto;
		padding: 0 12px;
	}
}
