@charset "UTF-8";
*{
	margin: 0;
	padding: 0;
}

html{
	scroll-behavior: smooth;
}

body{
	display: flex; /* フレックスボックスに有効に */
	flex-flow: column; /* 要素を縦に並べる */
	min-height: 100vh; /* 最小でも画面の高さ分のbodyの高さを担保する */
	position: relative;
	margin: 0px auto;
	font-family: var(--font-primary);
	letter-spacing: 0.15em;
	line-height: 1.8;
	font-weight: 400;
	overflow-x: hidden;
	background-color:#f5f5f5;
	color: var(--color-text);
	font-size: 0.9em;
}

	
header {
	position: relative;
	text-align: center;
	color: var(--color-text);
}

main {
	flex: 1; /* 画面の高さから他の同レイヤーの要素の高さを引いた値に */
	position: relative;
	color: var(--color-text);
}

footer{
	position: relative;
	font-family: var(--font-primary);
	overflow-x: hidden;
	background-color:#dcdcdc;
	color: var(--color-text);
}


/* テキスト */


h2{
	margin-bottom: 30px;
	padding-bottom: 0.2em;
	font-size: 1.7em;
	font-weight: 600;
	border-bottom: 1px solid var(--color-main);
}

h3{
	margin-bottom: 20px;
	padding: 0.2em 0.8em;
	font-size: 1.1em;
	font-weight: 600;
	border-left: 5px solid var(--color-main);
	overflow-wrap: break-word;
}
	
p{
	margin-bottom: 20px;
}

.gridlist_label{
	align-items: center;
}

.gridlist_text {
	margin-block-end: 10px;
	padding-bottom: 0.3em;
	border-bottom: 1px solid #d7dce2;
}

.text a{
	display: inline-block;
	text-decoration: underline;
	text-underline-offset: 0.2em;
	color: var(--color-main);
}

.text a:hover{
	color: var(--color-text);
}


/* メニュー */
.menu{
	margin: 0 auto;
	background-color:#dcdcdc;
	width: 85em;
	border-radius: 0 0 20px 20px
}

.menu nav{
	text-align: center;
}

.menu nav ul{
	margin: 0 ;
	padding: 0 ;
}

.menu nav li{
	margin: 15px auto;
	list-style: none;
	white-space: nowrap;
	display: inline-block;
	min-width: 160px;
	font-size: 1.2em;

}

.menu nav li:not(:last-child){
	border-right:2px solid #a9a9a9;
}

.menu nav a{
	display: inline
	text-decoration: none;
	color:var(--color-text);
}

.menu nav a.current{
	color:var(--color-accent);
	border-bottom:2px solid var(--color-accent);
}

.menu nav a:hover{
	color:var(--color-accent);
	border-bottom:2px solid var(--color-accent);
}


/*　戻るボタン　*/
#return{
	display: flex;
	position: fixed;
	bottom: 50px;
	right: 30px;
	font-size: 3em;
	line-height: 1;
	color: var(--color-main);
	z-index: 2;
}

#return :hover{
	color: var(--color-accent);
}

/*ボックス*/

.box {
	margin: 10px auto;
	padding: 2.5em;
	width: 85em;
}

.content_img
{
  	border-radius: 10px;
}

/*　2カラムボックス　*/

.--2column {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 60px;
	align-items: flex-start;
}



/* コピーライト */
.copyright{
	margin: 10px auto;
	text-align: center;
	font-size: 0.7em;
}


/* ------TOPページ------ */


/* タイトル */

.title{
	margin: 0px auto;
	background: url(http://malus.mond.jp/img/250629.png) center / cover;
	background-repeat: no-repeat;
	height: 50vh;
	width: 85em;
}

.title h1{
	margin: 0px auto;
	position: relative;
	z-index: 1;
	top: 45%;
	width: 80%;
	padding: 0.5em;
	font-size: 4em;
	font-weight: 600;
	letter-spacing: 0.2em;
	transform: translateY(-50%);
	color: var(--color-top);
	text-shadow: #000000 0 0 10px,#000000 0 0 10px;
}


/*　更新履歴　*/

.update {
	height: 140px;
	overflow-y: auto;
	padding-right: 20px;
}

.update_item {
	display: flex;
	gap: 20px;
	padding: 8px 0;
}

.update_item:not(:last-child) {
	border-bottom: 1px solid #d7dce2;
}

.update_item time {
	padding-top: 4px;
	font-weight:bold
}


/*　外部リンク　*/

.link{
  margin: 5px 0 0 0;
  text-align: left; /* 左寄せ */
}

.link ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 10px; /* アイコンの間隔 */
}

.link li{
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px; /* 角丸 */
  background-color: var(--color-main); /* 共通カラー */
  transition: background-color .2s ease;
}

.link li a{
  color: #fff;
  font-size: 18px; /* アイコンサイズ */
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.link li:hover{
  background-color: var(--color-accent); /* 別のテーマカラーを指定 */
}

/* ------ギャラリーページ------ */

/*　ギャラリー　*/

.gallery {
	list-style: none;
	text-align: left;
	margin: 0em 2.2em;
}

.gallery li{
	display: inline-block;
	margin: 0.2em 0.1em;
	width: 100px;
	height: 100px;
}

ul.gallery li.new::before{
  content: "new";
  position: absolute;
  box-sizing: border-box;
  top: 1;
  left: 1;
  padding: 5px;
  background: var(--color-text);
  color: var(--color-light);
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  z-index: 1;
  border-radius: 10px;
}

.gallery a{
	display: inline-block;
}


.cover {
	object-fit: cover;
	width: 100px;
	height: 100px;
	background-color: #ccc;
	border: 1px solid #ccc;
  	border-radius: 10px;
}

#lightbox .lb-image {
  border: none;
}





/* ------コミッションページ------ */
.--2column_sample {
	margin-bottom: 60px;
	padding-bottom: 60px;
	border-bottom: 1px solid var(--color-main);
}


.left_sample {
	align-self: center;
	text-align: center;
	max-width: 100%;

}

.sample_img1{
	max-width: 100%;
  }


.sample_img2{
	max-width: 70%;
  }


.left_sample a{
	display: inline-block;
}

p.sample_text{
	margin-bottom: 60px;
	font-size: 1.15em;
}



/* ボタンのスタイル */
.buttonIconText03{
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 320px;
  height: 64px;
  padding: 8px 16px 8px 8px;
  font-size: 1.5em;
  color: var(--color-text);
  text-align: center;
  overflow-wrap: anywhere;
  background-color: #dcdcdc;
  border-radius: 32px; /* (buttonの高さ / 2) の値 */
}

.buttonIconText03 a:hover{
	color:var(--color-accent);
	border-bottom:2px solid var(--color-accent);
}
