@charset "UTF-8";



body {
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	color: #333333;
	background-color: #FFFFFF;
	background-image: url(../image/bg.png);
	padding: 0px;
	margin: 0px;
	word-break: break-all;/* 単語が右端までに納まらない時に、右端に着く前に改行する機能を解除(必ず右端まで行くようになる) */
}

body.sample {
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	color: #333333;
	background: #FFFFFF none;
	padding: 0px;
	margin: 0px;
	word-break: break-all;
}

body.sample header {
	background-color: #FFFFFF;
	width: 100%;
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	position: relative;
}

/* 1段目：ロゴの行（Flexを解除しメニューを絶対配置の基準にする） */
body.sample header > div:nth-of-type(1) {
	display: block;
	padding-top: 0%;
	padding-right: 5%;
	padding-bottom: 0%;
	padding-left: 10%;
}

body.sample header > div:nth-of-type(1) img {
	display: block;
	width: 7%;
}

/* 2段目：主要リンクの行 */
body.sample header > div:nth-of-type(2) {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding-top: 0%;
	padding-right: 0%;
	padding-bottom: 0%;
	padding-left: 10%;
	margin-top: 40px;
	margin-right: 0px;
	margin-bottom: 20px;
	margin-left: 0px;
	gap: 40px;
}

