body {
	background-image:linear-gradient(170deg, #8bb2ea 20%, #c7ffff 50%, #d7ffd7 100%);
	background-attachment: fixed;
	width: 100%;
	margin: 0 auto;
	font-size: 14px;
	line-height: 180%;
	color: #3D3D40;
	box-sizing: border-box;
	font-family: 'メイリオ','ＭＳ ゴシック','Kosugi Maru', sans-serif;
	}

a:link {
	display: inline-block;
	color: #3D3D40;
	background-color: #ebffd7;
	padding: 0px 5px;
 	text-decoration:none;
	margin: 3px 0;
	}

a:visited, a:hover, a:active {
	display: inline-block;
	color: #3D3D40;
	background-color: #fdf5e6;
 	text-decoration:none;
	}

div#textbg{
 	margin: 0 auto;
 	width:100%;
 	background-color: #fdfdff;
 	}

.container {
	background-color: #fdfdff;
	margin: 0 auto;
	width: calc(100% - 20px);
	max-width: 720px;
	padding: 35px 20px 25px 20px;
	box-sizing: border-box;
	}

.title {
	text-align: right;
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 20px;
	color: #FAFBFF;
	text-shadow: 5px 5px 13px #d7ffd7, -5px 5px 13px #c7ffff, 5px -5px 13px #8bb2ea, -5px -5px 13px #8bb2ea;
	font-family: 'Noto Serif JP', serif;
	}

.label{
	color: #fdfdff;
	position: relative;
	padding: 8px 15px;
	font-size: 15px;
	font-weight: bold;
	margin-bottom: 0;
	background-image: linear-gradient(120deg, #7e90eb 10%, #7ECFEB 30%, #D4FFEC 50%, #fdfdff 80%)
  	}


.heading-with-line {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 26px;
	font-weight: bold;
	color: #6095e2;
	font-family: "Send Flowers", cursive;
	}

.heading-with-line::after {
	content: "";
	flex-grow: 1;
	height: 2px;
	background-color: #b6cff2;
	margin-top: 8px;
	}

.content {
	padding: 15px 15px;
	text-align: left;
	text-wrap: wrap;
	}

.text {
	padding: 15px 2px;
	text-align: left;
	font-size: 15px;
	line-height: 180%;
	text-wrap: wrap;
	}

.subtitle{
	position: relative;
	color:#3D3D40;
	font-size:18px;
	font-weight:bold;
	padding: 4px 10px;
	background: #c7ffff;
	display: block;
	}

.subtitle:after {
	position: absolute;
	content: '';
	top: 100%;
	left: 15px;
	border: 15px solid transparent;
	border-top: 15px solid #c7ffff;
	width: 0;
	height: 0;
}

hr{
	border: none;
	border-top: 2px dashed #c4c4c5;
	margin: 10px auto;
	width:90%;
	margin-bottom: -15px;
	}

.border{
	border: none;
	border-top: 4px solid #a3d9dd;
	margin: 0 auto;
	margin-top: 0px;
	margin-bottom: 0px;
	width: 100%;
	display: block;
	margin-top: 20px;
	margin-bottom: -25px;
	}

.border_under{
	border: none;
	border-top: 2px solid #c4c4c5;
	margin: 10px auto;
	display: block;
	margin-top: 0;
	margin-bottom: 0;
	}

.sub{
	color: #00173f;
	border-top: 4px solid #8bb2ea;
	display: block;
	font-weight: bold;
	margin-left: -15px;
	margin-right: -15px;
	margin-top: -10px;
	margin-bottom: -30px;
	padding-top: 15px;
	padding-left: 15px;
	}

.caption{ color: #526ae4;}

.comment{ color: #ADADAD;}

.comment_under{
	display: block;
	color: #ADADAD; 
	 margin-top: -15px;
	margin-bottom: -60px;
	}

.caution{ color: #ff0033;}

.blank {
	background-color:#3D3D40;
	padding: 0px 2px;
	}

.accordion-long {
	max-width: 650px;
	}

.accordion-long summary {
	display: flex;
	width: 170px;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 6px 15px;
	font-size: 15px;
	color: #fdfdff;
	background-image: linear-gradient( 120deg, #52bfe4 10%, #7ECFEB 40%, #eaffc1 100% );
	font-weight: bold;
  	border-radius: 5px;
	cursor: pointer;
	margin-left: -8px;
	}

.accordion-long summary::-webkit-details-marker {
	display: none;
	}

.accordion-long summary::after {
	transform: translateY(-25%) rotate(45deg);
	width: 7px;
	height: 7px;
	margin-left: 10px;
	border-bottom: 3px solid #FFF;
	border-right: 3px solid #FFF;
	content: '';
	transition: transform .3s;
	}

.accordion-long[open] summary::after {
	transform: rotate(225deg);
	}

.accordion-long p {
	transform: translateY(-10px);
	opacity: 0;
	color: #333333;
	transition: transform .5s, opacity .5s;
	}

.accordion-long[open] p {
	transform: none;
	opacity: 1;
	}

input,input[type="text"]{
	background: #fdfdff;
	width: 100px;
	height: auto;
	padding: 4px;
	margin: 2px;
	font-size: 14px;
	font-weight: normal;
	color:#9e9e9f;
	border: 1px #6095e2 solid; 
	border-radius:4px;
	box-shadow: none;
	display:inline;
	}

input[type="submit"]{
	background: #6095e2;
	width: auto;
	height: auto;
	padding: 4px 8px;
	margin: 2px 2px;
	font-size: 14px;
	font-weight: normal;
	text-align: center;
	color:#fdfdff;
	border: 1px #6095e2 solid; 
	border-radius:4px;
	box-shadow: none;
	display:inline;
	}

/* ラベルの基本装飾 */
summary {
	background-color: #f4f4f4; /* 背景色 */
	color: #3D3D40;
	width: max-content;
	 padding: 2px 4px;        /* 余白 */
	font-weight: bold;         /* 太字 */
	border-radius: 4px;        /* 角丸 */
	cursor: pointer;           /* マウスカーソルを指の形に */
	list-style: none;          /* デフォルトのマーカーを非表示（主にChrome/Safari用） */
	transition: background-color 0.3s ease; /* ホバー時のアニメーション */
	}

/* ホバー時の装飾 */
	summary:hover {
	background-color: #e0e0e0;
	}
summary::-webkit-details-marker {
	display: none;
	}

/* 矢印アイコンの追加（開いている時は回転） */
summary::after {
	content: "▼";             /* アイコンの文字や画像 */
	float: left;              /* 右側に配置 */
	margin-right: 2px;
	transition: transform 0.3s ease; /* 回転アニメーション */
	}

details[open] summary::after {
	transform: rotate(180deg); /* 開いた時に180度回転 */
	}
