@charset "utf-8";
body, dl, dt, dd, ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, blockquote {font-weight:450;}
body, dl, dt, dd, ul, ol, li, dl, dt, dd, p, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, blockquote {margin:0;padding:0;font-style:normal;text-align:left;}
* html body{font-size:small; font:x-small;}
html{scroll-behavior: smooth;}
/**:first-child+html body{font-size: small; font: x-small;}*/
img, a img{border:0; vertical-align:bottom; padding:0px; margin:0px;}
h1,h2,h3,h4,h5,h6{font-size:100%; font-weight:normal;}
ul,dl,ol{text-indent:0;}li{list-style:none;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal; font-weight:normal;}
input,textarea,select{font-family:inherit; font-size:inherit; font-weight:inherit;}
* html input,* html textarea,* html select{font-size:100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select{font-size:100%;}
table{border-collapse:collapse; border-spacing:0; font-size: inherit; width:100%;}th,td{text-align:left; vertical-align:top;}caption{text-align:left;}
pre,code,kbd,samp,tt{font-family:monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt{font-size:108%; line-height:100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt{font-size:108%; line-height:100%;}
input,select,textarea{font-size:100%; font-family:Verdana, Helvetica, sans-serif;}
input, textarea{margin:0; padding:0; vertical-align:middle;}
strong, em{font-weight:bold;}

@font-face {
	font-family: 'Noto Serif JP';
	font-style: normal;
	font-weight: 400;
	src: local(''),
	url('https://cdn.attend.jp/fonts/noto-serif-jp-v8-latin_japanese-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
	font-display: swap;
}
.mincho{font-family:"游明朝" , "Yu Mincho" , "Noto Serif JP", "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "min" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}

*{box-sizing: border-box; scrollbar-color: #7FD3CB rgba(191,233,229,0.5); scrollbar-width: thin;}
html::-webkit-scrollbar {width: 8px; height: 8px;}
html::-webkit-scrollbar-thumb {background: #7FD3CB;}
html::-webkit-scrollbar-track {background: rgba(191,233,229,0.5);}

@media (min-width:961px){
	a[href^="tel:"]{pointer-events: none;}
}


/*====================
#common
--------------------*/
body,input,textarea{
	font-family:
	"Yu Gothic",
	YuGothic,
	"Hiragino Kaku Gothic Pro",
	"Helvetica Neue",
	Arial,
	Meiryo,
	"MS PGothic",
	sans-serif;
}
body{
	color:#333;
	font-size:min(3.7vw,19px);
	line-height:1.8;
	min-width:1024px;
	-webkit-text-size-adjust:100%;/*スマホ表示対応*/
}
@media (max-width:1260px){
	body.gnav_open{
		overflow: hidden;
	}
}
@media (max-width:960px){
	body{
		min-width:320px;
	}
}

.acc {
	position: absolute;
	visibility: hidden;
}

input,
textarea{
	font-size:16px;
	line-height: 1.2;
}
.disable {
	pointer-events: none;
	opacity: 0.3;
}


.main_wrapper{
	display: block;
}
.inpage_paddingtop{
	margin-bottom: 5em;
}
.section_wrapper + .section_wrapper{
	margin-top: 6.5em;
}
.section_inner + .section_inner{
	margin-top: 4em;
}
@media (max-width:840px){
	.section_wrapper + .section_wrapper{
		margin-top: 4em;
	}
	.page_dtl .section_inner + .section_inner{
		margin-top: 2em;
	}
}
.section_inner2 + .section_inner2{
	margin-top: 2em;
}
.pagebox_wrapper{
	padding-right: 20px;
	padding-left: 20px;
}
.pagebox{
	margin-right:auto;
	margin-left:auto;
	max-width:1200px;
	width: 100%;
}
.pagebox.narrow{
	max-width: 880px;
}
.pagebox.narrow2{
	max-width: 660px;
}

img{max-width:100%;}
.rendering{image-rendering: -webkit-optimize-contrast;}
.of-image{
	display: block;
	aspect-ratio: 16/9;
}
.of-image .img{
	object-fit: contain;
	width: 100%;
	height: 100%;
}


/**/
.center{text-align:center;}
.right{text-align:right;}
@media (min-width:961px){
	.pc_right{
		display: flex;
		justify-content: flex-end;
	}
}


/**/
.hover{background:inherit; transition:filter 0.3s, opacity 0.3s;}
.hover:hover, .hover:active{filter:alpha(opacity=60); opacity:0.60;}
a:link, a:visited{color:#000; text-decoration:underline;}
a:hover, a:active{color:#009b9b; text-decoration:none;}


/*margins==========*/
.mb1{margin-bottom:1em;}
.mb2{margin-bottom:2em;}
.mb3{margin-bottom:3em;}
.mb4{margin-bottom:4em;}
.mb5{margin-bottom:5em;}
.mt1{margin-top:1em;}
.mt2{margin-top:2em;}
.mt3{margin-top:3em;}
.mt4{margin-top:4em;}
.mt5{margin-top:5em;}


/*paddings==========*/
.pb1{padding-bottom:1em;}
.pb2{padding-bottom:2em;}
.pb3{padding-bottom:3em;}
.pb4{padding-bottom:4em;}
.pb5{padding-bottom:5em;}
.pt0{padding-top:0 !important;}
.pt1{padding-top:1em;}
.pt2{padding-top:2em;}
.pt3{padding-top:3em;}
.pt4{padding-top:4em;}
.pt5{padding-top:5em;}


/*grid==========*/
.flexgroup{
	display: flex;
	gap: 30px 40px;
}
.flexgroup.rev{
	flex-direction: row-reverse;
}
.flexgroup .imagebox{
	max-width:400px;
	width: 100%;
	margin-right: auto;
	margin-left:auto;
}
.flexgroup .imagebox.lv1{
	max-width: 240px;
}
.flexgroup .textbox{
	flex: 1;
}
.flexgroup.child_wrapper{
	gap: 1em;
	flex-wrap: wrap;
}
.flexgroup.child_wrapper.gaplv1{
	gap: 2em;
}
.flexgroup.child_wrapper.child2 .child_block{
	width: calc((100% - 1em) / 2);
}
.flexgroup.child_wrapper.child2.gaplv1 .child_block{
	width: calc((100% - 2em) / 2);
}
.flexgroup.child_wrapper.child3 .child_block{
	width: calc((100% - 1em * 2) / 3);
}
.flexgroup.child_wrapper.child3.gaplv1 .child_block{
	width: calc((100% - 2em * 2) / 3);
}
.flexgroup.child_wrapper.child4 .child_block{
	width: calc((100% - 1em * 3) / 4);
}
.flexgroup.child_wrapper.child4.gaplv1 .child_block{
	width: calc((100% - 2em * 3) / 4);
}
@media (max-width:960px){
	.flexgroup.m_w1_pt1{
		flex-direction: column;
	}
}
@media (max-width:840px){
	.flexgroup.m_w2_pt1{
		flex-direction: column;
	}
	.flexgroup.child_wrapper.child3.pt1_lv1 .child_block{
		width: calc((100% - 1em) / 2);
	}
	.flexgroup.child_wrapper.child4.pt1_lv1 .child_block{
		width: calc((100% - 1em * 2) / 3);
	}
}
@media (max-width:620px){
	.flexgroup.child_wrapper.child3.pt1_lv1 .child_block{
		width: 100%;
	}
}
@media (max-width:440px){
	.flexgroup.child_wrapper.child4.pt1_lv1 .child_block{
		width: calc((100% - 1em) / 2);
	}
}


/*txt==========*/
.must,
.any{
	background: #fff;
	display: inline-block;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.5em;
	padding: 0 0.3em;
}
.must {
	border:1px solid #c00;
	color: #c00;
}
.any {
	border:1px solid #ccc;
	color: #777;
}
table.style th .must,
table.style th .any {margin-right: 1em;}


.indent{
	text-indent:-1em;
	padding-left:1em;
}



/*title==========*/
.titlestyle1{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 200%;
	font-weight: bold;
	margin-bottom: 1em;
}
.titlestyle1.lv1{
	font-size: 175%;
}
.titlestyle1::before{
	content: "";
	display: block;
	background: #8fced3;
	width: 3px;
	height: 35px;
	margin-bottom: .2em;
}


.page_titlestyle{
	font-weight: bold;
	background:linear-gradient(to bottom,
		#19a2a9 90%,
		#1d959b 100%);
	border-bottom: 1px solid #bcdbd8;
	color: #fff;
	margin-bottom: 2em;
	font-size:200%;
}
.page_titlestyle .text{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 4em;
	padding: .5em;
}


.heading{
	font-weight: bold;
	margin-bottom: 1em;
	line-height: 1.2;
}
.heading.lv1{
	font-size: 200%;
}
.heading.lv2{
	font-size: 160%;
}
.heading.lv3{
	font-size: 130%;
}
@media (max-width:960px){
	.heading.lv1{
		font-size: 160%;
	}
	.heading.lv2{
		font-size: 145%;
	}
	.heading.lv3{
		font-size: 130%;
	}
}

.heading.style1{
	position: relative;
	padding-bottom: .6em;
}
.heading.style1::before,
.heading.style1::after{
	content: "";
	display: block;
	height: 2px;
	position: absolute;
	bottom: 0;
	background: #d2e4e5;
}
.heading.style1::before{
	width: 4em;
	left: 0;
	background: #2fa8b0;
}
.heading.style1::after{
	width: calc(100% - 4em - 7px);
	right: 0;
}
.heading.style1.more{
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap:0 1em;
}
.heading.style1.more .txt2{
	font-size: 75%;
}

.heading.style2{
	background: #bce3e5;
	color: #0e6a6f;
	border-radius: 4px;
	padding: .6em .7em;
}

.heading.style3{
	border-left: 5px solid #0e6a6f;
	font-weight: bold;
	padding-left:15px
}

/*table==========*/
table.style{
	border-top:1px solid #BCBEC5;
	border-right:1px solid #BCBEC5;
}
table.style th, table.style td{
	vertical-align:middle;
	padding:15px 10px;
	border-bottom:1px solid #BCBEC5;
	border-left:1px solid #BCBEC5;
}
table.style th{
	background:#F2F3F4;
	font-weight:bold;
	background-clip: padding-box;
}
table.style td{
	background: #fff;
}
table.style td input,
table.style td textarea,
table.style td select{
	border:1px solid #CCC;
	padding:3px;
	border-radius:3px;
}

.style label input {
	display: inline-block;
	width: auto !important;
	margin-right:10px;
}

.style label{
	display:inline-block;
	padding:6px 13px;
	border:1px solid #ddd;
	border-radius:8px;
	font-weight: bold;
	cursor: pointer;
	background: #fafafa;
	transition: background 0.4s;
	line-height: 1em;
	margin-bottom: 5px;
}
.style label:hover {
	box-shadow: 0px 0px 4px #013db5;
}
.style label.checked {
	color: #1053C3;
	border-color: #75B9F0;
	background: linear-gradient(to bottom,#fff,#BFE2FF);
}

table.style.memberlist {
	font-size: 100%;
}
table.style.memberlist thead td{
	background-color: #dee7f5;
	font-weight: bold;
}
table.style.memberlist .cell1{width: 13em;}
table.style.memberlist .cell2{width: 6em;}
table.style.memberlist .cell3{width: auto;}
table.style.memberlist .name{
	display: flex;
	flex-direction: row-reverse;
}
table.style.memberlist .name .box{
	width: 50%;
}


table.phototable{
	border-top: none;
	border-bottom: 1px solid #BCBEC5;
	table-layout: fixed;
}
table.phototable th,
table.phototable td{
	text-align: center;
	font-weight: bold;
}
table.phototable th{
	border-bottom: none;
	border-top: 1px solid #ddd;
}
table.phototable td{
	border-bottom: none;
	border-top: 1px solid #BCBEC5;
}


table.yeartable{
	table-layout: fixed;
}
table.yeartable th,
table.yeartable td{
	text-align: center;
	font-weight: bold;
}


.logintable{
	margin-bottom: 20px;
	margin-right: auto;
	margin-left: auto;
	width: 100%;
	max-width: 640px;
}
.logintable th{
	width: 12em;
}
.logintable input{
	width: 100%;
}

table.archives_table1 :is(th, td){
	padding: 10px;
}
.archives_table1 thead :is(th, td){
	background: #33654c;
	text-align: center;
	color: #fff;
	font-weight: bold;
}
.archives_table1 .title1{
	background: #6b8dab;
	color: #fff;
	font-weight: bold;
	text-align: left;
}
.archives_table1 .title2{
	background: #40ad86;
	color: #fff;
	font-weight: bold;
	text-align: left;
}
.archives_table1 i{
	color:#19A3A9;
}

@media (min-width:961px){
	table.style.memberlist thead{
		position: sticky;
		top: 0;
	}
}
@media (max-width:960px){
	table.style.mov,
	table.style.mov :is(tbody, tr, th, td){
		display:block;
		width:100%;
	}
	table.style.mov{border:none;}
	table.style.mov tr{
		margin-top:10px;
		border-top:1px solid #BCBEC5;
		border-right:1px solid #BCBEC5;
	}
	table.style th, table.style td{
		padding:9px 10px;
	}


	.table_scroll_wrapper::before{
		content: "← 左右にスクロールしてご覧いただけます →";
		text-align: center;
		display: block;
		width: 100%;
		font-weight: bold;
		font-size: 80%;
		margin-bottom: 10px;
	}
	.table_scroll{
		overflow-x: auto;
	}
	.table_scroll table{
		width:880px
	}
}


/*liststyle==========*/
ol li{
	list-style:decimal inside;
	text-indent:-1.3em;
	padding-left:1.3em;
}

/*  */
.ul_style{
	margin:1em 0;
}
.ul_style .box{
	list-style:none;
	line-height:1.4;
	margin-bottom:1em;
	position:relative;
	padding:0 0 0 1.5em;
}
.ul_style .box:before{
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	content: "\f192";
	display:block;
	width:1em;
	height:1em;
	line-height:1em;
	font-size:1em;
	position:absolute;
	top:0.2em;
	left:0px;
	text-align:center;
	color:#00abeb;
}

/*---*/
ul.disc{ margin:1.5em 0; padding:0 0 0 1.5em;}
ul.disc li{ list-style:disc outside; line-height:1.4; margin-bottom:1em;}
ul.disc li:last-child{margin-bottom:0;}


/*button==========*/
.button_wrapper .button{
	color:#FFF;
	text-decoration:none;
	font-weight:bold;
	display:flex;
	gap: .6em;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 300px;
	min-height: 4em;
	padding: .5em;
	margin-right: auto;
	margin-left: auto;
	font-size:18px;
	line-height:1;
	cursor:pointer;
	outline: none; /*input click時のborderを消す*/
	background:#2fa8b0;
	border:2px solid #2fa8b0;
	color: #fff;
	transition: background .3s, color .3s;
}
.button_wrapper .button.txt_st1{
	flex-wrap: wrap;
	gap: 0;
}
.button_wrapper .button.lv1{
	max-width: 380px;
}
.button_wrapper .button.lv2{
	max-width: 440px;
}
.button_wrapper .button:hover{
	background: #fff;
	color: #2fa8b0;
}
.button_wrapper .button.tp2{
	background: #fff;
	color: #2fa8b0;
}
.button_wrapper .button.tp2:hover{
	background:#2fa8b0;
	color: #fff;
}
.button_wrapper.button_group{
	gap: 1em;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.button_wrapper.button_group .button{
	margin-right: 0;
	margin-left: 0;
}
.button_wrapper .button.color1{
	border-color: #4f9d67;
	background: #4f9d67;
}
.button_wrapper .button.color1:hover{
	background: #fff;
	color: #4f9d67;
}
.button_wrapper .button.color1.tp2{
	background: #fff;
	color: #4f9d67;
}
.button_wrapper .button.color1.tp2:hover{
	background:#4f9d67;
	color: #fff;
}
.button_wrapper .button.color2{
	background:linear-gradient(to bottom,
		#e8737b 0%,
		#f2445a 100%);
}
.button_wrapper .button.color3{
	border-color: #5182b5;
	background: #5182b5;
}
.button_wrapper .button.color3:hover{
	background: #fff;
	color: #5182b5;
}
.button_wrapper.group{
	display: flex;
	gap: 1em;
	flex-wrap: wrap;
	justify-content: center;
}
.button_wrapper.group .button{
	margin-right: 0;
	margin-left: 0;
}


/*  */
.news_wrapper{
	background: #EFF5F6;
}

.news_category{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5em;
}
.news_category .box{
	width: 100%;
	max-width: 220px;
	height: 3em;
	position: relative;
	background: #fff;
}
.news_category .box::after{
	content: "";
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
	background:linear-gradient(to bottom,
		#f4f4f4 0%,
		#d7d8d8 100%);
	transition: opacity .3s;
}
.news_category .box.ct2::after{
	background:linear-gradient(to bottom,
		#fdeaea 0%,
		#d3c3c3 100%);
}
.news_category .box.ct3::after{
	background:linear-gradient(to bottom,
		#eaf2fc 0%,
		#c0c7cf 100%);
}
.news_category .box.ct4::after{
	background:linear-gradient(to bottom,
		#eafcf3 0%,
		#c0cfc1 100%);
}
.news_category .newslist_open.box{
	color: #2fa8b0;
}
.news_category .newslist_open.box::after{
	background: #fff;
}
.news_category .box:hover::after{
	opacity: 0;
}
.news_category .link{
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6em;
	line-height: 1;
	padding: .5em;
	height: 100%;
	border: 2px solid #fff;
	position: relative;
	z-index: 2;
	cursor: pointer;
}
.news_category .link::before{
	content: "";
	display: block;
	width: 100%;
	position: absolute;
	height: 3px;
	background: #f00;
	bottom: 0;
	opacity: 0;
	transition: opacity .3s;
}
.news_category .link:hover::before{
	opacity: 1;
}
.news_category .link::after{
	font-family: "Font Awesome 5 free";
	font-weight: 600;
	content: "\f0d7";
	font-size: 80%;
}
.newslist_drop{
	display: none;
}
.newslist_drop.newslist_open{
	display: block;
}


.news_date{
	display: flex;
	flex-wrap: wrap;
	gap: 0 2em;
	margin-bottom: 1.5em;
	font-weight: bold;
}
.news_date .date{
	color: #2fa8b0;
}
.news_date.group{
	font-size: 80%;
	gap: 0 .5em;
}
.news_date.group .box{
	width: calc((100% - .5em * 2)/3);
	border: 1px solid #ddd;
	line-height: 1.2;
	padding: .5em;
}
.news_date .box.txt_inner{
	display: flex;
	gap: .3em 1em;
	flex-wrap: wrap;
}
.news_video{
	aspect-ratio: 16/9;
	margin-right: auto;
	margin-left: auto;
	width: 100%;
	max-width: 880px;
}
.news_video iframe{
	display: block;
	width: 100%;
	height: 100%;
}

.store_image{
	aspect-ratio: 5/2;
}
.store_image .img{
	object-fit: contain;
	width: 100%;
	height: 100%;
}
.store_price{
	display: flex;
	gap: 1em;
}
.store_comment{
	font-size: 80%;
	line-height: 1.5;
	margin-top: 1em;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 1em .5em;
}
.store_button{
	margin-top: .8em;
	margin-bottom: 2em;
}
.store_button .button{
	font-size: 14px;
}

.store_button .button.soldout {
	background: none #ffffff;
	border-color: #d31b1b;
	color: #d31b1b;
	cursor: initial;
	pointer-events: none;
}

.year_select,
.year_select select{
	background: #19bbc3;
	color: #fff;
}
.year_select{
	display: flex;
	justify-content: center;
	padding: 0 .5em;
	width: 100%;
	font-size: 130%;
	overflow: hidden;
	max-width: 220px;
	margin-right: auto;
	margin-left: auto;
	border-radius: 100vw;
}
.year_select select{
	border: none;
	padding: .5em 2em;
	width: 100%;
}


.pager_wrapper{
	display: flex;
	gap: 1em;
	justify-content: center;
	align-items: center;
}
.pager_wrapper .btn{
	text-decoration: none;
	font-weight: bold;
	background: #2fa8b0;
	color: #fff;
    border: 2px solid #2fa8b0;
	width: 6em;
	padding: .8em 1em;
	text-align: center;
	line-height: 1;
	transition: background .3s, color .3s;
}
.pager_wrapper .btn:hover{
	background: #fff;
	color: #2fa8b0;
}
.pager_wrapper .prev{
	order: 1;
	border-radius: 100vw 0 0 100vw;
	padding-left: 1.4em;
}
.pager_wrapper .next{
	order: 3;
	border-radius: 0 100vw 100vw 0;
	padding-right: 1.4em;
}
.pager_inner{
	order: 2;
	display: flex;
	gap: .5em;
	justify-content: center;
	align-items: center;
	font-size: 140%;
	line-height: 1;
}
.pager_inner .txt{
	font-weight: bold;
	font-size: 80%;
}


.news_list .box:not(:first-child){
	margin-top: 3px;
}
.news_list .link{
	display: flex;
	gap: .6em 1.5em;
	text-decoration: none;
	background: #fff;
	padding: 1em 2.5em;
}
.news_list .link::after{
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	content: "\f105";
	display: flex;
	align-items: center;
	color: #aeaeae;
}
.news_list .category{
	width: 12em;
	font-size: 11px;
	line-height: 1;
}
.news_list .category .icon{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .7em .5em;
	background: #ececec;
}
.news_list .category.ct1 .icon{
	background: #d3f1da;
}
.news_list .category.ct2 .icon{
	background: #fbe4e4;
}
.news_list .category.ct3 .icon{
	background: #e6f0fc;
}
.news_list .text{
	flex: 1;
}
@media (max-width: 920px) {
	.news_list .link{
		flex-wrap: wrap;
		position: relative;
		padding-left: 1.5em;
	}
	.news_list .link::after{
		position: absolute;
		right: 15px;
		top: 0;
		height: 100%;
	}
	.news_list .text{
		flex-basis: 100%;
	}
}


.news_list2{
	border-top: 1px solid #ddd;
}
.news_list2 .link{
	text-decoration: none;
	display: flex;
	flex-wrap: wrap;
	gap: .3em 2em;
	border-bottom: 1px solid #ddd;
	padding: 2em .7em;
	font-weight: bold;
	transition: background .4s, color .4s;
}
.news_list2.btntype .link{
	gap:.7em .5em;
}
.news_list2 .thumbnail{
	width: 100%;
	max-width: 100px;
}
.news_list2 .date{
	width: 6em;
	color: #666;
	transition: color .4s;
}
.news_list2 .date.lv1{
	width: 10em;
}
.news_list2 .inner{
	flex: 1;
	display: flex;
	gap: 1em;
}
.news_list2.btntype .inner{
	padding-right: 1.5em;
}
.news_list2 .txt_inner{
	display: block;
	font-weight: normal;
	font-size: 85%;
}
.news_list2 .vt{
	font-size: 80%;
	width: 7em;
	display: block;
	text-decoration: none;
	text-align: center;
	padding: .15em 0;
	border: 1px solid #2fa8b0;
	background: #2fa8b0;
	color: #fff;
	transition: background .4s, color .4s;
}
.news_list2 .vt.c1{
	border-color: #df4141;
	background: #df4141;
}
.news_list2 .vt.c2{
	border-color: #ed7a00;
	background: #ed7a00;
}
.news_list2 .vi{
	width: 1em;
	text-align: center;
	color: #2fa8b0;
}
.news_list2 a.link:hover{
	background: #dcfeff;
}
.news_list2 a.link:hover .date{
	color: #009b9b;
}
.news_list2 a.link:hover .vt,
.news_list2 .vt:hover{
	color: #2fa8b0;
	background: #fff;
}
.news_list2 a.link:hover .vt.c1,
.news_list2 .vt.c1:hover{
	color: #df4141;
}
@media (max-width: 840px) {
	.news_list2 .link{
		padding-top: 1.4em;
		padding-bottom: 1.4em;
	}
	.news_list2 .date,
	.news_list2 .date.lv1{
		width: 100%;
	}

	.news_list2.btntype .inner{
		padding-right: 0;
		flex-basis: 100%;
	}
}


.ac_list{
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.ac_list + .ac_list{
	border-top: none;
}
.ac_list .trigger{
	display: flex;
	align-items: center;
	padding: 2em 0.7em;
	font-weight: bold;
	gap: 1.5em;
	cursor: pointer;
}
.ac_list .trigger .title{
	flex: 1;
}
.ac_list .trigger .icon,
.ac_list .trigger .icon .img{
	width: 2em;
	height: 2em;
}
.ac_list .trigger .icon{
	overflow: hidden;
}
.ac_list .trigger .icon .img{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #2fa8b0;
	color: #fff;
	border: 2px solid #2fa8b0;
	transition: background .3s, border .3s, transform .3s;
}
.ac_list .trigger:hover .icon .img,
.ac_list .trigger.ac_active .icon .img{
	background: #fff;
	color: #2fa8b0;
	transform: translate(0,-2em);
}
.ac_list .trigger.ac_active:hover .icon .img{
	background: #2fa8b0;
	color: #fff;
}
.ac_list .filedl{
	background: #f9f9f9;
}
.ac_list_inner{
	display: none;
	margin-right: 2em;
	margin-left: 2em;
	margin-bottom: 2em;
}
.ac_list .link{
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	padding: 1.5em 1em;
}
@media (max-width: 840px) {
	.ac_list_inner{
		margin-right: .6em;
		margin-left: .6em;
	}
	.ac_list .link{
		justify-content: center;
	}
	.ac_list .news_list2 .inner{
		flex-basis: 100%;
	}
}


.linklist{
	display: flex;
	flex-wrap: wrap;
	gap: 1em .5em;
}
.linklist .link{
	display: flex;
	align-items: center;
	height: 100%;
	text-decoration: none;
	gap: .7em;
	border: 1px solid #ddd;
	padding: 1em 1.5em;
	font-weight: bold;
	line-height: 1.2;
}
.linklist .icon{
	font-size: 140%;
	color: #45adb1;
}
.linklist .txt{
	flex: 1;
}
.linklist.child2 .box{
	width: calc((100% - .5em) / 2);
}
.linklist.child3 .box{
	width: calc((100% - .5em * 2) / 3);
}
@media (max-width: 840px) {
	.linklist.child3.m_w1_pt1 .box{
		width: calc((100% - .5em) / 2);
	}
}
@media (max-width: 720px) {
	.linklist.child2.m_w2_pt1 .box,
	.linklist.child3.m_w2_pt1 .box{
		width: 100%;
	}
}


.linksection .linkblock{
	width: 95%;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.linksection .linkblock:not(:first-child){
	margin-top: 3em;
}
.linksection .linkblock .image{
	width: 75%;
}
.linksection .linkblock:nth-child(odd) .image{
	margin-right: auto;
}
.linksection .linkblock:nth-child(even) .image{
	margin-left: auto;
}
.linksection .linkblock .img{
	object-fit: cover;
	width: 100%;
	height: 500px;
}
.linksection .linkblock .inner{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}
.linksection .textwrapper{
	display: flex;
	align-items: center;
	height: 100%;
}
.linksection .linkblock:nth-child(odd) .textwrapper{
	justify-content: flex-end;
}
.linksection .linkblock:nth-child(even) .textwrapper{
	justify-content: flex-start;
}
.linksection .textbox{
	background: #fff;
	width: 380px;
	padding: 0 1.5em 1.5em;
	box-shadow: 0 0 8px 8px rgba(0,0,0,.2);
}
@media (max-width: 960px) {
	.linksection .linkblock{
		box-shadow: 0 0 2px 2px rgba(0,0,0,.1);
		width: calc(100% - 20px * 2);
	}
	.linksection .linkblock .inner{
		position: static;
	}
	.linksection .linkblock .image,
	.linksection .textbox{
		width: 100%;
	}
	.linksection .linkblock .img{
		height: auto;
	}
	.linksection .textbox{
		box-shadow: none;
	}
}


.linksection2{
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
}
.linksection2 .box{
	width: calc((100% - 1px)/2);
	text-decoration: none;
	position: relative;
}
.linksection2 .image{
	aspect-ratio: 16/9;
	overflow: hidden;
}
.linksection2 .img{
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: transform .5s;
}
.linksection2 .textbox{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1em;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}
.linksection2 .text{
	background: #fff;
	box-shadow: 0 0 8px 8px rgba(0,0,0,.2);
	width: 340px;
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 170%;
	line-height: 1;
	font-weight: bold;
	padding: 1em;
	transition: background .4s, color .4s;
}
.linksection2 .text i{
	color: #26A7B1;
	font-size: 120%;
	margin-bottom: .5em;
	transition: color .4s;
}
@media (min-width: 961px) {
	.linksection2 .box:hover .img{
		transform: scale(1.06);
	}
	.linksection2 .box:hover .text{
		background: #26A7B1;
		color: #fff;
	}
	.linksection2 .box:hover .text i{
		color: #fff;
	}
}
@media (max-width: 960px) {
	.linksection2 .box{
		width: 100%;
	}
	.linksection2 .image{
		aspect-ratio: unset;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		max-width: 640px;
	}
}
@media (max-width: 540px) {
	.linksection2 .text{
		font-size: 140%;
		width: 100%;
		max-width: 270px;
	}
}


.linksection3{
	width: 95%;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.linksection3 .img{
	object-fit: cover;
	width: 100%;
	height: 300px;
}
.linksection3 .list{
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
	padding: 3em;
}
.linksection3 .box{
	display: block;
	width: calc((100% - 1em) / 2);
}
.linksection3 .link{
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-shadow: 0 0 8px 8px rgba(0,0,0,.2);
	background: rgba(255,255,255,.9);
	height: 100%;
	font-size: 170%;
	line-height: 1;
	font-weight: bold;
	padding: 2em .5em;
	transition: background .4s, color .4s;
}
.linksection3 .link i{
	color: #26A7B1;
	font-size: 120%;
	margin-bottom: .5em;
	transition: color .4s;
}
@media (min-width: 961px) {
	.linksection3 .link:hover{
		background: #26A7B1;
		color: #fff;
	}
	.linksection3 .link:hover i{
		color: #fff;
	}
}
@media (max-width: 960px) {
	.linksection3{
		width: 100%;
		gap: 1em;
	}
	.linksection3 .img{
		height: 100%;
	}
	.linksection3 .box{
		box-shadow: 0 0 2px 2px rgba(0,0,0,.1);
		width: 100%;
		max-width: 440px;
		margin-right: auto;
		margin-left: auto;
	}
	.linksection3 .list{
		position: static;
		padding: 0 20px;
		margin-top: -5em;
	}
}
@media (max-width: 540px) {
	.linksection3 .link{
		font-size: 140%;
	}
}


/*  */
.pdf_link .linkbox{
	display: block;
	text-decoration: none;
}
.pdf_link .image{
	aspect-ratio: 16/9;
}
.pdf_link .img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.pdf_link .img.contain{
	object-fit: contain;
}
.pdf_link .img.top{
	object-position:center top;
}
.pdf_link .caption{
	padding: .5em .5em 0;
	line-height: 1.2;
}
@media (max-width: 540px) {
	.flexgroup.child3.pdf_link .child_block{
		width: 100%;
	}
	.flexgroup.child3.pdf_link .linkbox{
		display: flex;
		gap: 1em;
		align-items: center;
	}
	.flexgroup.child3.pdf_link .image{
		width: 45%;
	}
	.flexgroup.child3.pdf_link .caption{
		padding: 0;
		flex: 1;
	}
}


/*  */
.image_listwrapper{
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
}
.image_listwrapper.child6 .block{
	width: calc((100% - .5em * 5) / 6);
	border: 1px solid #ddd;
	padding: .5em;
}
@media (max-width: 900px) {
	.image_listwrapper.child6 .block{
		width: calc((100% - .5em * 4) / 5);
	}
}
@media (max-width: 740px) {
	.image_listwrapper.child6 .block{
		width: calc((100% - .5em * 3) / 4);
	}
}
@media (max-width: 600px) {
	.image_listwrapper.child6 .block{
		width: calc((100% - .5em * 2) / 3);
	}
}
.image_listwrapper .image{
	display: block;
	margin-bottom: .5em;
}
.image_listwrapper .img{
	aspect-ratio: 1/1;
	object-fit: contain;
	width: 100%;
	height: 100%;
}
.image_listwrapper .name{
	font-size: 80%;
	line-height: 1.2;
	font-weight: bold;
}


/*  */
.page_dtl .data{
	display: flex;
	flex-wrap: wrap;
	gap: 0 2em;
	font-weight: bold;
}
.page_dtl .data .date{
	width: 7em;
}
.page_dtl .date_txt{
	margin-bottom: 1em;
	line-height: 1;
	font-weight: bold;
	display: flex;
	gap: 1em;
	align-items: center;
}
.page_dtl .data_label{
	font-size: 80%;
	padding: .5em 1em .3em;
}
.page_dtl .data_label.ct1{
	background: #ececec;
}
.page_dtl .data_label.ct2{
	background: #fbe4e4;
}
.page_dtl .data_label.ct3{
	background: #e6f0fc;
}
.page_dtl .dtl_image{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1em;
}
.page_dtl .dtl_image .block{
	width: calc((100% - 1em) / 2);
}
@media (max-width: 960px) {
	.page_dtl .dtl_image .block{
		width: 100%;
	}
}


/*  */
.pagenav{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.pagenav .link{
	text-decoration: none;
	font-weight: bold;
	padding: 1em;
	display: inline-block;
	position: relative;
}
.pagenav .link::after{
	content: "";
	display: block;
	width: 3em;
	height: 3px;
	background: #2fa8b0;
	position: absolute;
	bottom: 0;
	left:50%;
	transform: translate(-50%, 0 );
	opacity: 0;
	transition: opacity .2s;
}
.pagenav .link:hover::after{
	opacity: 1;
}
.document_p1 .nav_document_index,
.document_p2 .nav_document_photo,
.document_p3 .nav_document_movie{
	background: #b2eaeb;
}

.pagenav2{
	display: flex;
	flex-wrap: wrap;
	gap: 5px 0;
}
.pagenav2 .link{
	text-decoration: none;
	font-weight: bold;
	padding: .8em;
	width: calc(100% / 5);
	border: 1px solid #ddd;
	border-left: none;
	line-height: 1.2;
	font-size: 80%;
	display: flex;
	justify-content: space-between;
	gap: 2em;
	word-break: break-all;
	transition: background .3s;
}
.pagenav2 a.link:hover{
	background: #f1feff;
}
.pagenav2 a.link::after{
	font-family:"Font Awesome 5 Free";
	font-weight:900;
	content: "\f105";
	color: #29868b;
}
.pagenav2 .link:nth-child(5n + 1){
	border-left: 1px solid #ddd;
}
@media (max-width: 960px) {
	.pagenav2 .link{
		width: calc(100% / 3);
	}
	.pagenav2 .link:nth-child(5n + 1){
		border-left: none;
	}
	.pagenav2 .link:nth-child(3n + 1){
		border-left: 1px solid #ddd;
	}
}
@media (max-width: 960px) {
}


/*  */
.profile_section{
	background: #f9f1e7;
	padding: 3em;
}
.profile_inner{
	display: flex;
	gap: 3em;
	margin-top: 4em;
}
.profile_inner .imagebox{
	width: 100%;
	max-width: 220px;
}
.profile_inner .textbox{
	flex: 1;
}
.profile_box{
	border-top: 1px solid #aaa398;
	padding-top: 1em;
	margin-bottom: 1em;
}
.profile_box + .profile_box{
	margin-top: 2.5em;
}
.profile_inner .name{
	display: flex;
	gap: .2em 2em;
	flex-wrap: wrap;
	align-items: baseline;
}
.profile_inner .name .t1{
	font-weight: bold;
	font-size: 140%;
}
.profile_inner .other{
	font-size: 80%;
}
.profile_inner .list .box:not(:first-child){
	margin-top: .6em;
	padding-top: .6em;
	border-top: 1px dashed rgba(0,0,0,.1);
}
.profile_inner .blocktype1{
	display: flex;
	gap: .5em 2em;
}
.profile_inner .blocktype1 .title{
	width: 5em;
	font-weight: bold;
}
.profile_inner .blocktype1 .inner{
	flex: 1;
}
@media (max-width: 960px) {
	.profile_inner .imagebox{
		max-width: 160px;
	}
}
@media (max-width: 800px) {
	.profile_section{
		padding: 2em 1.5em;
	}
	.profile_inner{
		flex-direction: column;
	}
	.profile_inner .imagebox{
		margin-right: auto;
		margin-left: auto;
	}
}
@media (max-width: 540px) {
	.profile_inner .blocktype1{
		flex-direction: column;
	}
	.profile_inner .blocktype1 .title{
		width: auto;
	}
}


/*header==========*/
.header{
	position: fixed;
	z-index: 6;
	display: flex;
	justify-content: space-between;
	top: 0;
	width: 100%;
	background: rgba(255,255,255,.85);
	box-shadow: 2px 2px 5px rgba(0,0,0,0.17);
}


.logo{
	display: flex;
	align-items: center;
	position: relative;
	z-index: 3;
}
.logoimg{
	width: 190px;
	height: 74px;
	position: relative;
	display: block;
	margin-left: 1em;
}
@media (max-width:1260px){
	.logoimg{
		width: 170px;
		height: 64px;
	}
}

.gnav .nav{
	display: flex;
	align-items: flex-end;
}
.gnav .link{
	text-decoration: none;
	height: 85px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: min(1.23vw,89%);
	padding: .9em;
	font-weight: bold;
	transition: background .4s, color .4s;
}
.gnav .link.navbg{
	padding-right: 1.2em;
	padding-left: 1.2em;
}
.gnav .link.form{
	background: #3ca9af;
	color:#fff;
}
.gnav .link.form:hover{
	color: #3ca9af;
}
.gnav .link.mail{
	background: rgba(135,135,135,.3);
	gap: .6em;
}
.gnav .link.mail i{
	color: #2fa8b0;
	font-size: 140%;
}
@media (max-width:1430px){
	.gnav .link,
	.gnav .link.navbg{
		padding-right: .6em;
		padding-left: .6em;
	}
}
.page_home .link.nav_home,
.page_home .link.nav_home i,
.page_outline .link.nav_outline,
.page_outline .link.nav_outline i,
.page_rohen .link.nav_rohen,
.page_rohen .link.nav_rohen i,
.page_schedule .link.nav_schedule,
.page_schedule .link.nav_schedule i,
.page_rotari .link.nav_rotari,
.page_rotari .link.nav_rotari i,
.page_archives .link.nav_archives,
.page_archives .link.nav_archives i,
.page_update .link.nav_update,
.page_update .link.nav_update i,
.page_form .link.nav_form,
.page_form .link.nav_form i,
.page_contact .link.nav_contact,
.page_contact .link.nav_contact i{
	color: #006f56;
}


.header .spnav{
	display: none;
}
.header .spnav .member{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	font-size: 12px;
	line-height: 1;
	padding: 1em;
	background: #3ca9af;
    color: #fff;
}
.header .spnav .member i{
	font-size: 35px;
	margin-bottom: 4px;
}
.drawer-button{
	flex-direction: column;
	display: flex;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
	padding: 1em;
	position: relative;
	text-align: center;
	z-index: 3;
}
.menubar{
	display: block;
	margin-right: auto;
	margin-left:auto;
	width: 40px;
	height: 32px;
	margin-bottom:7px;
	position: relative;
}
.menubar::before,
.menubar::after,
.menubar_close::before,
.menubar_close::after{
	content: "";
	display: block;
	height: 4px;
	width: 100%;
	background-color: #000;
	position: absolute;
}
.menubar::before,
.menubar::after{
	right:0;
	transition: width .3s;
}
.menubar::before{
	top:0;
}
.menubar::after{
	bottom:0;
	transition-delay: .1s;
}
.menubar_close::before,
.menubar_close::after{
	top: calc(50% - 2px);
	transform-origin: center;
	transform: rotate(0);
	transition: .3s;
}
.gnav_open .menubar::before,
.gnav_open .menubar::after{
	opacity: 0;
}
.gnav_open .menubar_close::before{
	transform: rotate(45deg);
}
.gnav_open .menubar_close::after{
	transform: rotate(-45deg);
}

@media (min-width:1261px){
	.gnav_wrapper{
		padding-top: 0 !important;
	}
	.gnav .sponly{
		display: none;
	}
	.gnav .link:hover{
		background: #fff;
	}


	.page_home .link.nav_home,
	.page_outline .link.nav_outline,
	.page_rohen .link.nav_rohen,
	.page_rotarian .link.nav_rotarian,
	.page_rotari .link.nav_rotari,
	.page_archives .link.nav_archives,
	.page_update .link.nav_update,
	.page_form .link.nav_form,
	.page_contact .link.nav_contact{
		background: #b2eaeb;
	}
}
@media (max-width:1320px){
	.gnav .link.navbg{
		padding-right: .7em;
		padding-left: .7em;
	}
}
@media (max-width:1260px){
	.header .spnav{
		display: flex;
	}


	.gnav_wrapper {
		position: fixed;
		left: -100vw;
		top: 0;
		width: 100%;
		height: 100%;
		background: rgba(230,230,230,.95);
		z-index: 2;
		filter: alpha(opacity=0);
		opacity: 0;
		transition: filter .4s, opacity .4s;
	}
	.gnav_open .gnav_wrapper {
		left: 0;
		filter: alpha(opacity=100);
		opacity: 1;
	}
	.gnav{
		overflow: auto;
		height: 100%;
	}
	.gnav .nav{
		flex-direction: column;
		align-items: flex-start;
		margin-right: auto;
		margin-left: auto;
		width: 100%;
		max-width: 660px;
		gap: 1.2em;
		padding: 20px 30px;
	}
	.gnav .link{
		height: auto;
		font-weight: bold;
		font-size: 120%;
		padding: .4em 0;
	}
}
@media (min-width:1261px){
	.drop_nav_trigger{
		position: relative;
	}
	.drop_nav_wrapper{
		position: absolute;
		background: rgba(186,248,251,.9);
		width: 20em;
		left:50%;
		transform: translate(-50%,0);
		pointer-events: none;
		opacity: 0;
		transition: opacity .3s ease-out;
	}
	.drop_nav_trigger:hover .drop_nav_wrapper{
		pointer-events:all;
		opacity: 1;

	}
	.drop_nav .link{
		height: auto;
	}
	.drop_nav_wrapper{
		display: block !important;
	}
}
@media (max-width:1260px){
	.drop_nav_trigger{
		width: 100%;
		cursor: pointer;
	}
	.drop_nav_trigger .link{
		justify-content: flex-start;
	}
	.drop_nav_trigger > .link{
		pointer-events: none;
		gap: .5em;
	}
	.drop_nav_trigger > .link::before{
		font-family:"Font Awesome 5 Free";
		font-weight:900;
		content: "\2b";
		border: 2px solid #2fa8b0;
		background: #2fa8b0;
		color: #fff;
		display: flex;
		width: 2em;
		height: 2em;
		line-height: 2em;
		justify-content: center;
		align-items: center;
		font-size: 65%;
	}
	.drop_nav_trigger.drop_active > .link::before{
		content: "\f068";
		background: #fff;
		color: #2fa8b0;
	}
	.drop_nav_wrapper{
		display: none;
	}
	.drop_nav{
		background: rgba(255,255,255,.4);
		border-top: 1px solid rgba(0,0,0,.15);
		border-bottom: 1px solid rgba(0,0,0,.15);
		font-size: 80%;
	}
	.drop_nav .box:not(:first-child){
		border-top: 1px dotted rgba(0,0,0,.2);
	}
	.drop_nav .link{
		padding: .8em 1em;
	}
}


/*footer==========*/
.footnav{
	background: #EFF5F6;
	padding-top: 4em;
	padding-bottom: 4em;
}
@media (max-width: 960px) {
	.footnav{
		display: none;
	}
}
.footnav .inner{
	display: flex;
	gap: 3em;
}
.footnav .nav{
	flex-grow: 1;
}
.footnav .box{
	font-weight: bold;
}
.footnav .box:not(:first-child){
	margin-top: 1.5em;
}
.footnav .box.child{
	margin-top: .2em;
	font-weight: normal;
}
.footnav .link{
	text-decoration: none;
}
.footnav .child .txt{
	flex: 1;
}
.footnav .child{
	display: flex;
	gap: .5em;
}
.footnav .child::before{
	content: "";
	display: block;
	width: .4em;
	height: .4em;
	background: #004;
	border-radius: 100vw;
	margin-top: .7em;
}

.footlogo{
	background: #26A7B1;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2em 20px;
}
.footlogo .inner{
	width: 220px;
	aspect-ratio: 4/1;
	position: relative;
}
.footlogo svg{
	position: absolute;
}

.copyright{
	font-family: Verdana, “Droid Sans”;
	text-align: center;
	background: #317F85;
	color: rgba(255,255,255,.6);
	font-size: 14px;
	line-height: 1;
	padding: 1em;
}
@media (max-width: 960px) {
	.copyright{
		font-size: 11px;
	}
}


/*  */
.pagetop a{
	display: flex;
	justify-content: center;
	text-decoration: none;
	background: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
}
@media (min-width: 961px) {
	.pagetop{
		position: fixed;
		right: 1em;
		bottom: -8em;
		transition: bottom .8s cubic-bezier(.18,.56,.56,1);
	}
	.show .pagetop{
		bottom: 2em;
	}
	.pagetop .link{
		flex-direction: column;
		align-items: center;
		border: 1px solid rgba(0,0,0,.2);
		border-radius: 100vw;
		font-size: 20px;
		width: 3em;
		height: 3em;
	}
	.pagetop .txt{
		display: none;
	}
}
@media (max-width: 960px) {
	.pagetop .link{
		gap: 1em;
		padding: 1em;
		background: #dff4f2;
	}
	.pagetop i{
		color: #26A7B1;
		font-size: 120%;
	}
}

/* フッターの追従ボタン */
@media (min-width: 961px) {
 body:has(.foorer_fixed_buttons) .show .pagetop {
    bottom: 4em; /* ボタンの高さ分の余白を確保 */
  }
}
body:has(.foorer_fixed_buttons) {
  padding-bottom: 60px; /* ボタンの高さ分の余白を確保 */
}
.foorer_fixed_buttons {
  position: fixed; z-index: 5;
  left: 0; right: 0; bottom: 0;
  display: flex;
  justify-content: center;
  background: none;
  width: 100%;
}
.foorer_fixed_buttons a {
  flex: 1;
  min-width: 0;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  font-size: 110%;
  font-weight: bold;
  color: rgba(0,0,0,0.8);
  background: linear-gradient(to bottom, #eafcf3 0%, #c0cfc1 100%);
  text-decoration: none;
  transition: 0.2s background, 0.2s color , 0.2s filter;
}
.foorer_fixed_buttons a:not(:first-child) {
  border-left: 1px solid #aaa;
}
.foorer_fixed_buttons a .icon {
  font-size: 130%;
  display: flex;
  align-items: center;
}
.foorer_fixed_buttons a .text {
  display: flex;
  align-items: center;
}
.foorer_fixed_buttons a.red {
  background: linear-gradient(to bottom, #fdeaea 0%, #d3c3c3 100%);
}
.foorer_fixed_buttons a.blue {
  background: linear-gradient(to bottom, #eaf2fc 0%, #c0c7cf 100%);
}
.foorer_fixed_buttons a:hover{
  filter: brightness(0.95);
  color: #000;
}
@media screen and (max-width: 960px) {
body:has(.foorer_fixed_buttons) {
  padding-bottom: 50px;
}
  .foorer_fixed_buttons a {
	flex: initial;
	flex-grow: 1;
    font-size: min(3vw,16px);
    height: 50px;
  }
  .foorer_fixed_buttons a .icon {
    font-size: 1.3em;
  }
}


/*wup comment==========*/
.longComment p{margin:8px;}
.noData{
	color:#d00;
	padding:1em;
}


@media(min-width:901px){
	.sponly{ display:none !important;}
}

@media(max-width:900px){
	.pconly{ display:none !important;}
}

.caution-box { border: 2px solid #a4d4d6;; padding: 0.5em; background: none #def1f2; color: #ee0000; margin-bottom: 1em; }

.videowrap{
	margin-right: auto;
	margin-left: auto;
	width: 100%;
	max-width: 880px;
}
.videowrap video{
	width: 100%;
}

/*PC調整*/
@media (min-width:961px){
.sp{ display:none !important;}
}
.center-left,.center-right{ text-align:center;}
.left-center,.left-right{ text-align:left;}
.right-center,.right-left{ text-align:right;}

/*SP調整*/
@media screen and (max-width:960px){
.pc{ display:none !important;}
.center-left,.right-left{ text-align:left;}
.left-center,.right-center{ text-align:center;}
.left-right,.center-right{ text-align:right;}
.spWidth100per{ width:100% !important;}
.spWidth90per{ width:90% !important;}
.spWidth80per{ width:80% !important;}
.spWidth70per{ width:70% !important;}
.spWidth60per{ width:60% !important;}
.spWidth50per{ width:50% !important;}
.spWidth40per{ width:40% !important;}
.spWidth30per{ width:30% !important;}
.spWidth20per{ width:20% !important;}
.spWidth10per{ width:10% !important;}
.spFontSize80per{font-size: 80% !important;}
.spFontSize90per{font-size: 90% !important;}
.spFontSize100per{font-size: 100% !important;}
.spFontSize110per{font-size: 110% !important;}
.spFontSize120per{font-size: 120% !important;}
.spFontSize130per{font-size: 130% !important;}
.spFontSize140per{font-size: 140% !important;}
.spFontSize150per{font-size: 150% !important;}
.spFontSize160per{font-size: 160% !important;}
.spFontSize170per{font-size: 170% !important;}
.spFontSize180per{font-size: 180% !important;}
.spFontSize190per{font-size: 190% !important;}
.spFontSize200per{font-size: 200% !important;}
}