/* 2段目の中のリンク装飾 */
body.sample header > div:nth-of-type(2) a {
	font-size: 16px;
	line-height: 0;
	text-decoration: none;
	color: #333333;
	font-weight: bold;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

body.sample header > div:nth-of-type(2) a:hover {
	background-color: #F5F5F5;
}

body.sample header > div:nth-of-type(3) {
	width: 100%;
}



/* リンクされた文字 */
a {
	color: #0000ff;
}

/* 未訪問のリンク */
a:link {
	color: #0000ff;
}

/* 訪問後のリンク */
a:visited {
	color: #934C7B;
}

/* クリック中 */
a:active {
    text-decoration: none;
}

/* 画像のボーダーなし */
img {
	vertical-align: top;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	width: 100%;/* 親要素を超えてハミ出さないようにする。 */
	height: auto;
}

.both {
	clear: both;
}

.bold {
	font-weight: bold;
}

.color_1 {
	font-weight: bold;
	background-color: #C9E3AE;
}

.red_bold {
	font-weight: bold;
	color: #FF0000;
}

.under_line {
	text-decoration: underline;
}



/* ヘッダー */
header {
	background-color: #FFFFFF;
	width: 900px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.header_top {
	background-color: #FFFFFF;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 900px;
	padding: 12px 0px;
}

.header_top a:hover {
	opacity: 0.7; /* 0.1〜0.9で指定。0.95など小数点第二位も適用されるらしい。0に近付くほど見えにくくなる。 */
}

.header_top_2 {
	display: table-cell;/* IE8から使用可能 */
	vertical-align: middle;
	height: 34px;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 15px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.header_top_2 a {
	color: #505050;
	text-decoration: none;
	display: block;
}

.header_top_2_b {
	display: table-cell; /* IE8から使用可能 */
	vertical-align: middle;
	height: auto;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
	padding-right: 10px;
}

.header_top_2_c {
	font-size: 22px;
	font-weight: bold;
	display: table-cell;/* IE8から使用可能 */
	vertical-align: middle;
	height: auto;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
}

.header_top_2_c a {
	color: #505050;
	text-decoration: none;
}

.header_top_3 {
	font-size: 12px;
	color: #000000;
	background-image: url(../image/pc/tel.png);
	background-size: 20px 30px;
	background-repeat: no-repeat;
	background-position: left center;
	display: table-cell;/* IE8から使用可能 */
	vertical-align: middle;
	height: auto;/* heightを指定しないと上記の　display: table-cell;　と　vertical-align: middle;　が機能しない */
	padding-top: 0px;
	padding-right: 15px;
	padding-bottom: 0px;
	padding-left: 24px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.header_top_3_b {
	font-size: 12px;
	font-weight: bold;
	color: #505050;
}

.header_top_3_b span {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.header_image {
	text-align: center;
	width: 900px;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.header_menu {
	background-color: #EDEFEF;
	text-align: center;
	display: flex;
	width: 900px;
	padding-top: 10px;
	paddin-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.header_menu a {
	font-size: 14px;
	font-weight: bold;
	color: #333333;
	text-decoration: none;
	display: block;	
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
}

.header_menu a:hover {
	opacity: 0.7; /* 0.1〜0.9で指定。0.95など小数点第二位も適用されるらしい。0に近付くほど見えにくくなる。 */
}

.header_menu div {
	flex: 1 1 0;
	flex: 1;
	border-left-style: dotted;
	border-left-width: thin;
	border-left-color: #333333;
}

.header_menu div:last-child {
	border-right-style: dotted;
	border-right-width: thin;
	border-right-color: #333333;
}

.pankuzu_div {
	font-size: 12px;
	line-height: 1.8;
	background-color: #FFFFFF;
	width: 870px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.pankuzu {
	display: inline;
}

.pankuzu ol {
	font-size: 0px;/* これを書かないとパソコン･スマートフォンともに余白が出てしまいます。 */
	display: inline;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	list-style: none;
}

.pankuzu ol li {
	font-size: 12px;
	line-height: 1.8;
	display: inline;
}

.pankuzu ol li:not(:last-child)::after {
	color: #000000;
	content: ">";
	margin-top: 0px;
	margin-right: 8px;
	margin-bottom: 0px;
	margin-left: 8px;
}

.pankuzu li[aria-current="page"] {
	display: none;
}

.pankuzu a {
	text-decoration: none;
}

/* ラップ(mainの中にnavを入れるのは誤りのためWRAPで囲い、navとmainの2カラムにする) */
#WRAP {
	background-color: #FFFFFF;
	display: flex;
	width: 900px;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

#WRAP.sample {
	background-color: #FFFFFF;
	width: 100%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

aside {
	background-color: #FFFFFF;
	padding-bottom: 10px;
}

.nav_side {
	background-color: #EDEFEF;
	width: 190px;/* mainはflex: 1;にしているのでサイドメニューのpxを変えてもコンテンツは自動で可変される。 */
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 10px;
	height: 100%;
}

.nav_side div {
	font-size: 16px;
	line-height: 16px;
	color: #FFFFFF;
	font-weight: bold;
	background-color: #443535;
	text-indent: 10px;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 0px;
	margin-left: 10px;
}

.nav_side div span {
	padding-left: 10px;
	border-left-width: 8px;
	border-left-style: solid;
	border-left-color: #863013;
}

.nav_side div span a {
	color: #FFFFFF;
}

.nav_side div span a:hover {
	color: #ECEBEB;
}

.nav_side ul {
	padding-top: 0px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 10px;
	list-style: none;
}

.nav_side ul li {
	font-size: 13px;
	line-height: 1.8;
	text-align: left;
}

.nav_side ul li:not(:last-child) {
	border-top: dotted 1px #000000;
	border-right: dotted 1px #000000;
	border-bottom: none;
	border-left: dotted 1px #000000;
}

.nav_side ul li:last-child {
	border-top: dotted 1px #000000;
	border-right: dotted 1px #000000;
	border-bottom: dotted 1px #000000;
	border-left: dotted 1px #000000;
}

.nav_side ul li a {
	text-decoration: none;
	background-color: #FFFFFF;
	display: block;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
}

.nav_side ul li a:hover {
	opacity: 0.7;
}

/* メイン */
main {
/* mainにはdisplay: block;を指定しないとwidthやheightが適用されない。 */
	flex: 1;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
}

/* コンテンツ */
article {

}

/* この構文を書く事でコンテンツの最下部のmargin-bottomが正常に効く。書かないとmargin-bottomはcontentsの背景色(白)の余白にならずbodyの背景色の余白になってしまう。 */
article::after {
    content: "";
    display: table;
    clear: both;
}

mark {
	background-color: #FFCC00;
}

samp {
	font-weight: bold;
	text-decoration: underline;
}

kbd {
	font-size: 0.85em;
	font-weight: 700;
	line-height: 1;
	color: #333;
	background-color: #eee;
	display: inline-block;
	white-space: nowrap;
	vertical-align: 0.1em;
	padding-top: 2px;
	padding-right: 4px;
	padding-bottom: 2px;
	padding-left: 4px;
	margin-top: 0px;
	margin-right: 3px;
	margin-bottom: 0px;
	margin-left: 3px;
	border-radius: 3px;
	border: solid 1px #b4b4b4;
	box-shadow: 0 1px 1px rgba(0,0,0,0.2);
}

address {

}

time {

}

h1 {
	font-size: 12px;
	line-height: 1.8;
	font-weight: normal;
	display: inline;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

h2 {
	font-size: 20px;
	line-height: 20px;
	color: #FFFFFF;
	font-weight: bold;
	background-color: #443535;
	text-indent: 10px;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 10px;
	margin-left: 10px;
}

.h2_span {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 10px;
	border-left-style: solid;
	border-left-width: 8px;
	border-left-color: #863013;
}

.h2_2 {
	font-size: 20px;
	line-height: 20px;
	color: #FFFFFF;
	font-weight: bold;
	background-color: #443535;
	text-indent: 10px;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 30px;
	margin-right: 10px;
	margin-bottom: 10px;
	margin-left: 10px;
}

/* 新着情報 */
.news {
	width: 94%;
	height: 116px;
	margin-top: 12px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	overflow: auto;
}

.news div {
	display: flex;
	align-items: flex-start;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 5px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 8px;
	margin-left: 0px;
	border-bottom-style: dotted;
	border-bottom-width: 1px;
	border-bottom-color: #333333;
}

.news dt {
	font-size: 14px;
	font-weight: bold;
	flex-shrink: 0;
	width: 110px;
}

.news dd {
	font-size: 14px;
	line-height: 1.8;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 5px;
}

.news dd a {

}

.news span {
	font-weight: bold;
	color: #FF0000;
}

/* Pタグ */
.p_1 {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 40px;
	margin-left: 20px;
}

.p_2 {
	font-size: 14px;
	line-height: 1.8;
	margin-top: 14px;
	margin-right: 20px;
	margin-bottom: 40px;
	margin-left: 20px;
}

.p_3 {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 0px;
	margin-left: 20px;
}

.p_center {
	font-size: 14px;
	text-align: center;
}

.image_1 {
	width: 70%;
	text-align: center;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
}

.image_2 {
	width: 50%;
	text-align: center;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
}

/* 汎用性がある物は general_purpose というクラス名を冒頭に書く。 */
.general_purpose_box_1 {
	font-size: 16px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #064458;
	display: inline-block;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	margin-top: 10px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 30px;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: #000000;
	border-right-style: solid;
	border-right-width: 1px;
	border-right-color: #000000;
	border-left-style: solid;
	border-left-width: 1px;
	border-left-color: #000000;
}

.general_purpose_box_1 + div {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #F8F7F7 calc(100% - 1px)),linear-gradient(90deg, transparent calc(100% - 1px), #F8F7F7 calc(100% - 1px));
	background-size: 4px 4px;
	background-repeat: repeat;
	background-position: center center;
	width: 96%;
	padding-top:  0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 25px;
	margin-left: auto;
	border: solid 1px #7D7D7D;
}

.general_purpose_box_1 + div ul,.general_purpose_box_1 + div ol {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 15px;
	padding-bottom: 20px;
	padding-left: 0px;
	margin-top: 15px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 40px;
}

.general_purpose_box_1 + div li {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 25px;
	margin-left: 0px;
}

.general_purpose_box_1 + div li:last-child  {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

/* padding-leftを書くとズレるので書かない。 */
.purpose {
	background-color: #FAFAFA;
	width: 88%;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	border: solid 2px #000000;
}

.purpose li {
	font-size: 14px;
	line-height: 1.8;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 15px;
	margin-left: -5px;
}

.purpose li:last-child {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: -5px;
}

.execution_results_p {
	font-size: 16px;
	line-height: 1.8;
	text-align: right;
	margin-top: 0px;
	margin-right: 20px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.execution_results_image {
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
}

.copy_box {
	text-align: right;
	margin-top: 0px;
	margin-right: 30px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.copy_box_2 {
	text-align: right;
	margin-top: 30px;
	margin-right: 30px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.copy_button {
	font-size: 14px;
	line-height: 1.0;
	background-color: #007BFF;
	color: #FFFFFF;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	border-radius: 4px;
	border: none;
	cursor: pointer;/* マウスを乗せた時に指マークにする */
	transition: background-color 0.3s;/* 色の変化を滑らかにする */
}

.copy_button:hover {
    background-color: #0056b3;
}

pre {
	font-size: 12px;
	line-height: 1.5;
	background-image: linear-gradient(#f0f0f0, #f0f0f0);
    background-repeat: no-repeat;
    background-size: 2.5em 100%;
    background-position: 0 0;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: calc(2.5em + 5px);
	margin-top: 0px;
	margin-right: 20px;
	margin-bottom: 0px;
	margin-left: 20px;
	position: relative;
	border: solid 1px #000000;
	white-space: pre-wrap;
	word-break: break-all;
	counter-reset: line;
}

pre code {
	font-size: 0;
	display: block;
}

pre code span {
	font-size: 12px;
	min-height: 1.5em;
	display: block;
	position: relative;
	counter-increment: line;
}

pre code span::before {
	font-weight: bold;
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 3.5em;/* 番号エリアの幅は背景と同じ */
	height: 1.5em;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
    user-select: none;
	position: absolute;
	left: calc(-3.5em - 5px);/* 3. 左に戻る距離は「背景の幅 ＋ 5px」分戻します */
	box-sizing: border-box;
	content: counter(line);
}

pre:last-of-type {
/* margin-top、margin-right、margin-leftは既に指定していて、0pxにすると余白が無くなってしまうので、margin-bottomだけ指定。 */
	margin-bottom: 20px;
}

.menu_table {
	text-align: center;
	width: 94%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.menu_table td {
	font-size: 16px;
	background-color: #FFFFFF;
	padding-top: 15px;
	padding-right: 5px;
	padding-bottom: 15px;
	padding-left: 5px;
	border: dotted 1px #333333;
}

.menu_table td:nth-child(1) {
	width: 25%;
}

.menu_table td:nth-child(2) {
	text-align: left;
	vertical-align: top;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.menu_table span {
	display: block;
}

.menu_table span:nth-child(1) {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 2px;
	margin-left: 0px;
}

.menu_table img {
	width: 100%;
	height: auto;
}

.commentary {
	margin-top: 15px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.commentary li {
	font-size: 14px;
	line-height: 1.8;
	margin-top: 0px;
	margin-right: 20px;
	margin-bottom: 10px;
	margin-left: 0px;
}

.list {
	background-color: #FDFDFD;
	width: 86%;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;/* なぜかpadding-leftを書くとリストが枠から出てしまうので記述しない。padding-left: 0%;としてもダメ。10%にすると表示上はキレイに収まるが横向きにしたら左の余白は10%の影響が出て大きく空いてしまうので、その記述もしない。 */
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: dotted 1px #000000;
}

.list a {
	text-decoration: none;
}

.list ol {

}

.list li {
	padding: 10px 10px;
	margin-top: 0px;
	list-style-type: upper-alpha;
}

.list_2 {
	background-color: #FDFDFD;
	width: 86%;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;/* なぜかpadding-leftを書くとリストが枠から出てしまうので記述しない。padding-left: 0%;としてもダメ。10%にすると表示上はキレイに収まるが横向きにしたら左の余白は10%の影響が出て大きく空いてしまうので、その記述もしない。 */
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: dotted 1px #000000;
}

.list_2 a {
	text-decoration: none;
}

.list_2 ol {

}

.list_2 li {
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: -20px;
	list-style-type: none;
}

.list_3_h {
	font-size: 16px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #064458;
	display: inline-block;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 30px;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: #000000;
	border-right-style: solid;
	border-right-width: 1px;
	border-right-color: #000000;
	border-left-style: solid;
	border-left-width: 1px;
	border-left-color: #000000;
}

.list_3 {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #F8F7F7 calc(100% - 1px)),linear-gradient(90deg, transparent calc(100% - 1px), #F8F7F7 calc(100% - 1px));
	background-size: 4px 4px;
	background-repeat: repeat;
	background-position: center center;
	width: 96%;
	padding-top:  15px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 15px;
	margin-left: auto;
	border: solid 1px #7D7D7D;
}

.list_3 ul,.list_3 ol {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 15px;
	padding-bottom: 20px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 15px;
}

.list_3 li {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 25px;
	margin-left: 0px;
	list-style: none;
}

.list_3 li:last-child  {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.navi_image {
	background-color: #F2EFEF;
	width: 90%;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
}

.navi_image p {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.navi_image > div {
	width: 100%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
}

.navi_image > div:last-child {
	margin-bottom: 20px;
}

.navi_image > div img {
	width: 100%;
}



.index_div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	column-gap: 10px;
	row-gap: 10px;
}

.index_div > a {
	text-decoration: none;
	color: #000000;
	display: block;
	border: solid 1px #000000;
}

.index_div > a:hover {
	opacity: 0.7;
}

.index_div > a > div:first-of-type {
	font-size: 14px;
	font-weight: bold;
	background-color: #F5F5F5;
	text-align: center;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	border-bottom: dotted 1px #000000;
}

.index_div img {
	display: block;
	width: 100%;
	height: auto;
}



.layout_1_1 {
	background-color: #FFFFFF;
	display: table;
	table-layout: fixed;
	width: 94%;
	padding-top: 0%;
	padding-right: 0%;
	padding-bottom: 0%;
	padding-left: 0%;
	margin-right: auto;
	margin-left: auto;
	border: solid 2px #000000;
	border-spacing: 10px 10px;
}

.layout_1_1 > div {
	display: table-cell;
	width: auto;
	border: dotted thin #999999;
	position: relative;
}

.layout_1_1 > div > div:nth-of-type(1) {
	font-size: 20px;
	text-align: center;
	padding-top: 8px;
	margin-right: 10px;
	margin-bottom: 10px;
	margin-left: 10px;
	border-bottom-style: dotted;
	border-bottom-width: 1px;
	border-bottom-color: #999999;
}

.layout_1_1 > div > div:nth-of-type(2) {
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 5px;
	margin-left: 10px;	
}

.layout_1_1 > div > div:nth-of-type(3) {
	font-size: 12px;
	line-height: 1.8;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 50px;
	margin-left: 10px;
}

.layout_1_1 > div > div:nth-of-type(4) {
	font-size: 16px;
	text-align: right;
	margin-top: 0px;
	margin-right: 15px;
	margin-bottom: 10px;
	margin-left: 0px;
	position: absolute;
	bottom: 0px;
	right: 0px;
}

.layout_1_2 {
	display: flex;
	width: 94%;
	margin-right: auto;
	margin-left: auto;
}

.layout_1_2 > div {
	font-size: 14px;
	text-align: left;
	flex: 1;
}

.layout_1_3 {
	background-color: #FFFFFF;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 92%;
	padding-top: 0px;
	padding-right: 5px;
	padding-bottom: 0px;
	padding-left: 5px;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	column-gap: 10px;
	row-gap: 10px;
	box-sizing: border-box;
}

.layout_1_3 div {
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
	height: 150px;
	border: dotted 1px #999999;
	box-sizing: border-box;
}

.layout_1_3 div a {
	font-size: 24px;
	color: #000000;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.layout_1_3 div a:hover {
	background-color: #EFEFEF;
}

.layout_1_4 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	column-gap: 10px;
	row-gap: 10px;
}

.layout_1_4 > a {
	text-decoration: none;
	color: #000000;
	display: block;
	border: solid 1px #000000;
}

.layout_1_4 > a:hover {
	opacity: 0.7;
}

.layout_1_4 > a > div:first-of-type {
	font-size: 14px;
	font-weight: bold;
	background-color: #F5F5F5;
	text-align: center;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	border-bottom: dotted 1px #000000;
}

.layout_1_4 img {
	display: block;
	width: 100%;
	height: auto;
}

.layout_2_1 {
	background-color: #024800;
	text-indent: 0px;
	display: block;
	width: 96%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.layout_2_1 > span {
	display: block;
	padding-top: 40px;
	padding-right: 10px;
	padding-bottom: 40px;
	padding-left: 20px;
	margin-top: 0%;
	margin-right: 0%;
	margin-bottom: 0%;
	margin-left: 5%;
	border-left-style: solid;
	border-left-width: 3px;
	border-left-color: yellow;
}

.layout_2_1 > span > span:nth-of-type(1) {
	display: flex;
	align-items: center;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 0px;
}

.layout_2_1 > span > span:nth-of-type(1) > span:nth-of-type(1) {
	font-size: 24px;
	line-height: 24px;
	font-weight: bold;
	color: #FFFFFF;
}

.layout_2_1 > span > span:nth-of-type(1) > span:nth-of-type(2) {
	font-size: 12px;
	line-height: 12px;
	color: yellow;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 10px;
}

.layout_2_1 > span > span:nth-of-type(2) {
	font-size: 12px;
	line-height: 1.8;
	font-weight: bold;
	color: #FFFFFF;
	display: block;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}



.layout_2_2 {
	width: 96%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 2px;
	margin-left: auto;
}

.layout_2_2 > span:nth-of-type(1) {

}

.layout_2_2 > span > span {
	background-color: orange;
	display: block;
	width: 40px;
	height: 40px;
	float: left;
	border-radius: 50%;
}

.layout_2_2 > span > span > span {
	background-color: #FFFFFF;
	display: block;
	width: 20px;
	height: 20px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 10px;
	border-radius: 50%;
}

.layout_2_2 > span:nth-of-type(2) {
	font-size: 24px;
	line-height: 1.8;
	font-weight: bold;
	text-decoration: underline;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 8px;
	overflow: auto;
}

.layout_2_3 {
	display: inline-block;
	padding-top: 5px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 20px;
	border-bottom-style: solid;
	border-bottom-width: 2px;
	border-bottom-color: #000000;
}

.layout_2_3 span {
	font-size: 16px;
	font-weight: bold;
	padding-top: 0px;
	padding-right: 5px;
	padding-bottom: 0px;
	padding-left: 5px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 5px;
	border-left-style: solid;
	border-left-width: 3px;
	border-left-color: #000000;
}

.layout_2_4 {
	width: 92%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 10px;
	margin-left: auto;
}

.layout_2_4 > span {
	font-size: 18px;
	font-weight: bold;
	display: inline-block;
	position: relative;
	padding-top: 0px;
	padding-right: 25px;
	padding-bottom: 0px;
	padding-left: 5px;
}

.layout_2_4 > span:before {
	content: '';
	width: 0;
	height: 0;
	position: absolute;
	border-bottom: solid 20px green;
	border-right: solid 20px transparent;
	bottom: -1px;
	right: 0;
}

.layout_2_4 > span:after {
	content: '';
	width: calc(100% - 15px);
	border-bottom: solid 3px green;
	position: absolute;
	bottom: -1px;
	left: -5px;
}

.layout_2_5 {
	font-size: 16px;
	line-height: 16px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #064458;
	display: inline-block;
	padding-top: 8px;
	padding-right: 8px;
	padding-bottom: 8px;
	padding-left: 8px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 5px;
	margin-left: 20px;
	border-radius: 6px;
}

.layout_2_6 {
	display: flex;
	align-items: flex-start;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 5px;
	margin-left: 20px;
}

.layout_2_6 > span:first-child {
	background-color: #563724;
	display: block;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	flex-shrink: 0;
}

.layout_2_6 > span:first-child > span {
	background-color: #FFFFFF;
	display: block;
	width: 16px;
	height: 16px;
	margin-top: 8px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 8px;
	border-radius: 50%;
}

.layout_2_6 > span + span {
	font-size: 20px;
	line-height: 1.8;
	font-weight: bold;
	text-decoration: underline;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 8px;
}

.layout_2_7 {
	font-size: 16px;
	line-height: 16px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #064458;
	display: inline-block;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 5px;
	margin-left: 10px;
}

.layout_2_8 {
	background: linear-gradient(-135deg, #B4C7B3, #023200);
	margin-top: 0%;
	margin-right: 2%;
	margin-bottom: 0%;
	margin-left: 2%;
}

/* 文字を縦の中央揃えにする場合は1つのclassにまとめて入れるとdivが中央揃えにならず左詰めになってしまうのでwidth + margin autoのclassと、縦の文字を中央揃えにする構文を分ける */
.layout_2_8 span {
	font-size: 20px;
	line-height: 1.8;
	color: #FFFFFF;
	text-indent: 40px;
	display: table-cell; /* IE8から使用可能 */
	vertical-align: middle;
	height: 140px;/* heightを指定しないと機能しない */
}

.layout_3_1 {
	font-size: 16px;
	line-height: 1.8;
	background-color: #FDFDFD;
	padding-top: 20px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 0px;
	margin-top: 0px;
	margin-right: 2%;
	margin-bottom: 15px;
	margin-left: 2%;
	border: dotted 1px #999999;
}

.layout_3_1 li {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 20px;
	margin-left: 40px;
}

.layout_3_1 a {
	text-decoration: none;
}

.layout_3_2 {
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	border: solid 2px #064458;
}

.layout_3_2 h6 {
	font-size: 20px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #064458;
	text-align: center;
	padding-top: 5px;
	padding-right: 0px;
	padding-bottom: 5px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.layout_3_2 ol {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 20px;
	margin-right: 10px;
	margin-bottom: 20px;
	margin-left: 50px;
}

.layout_3_2 ol li {
	font-size: 20px;
	font-weight: bold;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 15px;
	margin-left: 0px;
}

.layout_3_2 ol li a {
	text-decoration: none;
}

.layout_3_3 {
	font-size: 16px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #064458;
	display: inline-block;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 30px;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	border-top-style: solid;
	border-top-width: 1px;
	border-top-color: #000000;
	border-right-style: solid;
	border-right-width: 1px;
	border-right-color: #000000;
	border-left-style: solid;
	border-left-width: 1px;
	border-left-color: #000000;
}

.layout_3_3 + div {
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #F8F7F7 calc(100% - 1px)),linear-gradient(90deg, transparent calc(100% - 1px), #F8F7F7 calc(100% - 1px));
	background-size: 4px 4px;
	background-repeat: repeat;
	background-position: center center;
	width: 96%;
	padding-top:  15px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 25px;
	margin-left: auto;
	border: solid 1px #7D7D7D;
}

.layout_3_3 + div ul,.layout_3_3 + div ol {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 15px;
	padding-bottom: 20px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 40px;
}

.layout_3_3 + div li {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 25px;
	margin-left: 0px;
}

.layout_3_3 + div li:last-child  {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.layout_4_1 {
	align-items: center;
	display: flex;
	width: 92%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
}

.layout_4_1 > div:first-child {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 30%;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.layout_4_1 > div:last-child {
	font-size: 16px;
	line-height: 1.8;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
}

.layout_4_2 {
	width: 94%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
}

.layout_4_2 img {
	float: left;
	width: 200px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.layout_4_2 p {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.layout_4_2::after {
	content: "";
	display: block;
	clear: both;
}

.layout_5_1 {
	width: 80%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.layout_5_1 a {
	display: block;
	width: 100%;
	overflow: hidden;
}

.layout_5_1 a:hover{
	opacity: 0.8;
}

.layout_5_1 img {
	width: 100%;
}

.layout_5_1 div:nth-child(1) {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
}

.layout_5_1 div:nth-child(1) a {
	aspect-ratio: 16/6;
}

.layout_5_1 div:nth-child(2) {
	display: flex;
	gap: 10px;
}

.layout_5_1 div:nth-child(2) a {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	aspect-ratio: 3/2;
}

.layout_5_2 {
	width: 80%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.layout_5_2 a {
	display: block;
	width: 100%;
	overflow: hidden;
	position: relative;
}

.layout_5_2 a:hover{
	opacity: 0.8;
}

.layout_5_2 a::after {
	font-size: 14px;
	background-color: rgba(0, 64, 0, 0.8);
	color: #FFFFFF;
	text-align: center;
	width: 100%;
	padding-top: 8px;
	padding-right: 0px;
	padding-bottom: 8px;
	padding-left: 0px;
	position: absolute;
	bottom: 10%;
	left: 0;
}

.layout_5_2 img {
	display: block;
	width: 100%;
}

.layout_5_2 div:nth-child(1) {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
}

.layout_5_2 div:nth-child(1) a {
	aspect-ratio: 16/6;
}

.layout_5_2 div:nth-child(1) a::after {
    content: "自然豊かな森の恵み";
}

.layout_5_2 div:nth-child(2) {
	display: flex;
	gap: 10px;
}

.layout_5_2 div:nth-child(2) a {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	aspect-ratio: 3/2;
}

.layout_5_2 div:nth-child(2) a:nth-child(1)::after {
    content: "コーヒーの芳醇な香り";
}

.layout_5_2 div:nth-child(2) a:nth-child(2)::after {
    content: "読書でリラックスタイム";
}

.layout_6_1 {
	text-align: center;
	width: 96%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
	table-layout: fixed;
}

.layout_6_1 th,
.layout_6_1 td {
	font-size: 14px;
	padding-top: 10px;
	padding-right: 5px;
	padding-bottom: 10px;
	padding-left: 5px;
	border: dotted 1px #333333;
	word-wrap: break-word;
}

.layout_6_1 th {
	background-color: #EDEDED;
}

.layout_6_1 a {
	text-decoration: none;
}

.layout_6_2 {
	width: 0;
	min-width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	position: relative;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.layout_6_2 table {
	width: 100%;
	border: solid 2px #000000;
	border-collapse: collapse;
}

.layout_6_2 table th {
	background-color: #E9E9E9;
	text-align: center;
}

.layout_6_2 table th:last-child {
	text-align: left;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 10px;
}

.layout_6_2 table th,.layout_6_2 table td {
	font-size: 14px;
	width: 0;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 5px;
	border: dotted 1px #333333;
	white-space: nowrap;
}

.layout_6_2 table td:nth-child(1) {
	text-align: center;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.layout_6_2 table td:nth-child(n+2) {
	text-align: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.layout_6_2_b {
	width: 48px;
	height: 48px;
	background-color: #064458;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	transition: opacity 0.3s;
	opacity: 0;
	pointer-events: none;
}

.layout_6_2_b::after {
	content: "";
	width: 12px;
	height: 12px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: -6px;
	border-top: solid 4px #FFFFFF;
	border-right: solid 4px #FFFFFF;
	transform: rotate(45deg);
}

.layout_6_2_b.visible {
	opacity: 0.7;
	pointer-events: auto;
}

.layout_7_1 {
	background-image: url(../../image/layout/7-1.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 2.8444;
	width: 96%;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	box-sizing: border-box;
	gap: 20px;
}

.layout_7_1 > div {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
}

.layout_7_1 > div img {
	display: block;
	width: 100%;
	height: auto;
}

.layout_7_1 > div a {
	display: block;
	width: 100%;
}

.layout_7_1 > div a:hover {
	filter: brightness(1.03);
}

.layout_7_2 {
	display: grid;
	width: 96%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	box-sizing: border-box;
	overflow: hidden;
}

.layout_7_2 > div:nth-child(1) {
	background-image: url(../../image/layout/7-2.png);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 100% auto;
	grid-area: stack;
	justify-self: end;
	width: 40%;
	height: calc(100% + 20px);
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%),linear-gradient(to left, transparent 0%, black 15%, black 85%, transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%),linear-gradient(to left, transparent 0%, black 15%, black 85%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-composite: intersect;
	z-index: 0;
}

.layout_7_2 > div:nth-child(2) {
	font-size: 16px;
	line-height: 1.8;
	grid-area: stack;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 0px;
	padding-left: 5px;
	position: relative;
	z-index: 1;
}

.layout_8_1 {
	background-color: #FCFAF2;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 96%;
	height: 200px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	position: relative;
	overflow: hidden;
	z-index: 0;
}

.layout_8_1::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='washi-ultimate'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.12' numOctaves='3' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23ffffff' surfaceScale='2.5'%3E%3CfeDistantLight azimuth='45' elevation='80'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23washi-ultimate)'/%3E%3C/svg%3E");
	background-size: 80px 80px;
	background-repeat: repeat;
	pointer-events: none;
	mix-blend-mode: multiply;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	content: "";
	position: absolute;
	opacity: 0.38;
	z-index: -1;
}

.layout_8_2 {
	color: #FFFFFF;
	background-color: #2D4032;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 96%;
	height: 200px;
	padding-top: 30px;
	padding-right: 0px;
	padding-bottom: 30px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	position: relative;
	overflow: hidden;
	z-index: 0;
}

.layout_8_2::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='layout_8_2_dark'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.15' numOctaves='3' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23ffffff' surfaceScale='4.0'%3E%3CfeDistantLight azimuth='45' elevation='60'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23layout_8_2_dark)'/%3E%3C/svg%3E");
	background-size: 70px 70px;
	background-repeat: repeat;
	pointer-events: none;
	mix-blend-mode: screen;
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.14;
	z-index: -1;
}

.layout_8_3 {
	font-size: 16px;
	color: #000000;
	background-image: url(../../image/layout/8-3.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: top;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	aspect-ratio: 1600/600;
	overflow: hidden;
}

.layout_8_3_image {
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
}

.layout_8_3_image .type_a {
	background-image: url(../../image/layout/8-3.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 40px;
	margin-left: 0px;
	aspect-ratio: 1600/1200;
}

.layout_8_3_image .type_b {
	background-image: url(../../image/layout/8-3-b.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 40px;
	margin-left: 0px;
	aspect-ratio: 1600/1200;
}

.layout_8_3_image .type_c {
	background-image: url(../../image/layout/8-3-c.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 40px;
	margin-left: 0px;
	aspect-ratio: 1600/1200;
}

.layout_8_3_image .type_d {
	background-image: url(../../image/layout/8-3-d.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 40px;
	margin-left: 0px;
	aspect-ratio: 1033/729;
}

.layout_8_3_image .type_e {
	background-image: url(../../image/layout/8-3-e.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 40px;
	margin-left: 0px;
	aspect-ratio: 6667/5000;
}

.layout_8_3_image > div a {
	font-size: 16px;
	color: #000000;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

.layout_9_1 {
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	aspect-ratio: 960/540;
}

.layout_9_1 video {
	display: block;
	width: 100%;
}

.layout_9_2 {
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	aspect-ratio: 960/540;
}

.layout_9_2 video {
	display: block;
	width: 100%;
}

.layout_9_3 {
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	aspect-ratio: 560/315;
}

.layout_9_3 iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: none;
}



.structure_1_1 {
	font-size: 12px;
	line-height: 1.8;
	background-color: #FFFFFF;
	width: 94%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.structure_1_1 ol {
	font-size: 0px;
	display: block;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	list-style: none;
}

.structure_1_1 ol li {
	font-size: 12px;
	line-height: 1.8;
	display: inline;
}

.structure_1_1 ol li:not(:last-child)::after {
	color: #000000;
	content: ">";
	margin-top: 0px;
	margin-right: 8px;
	margin-bottom: 0px;
	margin-left: 8px;
}

.structure_1_1 a {
	text-decoration: none;
}

.structure_1_2 {
	font-size: 12px;
	line-height: 1.8;
	background-color: #FFFFFF;
	width: 94%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.structure_1_2 nav {
	display: inline;
}

.structure_1_2 ol {
	font-size: 0px;
	display: inline;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	list-style: none;
}

.structure_1_2 ol li {
	font-size: 12px;
	line-height: 1.8;
	display: inline;
}

.structure_1_2 ol li:not(:last-child)::after {
	color: #000000;
	content: ">";
	margin-top: 0px;
	margin-right: 8px;
	margin-bottom: 0px;
	margin-left: 8px;
}

.structure_1_2 ol li[aria-current="page"] {
	display: none;
}

.structure_1_2 a {
	text-decoration: none;
}

.structure_2_1 {
	text-align: center;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: 90%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.structure_2_1 > div {
	display: contents;
}

.structure_2_1 label {
	font-size: 16px;
	background-color: #F3F3F3;
	grid-row: 1;
	cursor: pointer;
	padding-top: 15px;
	padding-right: 0px;
	padding-bottom: 15px;
	padding-left: 0px;
	border-top: solid 1px #999999;
	border-left: solid 1px #999999;
	border-right: none;
	border-bottom: none;
}

.structure_2_1 > div:last-of-type label {
	border-right: solid 1px #999999;
}

.structure_2_1 label:hover {
	opacity: 0.7;
}

.structure_2_1 input:checked + label {
	font-weight: bold;
	color: #FFFFFF;
	background-color: #064458;
}

.structure_2_1 > div > div {
	font-size: 16px;
	line-height: 1.8;
	background-color: #FFFFFF;
	text-align: left;
	grid-column: 1 / -1;
	grid-row: 2;
	pointer-events: none;
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 20px;
	visibility: hidden;
	opacity: 0;
	border: solid 1px #999999;
	box-sizing: border-box;
}

.structure_2_1 input:checked ~ div {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.structure_2_1 input[type="radio"] {
	display: none;
}

.structure_2_1 > div > div a {
	text-decoration: none;
	display: block;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 20px;
	margin-left: 0px;
}

.structure_2_1 > div > div span {
	display: block;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 20px;
	margin-left: 0px;
}

.structure_3_1 {
	width: 94%;
	height: 116px;
	margin-top: 12px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	overflow: auto;
}

.structure_3_1 div {
	display: flex;
	align-items: flex-start;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 5px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 8px;
	margin-left: 0px;
	border-bottom-style: dotted;
	border-bottom-width: 1px;
	border-bottom-color: #333333;
}

.structure_3_1 dt {
	font-size: 14px;
	font-weight: bold;
	flex-shrink: 0;
	width: 110px;
}

.structure_3_1 dd {
	font-size: 14px;
	line-height: 1.8;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 5px;
}

.structure_3_2 {
	width: 96%;
	height: 146px;
	margin-top: 12px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	overflow: auto;
}

.structure_3_2 > div {
	display: flex;
	align-items: flex-start;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
	border-bottom: dotted 1px #333333;
}

.structure_3_2 > div > div:nth-child(1) {
	display: flex;
	flex-shrink: 0;
	justify-content: center;
	width: 110px;
}

.structure_3_2 > div > div:nth-child(1) > img {
	width: 100%;
}

.structure_3_2 > div > div:nth-child(2) {
	flex: 1;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 8px;
}

.structure_3_2 > div > div:nth-child(2) > span:nth-child(1) {
	font-size: 14px;
	font-weight: bold;
	display: block;
}

.structure_3_2 > div > div:nth-child(2) > span:nth-child(2) {
	font-size: 14px;
	line-height: 1.8;
	display: block;
}

.structure_4_1 {
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.structure_4_1 > ul {
	background-color: #FFFFFF;
	display: flex;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	list-style: none;
	border-top: solid 1px #DDDDDD;
	border-bottom: solid 1px #DDDDDD;
}

.structure_4_1 > ul > li {
	display: flex;
	flex-direction: column;
	flex: 1;
	position: relative;
	border-right: dotted 1px #DDDDDD;
}

.structure_4_1 > ul > li:first-child {
	border-left: solid 1px #DDDDDD;
}

.structure_4_1 > ul > li:last-child {
	border-right: solid 1px #DDDDDD;
}

.structure_4_1 a {
	color: #333;
	text-decoration: none;
	text-align: center;
	display: block;
	flex-grow: 1;
	width: 100%;
	padding-top: 15px;
	padding-right: 15px;
	padding-bottom: 15px;
	padding-left: 15px;
	transition: background 0.1s;
	box-sizing: border-box;
}

.structure_4_1 > ul > li > a {
	font-size: 16px;
}

.structure_4_1 > ul > li > a:hover {
	background-color: #F0F0F0;
}

.structure_4_1 > ul > li > ul {
	background-color: #FFFFFF;
	width: 100%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	list-style: none;
	position: absolute;
	top: 100%;
	left: 0;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.1s;
	z-index: 100;
}

.structure_4_1 > ul > li > ul > li {
	display: block;
	border-bottom: solid 1px #EEEEEE;
}

.structure_4_1 > ul > li > ul > li > a {
	font-size: 14px;
	padding-top: 10px;
	padding-right: 5px;
	padding-bottom: 10px;
	padding-left: 5px;
}

.structure_4_1 > ul > li > ul > li > a:hover {
	background-color: #F9F9F9;
}

.structure_4_1 > ul > li:hover > ul {
	visibility: visible;
	opacity: 1;
}

.structure_5_1 {
	background-color: #F6F6F6;
	display: flex;
	width: 94%;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.structure_5_1 > div:first-child {
	width: 25%;
	margin-top: 0px;
	margin-right: 10px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.structure_5_1 > div:first-child > div {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 10px;
	margin-left: 0px;
}

.structure_5_1 > div:first-child > div:nth-child(1) {
	text-align: center;
}

.structure_5_1 > div:first-child > div:nth-child(1) img {
	width: 80%;
}

.structure_5_1 > div:first-child > div:nth-child(2) {
	font-size: 12px;
	font-weight: bold;
	text-align: center;
}

.structure_5_1 > div:first-child > div:nth-child(3) {
	font-size: 12px;
	line-height: 1.8;
	text-align: right;
}

.structure_5_1 > div:last-child {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	display: flex;
}

.structure_5_1 > div:last-child > div {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	padding-top: 0px;
	padding-right: 5px;
	padding-bottom: 0px;
	padding-left: 10px;
	border-left-style: dotted;
	border-left-width: 1px;
	border-left-color: #333333;
}

.structure_5_1 > div:last-child > div:last-child {
	border-right-style: dotted;
	border-right-width: 1px;
	border-right-color: #333333;
}

.structure_5_1 > div:last-child > div span a {
	font-size: 16px;
	line-height: 1;
	font-weight: bold;
	color: #4B4B4B;
	text-decoration: underline;
	display: block;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 12px;
	padding-left: 0px;
}

.structure_5_1 > div:last-child > div a {
	font-size: 14px;
	color: #4B4B4B;
	text-decoration: none;
	display: block;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 12px;
	padding-left: 0px;
}

.structure_5_1 > div:last-child > div a:hover {
	opacity: 0.7;
}

.structure_5_2 {
	font-size: 14px;
	background-color: #F5F5F5;
	text-align: center;
	width: 100%;
	padding-top: 5px;
	padding-right: 0px;
	padding-bottom: 5px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}

.structure_5_3 {
	background-color: #FCFAF2;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 96%;
	padding-top: 30px;
	padding-right: 0px;
	padding-bottom: 30px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	position: relative;
	overflow: hidden;
	z-index: 0;
}

.structure_5_3::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='structure_5_3'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.12' numOctaves='3' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23ffffff' surfaceScale='2.5'%3E%3CfeDistantLight azimuth='45' elevation='80'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23structure_5_3)'/%3E%3C/svg%3E");
	background-size: 80px 80px;
	background-repeat: repeat;
	pointer-events: none;
	mix-blend-mode: multiply;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	content: "";
	position: absolute;
	opacity: 0.38;
	z-index: -1;
}

.structure_5_3 img {
	width: 20%;
}

.structure_5_3 + div {
	font-size: 16px;
	line-height: 1.8;
	color: #FFFFFF;
	background-color: #2D4032;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 96%;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	position: relative;
	overflow: hidden;
	z-index: 0;
}

.structure_5_3 + div::before {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='structure_5_3_dark'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.15' numOctaves='3' stitchTiles='stitch' result='noise'/%3E%3CfeDiffuseLighting in='noise' lighting-color='%23ffffff' surfaceScale='4.0'%3E%3CfeDistantLight azimuth='45' elevation='60'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23structure_5_3_dark)'/%3E%3C/svg%3E");
	background-size: 70px 70px;
	background-repeat: repeat;
	pointer-events: none;
	mix-blend-mode: screen; 
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.14; 
	z-index: -1;
}

.structure_5_3 + div a {
	color: #FFFFFF;
	margin-top: 0px;
	margin-right: 5px;
	margin-bottom: 0px;
	margin-left: 5px;
}

.structure_5_3 + div a:hover {
	opacity: 0.95;
}

.structure_6_1 {
	position: fixed;
	top: 30px;
	right: 4%;
	box-sizing: border-box;
}

.structure_6_1 #menu_button_check {
	display: none;
}

.structure_6_1 .menu_button {
	background-color: #000000;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	width: 54px;
	height: 54px;
	position: relative;
	z-index: 1000;
}

.structure_6_1 .menu_button span,
.structure_6_1 .menu_button span:before,
.structure_6_1 .menu_button span:after {
	background-color: #FFFFFF;
	display: block;
	width: 30px;
	height: 3px;
	position: absolute;
	content: '';
	transition: all 0.1s;
}

.structure_6_1 .menu_button span:before { bottom: 12px; }
.structure_6_1 .menu_button span:after { top: 12px; }

.structure_6_1 #menu_button_check:checked ~ .menu_button span {
	background-color: transparent;
}

.structure_6_1 #menu_button_check:checked ~ .menu_button span:before {
	bottom: 0;
	transform: rotate(45deg);
}

.structure_6_1 #menu_button_check:checked ~ .menu_button span:after {
	top: 0;
	transform: rotate(-45deg);
}

.structure_6_1 nav {
	width: 100%;
	height: 70vh;
	position: fixed;
	top: -70vh;
	left: 0;
	z-index: 999;
	background-color: #FFFFFF;
	transition: top 0.3s ease-in-out;
	overflow-y: auto;
}

.structure_6_1 #menu_button_check:checked ~ nav {
	top: 0;
}

.structure_6_1 nav > div {
	display: flex;
	justify-content: space-around;
	padding-top: 100px;
	padding-right: 40px;
	padding-bottom: 50px;
	padding-left: 40px;
	gap: 50px;
}

.structure_6_1 nav > div > div {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	min-width: 0;
}

.structure_6_1 nav > div > div input[type="checkbox"] {
	display: none;
}

.structure_6_1 nav > div > div label {
	font-size: 18px;
	font-weight: bold;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	border-bottom: solid 2px #333333;
}

.structure_6_1 nav > div > div label::after {
	font-size: 22px;
	font-weight: normal;
	content: '−';
}

.structure_6_1 nav > div > div > div {
	display: grid;
	grid-template-rows: 1fr;
	transition: grid-template-rows 0.2s ease-in-out;
}

.structure_6_1 nav > div > div > div > div {
	min-height: 0;
	overflow: hidden;
}

.structure_6_1 nav > div > div > div > div ul {
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	list-style: none;
}

.structure_6_1 nav > div > div > div > div li a {
	font-size: 15px;
	text-decoration: none;
	color: #666666;
	display: block;
	padding-top: 12px;
	padding-right: 10px;
	padding-bottom: 12px;
	padding-left: 10px;
}

.structure_6_1 nav > div > div > div > div li a:hover {
	background-color: #F5F5F5;
}

.structure_6_1 nav > div > div input[type="checkbox"]:checked + label::after {
	content: '+';
}

.structure_6_1 nav > div > div input[type="checkbox"]:checked ~ div {
	grid-template-rows: 0fr;
}

.structure_6_1_sample {
	font-size: 20px;
	line-height: 1.8;
	background-color: #F5F5F5;
	display: flex;
	width: 100%;
	padding-top: 80px;
	padding-right: 0px;
	padding-bottom: 80px;
	padding-left: 0px;
}

.structure_6_1_sample > div:nth-child(1) {
	text-align: right;
	width: 20%;
}

.structure_6_1_sample > div:nth-child(2) {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 80px;
}

.structure_6_1_sample_b {
	font-size: 20px;
	line-height: 1.8;
	background-color: #FFFFFF;
	display: flex;
	width: 100%;
	padding-top: 80px;
	padding-right: 0px;
	padding-bottom: 80px;
	padding-left: 0px;
}

.structure_6_1_sample_b > div:nth-child(1) {
	text-align: right;
	width: 20%;
}

.structure_6_1_sample_b > div:nth-child(2) {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 0;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 80px;
}

.structure_7_1 {
	width: 94%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	position: relative;
}

/* .structure_7_1 > div等のセレクターで作りたいが、スライドショーの型を提供しているswiper側でクラス名を.swiperで固定しているので変えると動かない。そのため、サイトの方針に反するが、訪問者の混乱を避けるため公式のクラス名(.swiperや.swiper-slide等)を使う。修正の時などに一連のSwiper以外のクラス名だと不具合が生じたり混乱しやすいため。 */
.structure_7_1 .swiper {
	width: 100%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	overflow: hidden; 
	position: relative;
}

.structure_7_1 .swiper-slide {
	width: 100% !important;
}

.structure_7_1 .swiper-slide img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.structure_7_1 .swiper-pagination {
	bottom: 2% !important; 
}

.structure_7_1 .swiper-pagination-bullet {
	background: #000000 !important;
	width: 8px !important;
	height: 8px !important;
	opacity: 0.2;
	transition: width 0.3s ease, height 0.3s ease;
}

.structure_7_1 .swiper-pagination-bullet-active {
	background: #000000 !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 6px;
	opacity: 1;
	transition: width 0.3s ease;
}

.structure_7_2 {
	width: 94%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	position: relative;
}

/* .structure_7_2 > div等のセレクターで作りたいが、スライドショーの型を提供しているswiper側でクラス名を.swiperで固定しているので変えると動かない。そのため、サイトの方針に反するが、訪問者の混乱を避けるため公式のクラス名(.swiperや.swiper-slide等)を使う。修正の時などに一連のSwiper以外のクラス名だと不具合が生じたり混乱しやすいため。 */
.structure_7_2 .swiper {
	width: 100%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 8px;
	margin-left: auto;
	overflow: hidden; 
	position: relative;
}

.structure_7_2 .swiper-slide {
	width: 100% !important;
}

.structure_7_2 .swiper-slide img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.structure_7_2 .swiper-pagination {
	position: static !important;
	text-align: center;
}

.structure_7_2 .swiper-pagination-bullet {
	background: #AAAAAA;
	width: 8px !important;
	height: 8px !important;
	opacity: 0.2;
	transition: width 0.3s ease, height 0.3s ease;
}

.structure_7_2 .swiper-pagination-bullet-active {
	background: #333333 !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 6px;
	opacity: 1;
	transition: width 0.3s ease;
}

.structure_7_3 {
	width: 94%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	position: relative;
}

/* .structure_7_3 > div等のセレクターで作りたいが、スライドショーの型を提供しているswiper側でクラス名を.swiperで固定しているので変えると動かない。そのため、サイトの方針に反するが、訪問者の混乱を避けるため公式のクラス名(.swiperや.swiper-slide等)を使う。修正の時などに一連のSwiper以外のクラス名だと不具合が生じたり混乱しやすいため。 */
.structure_7_3 .swiper {
	width: 100%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	overflow: hidden; 
	position: relative;
}

.structure_7_3 .swiper-slide {
	width: 100% !important;
}

.structure_7_3 .swiper-slide img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.structure_7_3 .swiper-pagination {
	bottom: 2% !important;
}

.structure_7_3 .swiper-pagination-bullet {
	background: #000000 !important;
	width: 8px !important;
	height: 8px !important;
	opacity: 0.2;
	transition: width 0.3s ease, height 0.3s ease;
}

.structure_7_3 .swiper-pagination-bullet-active {
	background: #000000 !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 6px;
	opacity: 1;
	transition: width 0.3s ease;
}

.structure_7_4 {
	width: 94%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	position: relative;
}

/* .structure_7_4 > div等のセレクターで作りたいが、スライドショーの型を提供しているswiper側でクラス名を.swiperで固定しているので変えると動かない。そのため、サイトの方針に反するが、訪問者の混乱を避けるため公式のクラス名(.swiperや.swiper-slide等)を使う。修正の時などに一連のSwiper以外のクラス名だと不具合が生じたり混乱しやすいため。 */
.structure_7_4 .swiper {
	width: 100%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 8px;
	margin-left: auto;
	overflow: hidden; 
	position: relative;
}

.structure_7_4 .swiper-slide {
	width: 100% !important;
}

.structure_7_4 .swiper-slide img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.structure_7_4 .swiper-pagination {
	position: static !important;
	text-align: center;
}

.structure_7_4 .swiper-pagination-bullet {
	background: #AAAAAA;
	width: 8px !important;
	height: 8px !important;
	opacity: 0.2;
	transition: width 0.3s ease, height 0.3s ease;
}

.structure_7_4 .swiper-pagination-bullet-active {
	background: #333333 !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 6px;
	opacity: 1;
	transition: width 0.3s ease;
}



.management_2_2 {
	font-size: 14px;
	line-height: 1.8;
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border-collapse: collapse;
}

.management_2_2 th {
	border: solid 1px #CCCCCC;
	padding: 10px;
	text-align: center;
}

.management_2_2 td {
	border: solid 1px #CCCCCC;
	padding: 10px;
	text-align: left;
}

/* ヘッダー行 */
.management_2_2 thead th {
	background-color: #f4f4f4;
	color: #333;
}

/* ボディ部分の各行の基本設定 */
.management_2_2 tbody tr {
	background-color: #fff; /* 基本は白 */
}

/* 偶数行の背景色をグレーに（thも含めて一括適用） */
.management_2_2 tbody tr:nth-child(even) {
	background-color: #f9f9f9;
}

/* 比較項目（一番左の列）の幅と整列 */
.management_2_2 tbody th {
	width: 20%;
	vertical-align: top;
	/* 背景色は親の tr に合わせるため指定しない、または透明にする */
	background-color: transparent;
}



h1 {
	font-size: 12px;
	line-height: 1.8;
	font-weight: normal;
	display: inline;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.table_two_rows {
	font-size: 16px;
	line-height: 1.8;
	width: 96%;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.table_two_rows a {
	text-decoration: none;
}

.table_two_rows th,.table_two_rows td {
	border: dotted 1px gray;
}

.table_two_rows th {
	background-color: #EDEFEF;
	width: 25%;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.table_two_rows td {
	text-align: left;
	padding: 10px;
}



/* アクセス */
.access_map {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
}

.access_map iframe {
	text-align: center;
	justify-content: center; /* 水平方向に中央揃え */
	aspect-ratio: 1.3333;
}

.access_table {
	font-size: 16px;
	line-height: 1.8;
	width: 96%;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.access_table a {
	text-decoration: none;
}

.access_table th,.access_table td {
	border: dotted 1px gray;
}

.access_table th {
	background-color: #EDEFEF;
	width: 150px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.access_table td {
	text-align: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}



/* お問い合わせ */
.inquiry_icon {
	width: 96%;
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: -10px;
	margin-left: auto;
}

.inquiry_icon_tel {
	font-size: 20px;
	line-height: 1.8;
	font-weight: bold;
	text-decoration: underline;
	background-image: url(../image/tel.png);
	background-repeat: no-repeat;
	background-size: 36px 36px;
	padding-left: 40px;
	overflow: auto;
}

.inquiry_table_tel {
	font-size: 16px;
	line-height: 1.8;
	width: 96%;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.inquiry_table_tel a {
	text-decoration: none;
}

.inquiry_table_tel th,.inquiry_table_tel td {
	border: dotted 1px gray;
}

.inquiry_table_tel th {
	background-color: #EDEFEF;
	width: 150px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.inquiry_table_tel td {
	text-align: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.inquiry_icon_mail {
	font-size: 20px;
	line-height: 1.8;
	font-weight: bold;
	text-decoration: underline;
	background-image: url(../image/mail.png);
	background-repeat: no-repeat;
	background-size: 36px 36px;
	padding-left: 40px;
	overflow: auto;
}

.inquiry_table_mail {
	font-size: 16px;
	line-height: 1.8;
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-width: 2px;
	border-right-width: 2px;
	border-bottom-width: 1px;
	border-left-width: 2px;
	border-top-color: #333333;
	border-right-color: #333333;
	border-bottom-color: #333333;
	border-left-color: #333333;
}

.inquiry_table_mail th {
	background-color: #EDEFEF;
	color: #000000;
	text-align: left;
	padding-top: 5px;
	padding-right: 0px;
	padding-bottom: 5px;
	padding-left: 10px;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #333333;
}

.inquiry_table_mail td {
	text-align: left;
	word-break : break-all;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-right: 0px;
	padding-left: 10px;
	border-bottom-style: solid;
	border-bottom-width: 1px;
	border-bottom-color: #333333;
}

.inquiry_table_form_mail {
	width: 300px;
	height: 20px;
}

.inquiry_table_form_mail_2 {
	width: 97.5%;
	height: 200px;
}

.inquiry_table_button_mail {
	font-size: 16px;
	text-align: center;
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 30px;
	padding-left: 0px;
}

.inquiry_table_check_mail {
	font-size: 16px;
	line-height: 1.8;
	width: 96%;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
}

.inquiry_table_check_mail a {
	text-decoration: none;
}

.inquiry_table_check_mail th,.inquiry_table_check_mail td {
	border: dotted 1px gray;
}

.inquiry_table_check_mail th {
	background-color: #EDEFEF;
	width: 150px;
	padding: 10px;
}

.inquiry_table_check_mail td {
	text-align: left;
	padding: 10px;
}

.inquiry_table_error_message_mail {
	font-size: 16px;
	line-height: 1.8;
	color: #FF0000;
	margin-top: 15px;
	margin-right: 20px;
	margin-bottom: 0px;
	margin-left: 20px;
}

.inquiry_button_mail {
	text-align: center;
}

.inquiry_button_mail_2 {
	text-align: center;
	padding-top: 30px;
	padding-right: 0px;
	padding-bottom: 30px;
	padding-left: 0px;
}

.inquiry_button_mail_3 {
	font-size: 16px;
}



/* 会社概要 */
.company_profile_table {
	font-size: 16px;
	line-height: 1.8;
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
	word-break: break-all;
}

.company_profile_table a {
	text-decoration: none;
}

.company_profile_table th,.company_profile_table td {
	border: dotted 1px gray;
}

.company_profile_table th {
	background-color: #EDEFEF;
	width: 150px;
	padding: 10px;
}

.company_profile_table td {
	text-align: left;
	padding: 10px;
}



/* 個人情報保護方針 */
.privacy_policy {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #000000;
}

.privacy_policy_b {
	font-size: 26px;
	line-height: 26px;
	font-weight: bold;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.privacy_policy_c {
	font-size: 26px;
	line-height: 26px;
	font-weight: bold;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-top: 40px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.privacy_policy_d {
	font-size: 16px;
	line-height: 1.8;
	font-weight: bold;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 40px;
}

.privacy_policy_p {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 20px;
	margin-top: 10px;
	margin-right: 0px;
	margin-bottom: 20px;
	margin-left: 0px;
}

.privacy_policy_p_2 {
	font-size: 16px;
	line-height: 1.8;
	padding-top: 0px;
	padding-right: 20px;
	padding-bottom: 0px;
	padding-left: 40px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 20px;
	margin-left: 0px;
}



/* リンク集 */
.link_collection_table {
	font-size: 14px;
	line-height: 1.8;
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 40px;
	margin-left: auto;
	border: solid 2px #333333;
	border-collapse: collapse;
	word-break : break-all;
}

.link_collection_table a {
	text-decoration: none;
}

.link_collection_table th,.link_collection_table td {
	border: dotted 1px gray;
}

.link_collection_table th {
	background-color: #EDEFEF;
	width: 120px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}

.link_collection_table td {
	text-align: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}



/* フッター */
footer {
	font-size: 14px;
	line-height: 1.8;
	background-color: #F5F5F5;
	width: 900px;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
}

footer.sample {
	font-size: 14px;
	line-height: 1.8;
	background-color: #F5F5F5;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
}

.footer_menu {
	text-align: center;
	padding: 5px 0px;
}

.footer_menu a {
	text-decoration: none;
}

.footer_menu a:hover {
	opacity: 0.7; /* 0.1〜0.9で指定。0.95など小数点第二位も適用されるらしい。0に近付くほど見えにくくなる。 */
}

.copyright {
	text-align: center;
}