@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@300;400;500;700;800;900&family=M+PLUS+Rounded+1c:wght@400;500&family=Mukta:wght@500;600&family=Noto+Sans+JP:wght@400;700&family=Open+Sans:wght@300&family=Outfit:wght@400;600&family=Noto+Serif+JP&family=Shippori+Antique&family=Zen+Antique&display=swap');
@import url(//use.fontawesome.com/releases/v6.4.2/css/all.css);

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	box-sizing:border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
img {
	max-width:100%;
	vertical-align:bottom;
}

body {
	font-family: 'M PLUS 1p', serif;
	font-size:15px;
	line-height:1.6em;
	color:#2C4A6A;
}

blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

a {
	position: relative;
	display: inline-block;
	transition: all .3s  ease-out;
}

a img, a i {
	border-style:none;
	transition: opacity 0.3s ease-out;
}

.center {
	text-align:center;
}

.big {
	font-size:1.25em;
	line-height:1.8em;
}

A:link { color:#000; text-decoration:none;  }
A:visited { color:#000; text-decoration:none;  }
A:active { color:#ed4f44; text-decoration:none; }
A:hover { color:#ed4f44; text-decoration:none; }

a:hover img {
	opacity: 0.7;
}
 
td, th {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}


INPUT { font-size: 12px; }
SELECT { font-size: 12px; }
TEXTAREA { font-size: 12px; }

input:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus::-moz-placeholder {
	color: transparent;
}
input:focus::-ms-input-placeholder {
	color: transparent;
}
input:focus::placeholder {
	color: transparent;
}

.gothic {
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}

.maru {
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.bold {
	font-weight:bold;
	font-size:1.2em;
}

.red {
	color:#f00;
}

.small {
	font-size:0.9em;
}

.both {
	clear:both;
}

.right {
	text-align:right;
}

.p_only {
	display:block;
}
.p_only2 {
	display:inline;
}
.m_only, .m_only2 {
	display:none;
}

select::-ms-expand {
	display:none;
}
	
.select-wrap{
	width: 100%;
	position: relative;
	line-height:40px;
	display: inline-block;
	background:linear-gradient( 180deg, #eeeeee, #fff 30% );
}
	
.select-wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 40px;
	background: transparent;
	position: relative;
	z-index: 2;
	padding: 0 20px 0 10px;
	border: 1px solid #ccc;
	border-radius: 2px;
	font-size:16px;
	line-height:20px;
	color:#444;
}

.select-wrap select[disabled] {
	border:1px solid #eee;
	color:#999;
}

.select-wrap::after{
	font-family:"Font Awesome 5 Free";
	content:'\f0d7';
	font-weight:900;
	font-size:1rem;
	vertical-align: baseline;
	position:absolute;
	z-index:1;
	top:50%;
	right:5px;
	margin-top:-8px;
	line-height:1;
	color:#333;
}

input[type="text"], textarea {
	padding:10px;
	font-size:1em;
	line-height:1.3em;
	font-family:Arial, sans-serif;
	color:#555;
	border:solid 1px #ccc;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	width:100%;
	box-sizing:border-box;
}

input[type="checkbox"] {
    border: 1px solid #388094;
    vertical-align: -8px;
    -webkit-appearance: none;
    position: relative;
    margin-right: 5px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-box-sizing: border-box;
    width: 26px;
    height: 26px;
    /*Other Browser*/
    background: #e2e2e2;
    /*For Old WebKit*/
    background: -webkit-gradient(
        linear, left top, left bottom,
        color-stop(0.00, #ffffff),
        color-stop(1.00, #e2e2e2)
    );
    /*For Modern Browser*/
    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        #e2e2e2 100%
    );
}

input.number_field {
	text-align:right;
}

input[type="checkbox"]:disabled {
    background: #f3f3f3;
    border: 1px solid #ccc;
}

input[type="checkbox"]:checked {
    background: #99cc00;
    border: 1px solid #388094;
}

input[type="checkbox"]:checked:disabled {
    background: #dbf884;
    border: 1px solid #ccc;
}

input[type="checkbox"]:checked:before {
    position: absolute;
    left: 1px;
    top: 16px;
    display: block;
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .8);
    content: "";
    width: 10px;
    height: 4px;
    background: #ffffff;
    -webkit-transform: rotate(45deg);
    -webkit-transform-origin: right center;
}

input[type="checkbox"]:checked:after {
    display: block;
    position: absolute;
    left: 9px;
    top: 16px;
    content: "";
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .8);
    width: 16px;
    height: 4px;
    background: #ffffff;
    -webkit-transform: rotate(-53deg);
    -webkit-transform-origin: left center;
}

label.checkbox {
	line-height:20px;
	font-size:14px;
	padding-right:2em;
	white-space:nowrap;
}

.checkbox_area input[type="checkbox"] {
	border-radius:28px;
}

/* ============ 追加　append_original ↓ ================= */

#main_header_wrap {
	position:relative;
	z-index:101;
	min-width:100%;
	margin-top:88px;
}

#main_header_top {
	height:88px;
	min-width:100%;
	position:fixed;
	z-index:4000;
	left:0;
	top:0;
	padding:20px 20px;
	background: linear-gradient( to bottom, #e7e7e7, #f8f8f8 6px, #fff 15px );
}

#main_h1 {
	float:left;
	height:48px;
	line-height:40px;
	font-size:23px;
	font-family:'Noto Serif JP';
	font-weight:400;
}

#main_h1 a:link, #main_h1 a:visited {
	color:#000;
}

#main_h1 a:hover, #main_h1 a:active {
	color:#f00;
}

#main_h1 a span {
	font-size:20px;
}

#main_h1 img {
	width:auto;
	height:48px;
	margin-right:12px;
}


#main_global_menu {
	float:right;
	position:relative;
	margin-top:15px;
	margin-right:15px;
	line-height:21px;
	font-weight:500;
	z-index:100;
}

#main_global_menu > ul {
	display:flex;
	flex-direction: row;
}

#main_global_menu > ul > li {
	list-style-type:none;
	font-size:12px;
	margin-left:15px;
	padding-left:15px;
	position:relative;
	position:relative;
	z-index:100;
}

#main_global_menu > ul > li:nth-of-type(n+2) {
	border-left:1px solid #B3C6D5;
}

#main_global_menu ul > li > ul {
	position:absolute;
	left:0;
	top:0;
	padding:0 0 0 0;
	z-index:110;
}

#main_global_menu ul > li > ul > li {
	white-space:nowrap;
	list-style-type:none;
	background-color:#fff;
	border-left:1px solid #B3C6D5;
	border-right:1px solid #B3C6D5;
	border-bottom:1px solid #B3C6D5;
	padding:5px 20px;
}

#main_global_menu ul > li > ul > li:first-of-type {
	border-left:0 none #fff;
	border-right:0 none #fff;
	background-color:transparent;
	padding:0 0 5px 15px;
}

#main_global_menu a:link, #main_global_menu a:visited {
	color: #2F4E6C;
}

#main_global_menu a.now:link, #main_global_menu a.now:visited {
	color:#D80010;
}

#main_global_menu a:hover, #main_global_menu a:active {
	color:#D80010;
}

#sub_header {
	display: flex;
	justify-content: center;
	align-items: center;
	position:relative;
	height:350px;
}

#main_banner, #sub_banner {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

#main_banner img, #sub_banner img {
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	object-fit:cover;
}

#main_dot {
	position:absolute;
	z-index:10;
	text-align:center;
	bottom:16px;
	width:100%;
	font-size:10px;
}

#main_dot ul li {
	padding: 0 4px;
	display:inline-block;
}

#main_dot a:link, #main_dot a:visited {
	color:#eee;
}

#main_dot a:hover, #main_dot a:active, #main_dot a.on {
	color:#f00;
}

div#sub_header div#main_catch {
	color:#fff;
	width:100%;
	position:relative;
	text-align:center;
	text-shadow:0 0 8px #000;
	padding-top: calc( 50% -50px );
}

div#sub_header div#main_catch p {
	font-size:50px;
	line-height:60px;
	font-weight:800;
}

div#sub_header div#main_catch p:last-of-type {
	font-size:32px;
	line-height:40px;
}

a.red_button {
	display:block;
	width:160px;
	line-height:30px;
	padding:7px;
	background-color:#D90010;
	color:#fff;
	font-family:'Mukta';
	font-size:20px;
	line-height:30px;
	margin:auto;
	text-align:center;
}

a.red_button:hover, a.red_button:active {
	background-color:#D97224;
}

.main_area {
	box-sizing:border-box;
	padding:100px 20px;
	position:relative;
}

.main_area > h2 {
	font-size:34px;
	line-height:45px;
	font-weight:600;
	text-align:center;
}

.main_area > h2+p {
	font-size:17px;
	line-height:25px;
	font-weight:600;
	text-align:center;
	margin:8px 0 30px 0;
}

#main_introduction_area, #main_covid_area {
	padding:70px 20px 50px 20px;
}

#main_introduction_area > div#comment {
	margin:auto;
	text-align:center;
	font-size:18px;
	line-height:1.7em;
	width:100%;
	max-width:980px;
}
#main_introduction_area > div#key {
	margin:auto;
	width:100%;
	max-width:980px;
	padding-bottom:80px;
	padding-top:40px;
	font-size:18px;
	line-height:1.7em;
}

#main_introduction_area > div#key > p {
	margin-bottom:1.5em;
}

.comment {
	margin:auto;
	padding-top:20px;
	text-align:center;
}

div.main_body {
	width:980px;
	max-width:100%;
	margin:auto;
}

.detail_table {
	display: table;
	width:980px;
	height:100%;
	max-width:100%;
	margin:40px auto 0  auto;
}

.detail_table > div {
	display: table-cell;
	width: calc( 100% / 3 );
	height:100%;
	padding:0 20px;
}

.detail_table > div > div {
	background-color:#F5F6F9;
	padding:30px;
	font-size:14px;
	line-height:23px;
	height:100%;
}

.detail_table h3 {
	font-size:22px;
	line-height:30px;
	margin-bottom:12px;
	font-weight:600;
}

.detail_table > div > div img {
	margin-top:20px;
	width:100%;
}

.detail_table a:link, .detail_table a:visited {
	color:#00f;
}

.detail_table a:hover, .detail_table dd a:active {
	color:#f00;
}

.top_pad {
	margin-top:0.7em;
}

dl.top_list dt {
	float:left;
}

dl.top_list dd {
	width:100%;
	text-align:right;
}

#main_information_area {
	background-color:#E8EEF2;
}

#main_information_area ul {
	width:980px;
	max-width:100%;
	margin: 40px auto 60px auto;
}

#main_information_area ul > li {
	list-style-type:none;
	border-bottom:1px solid #B3C7D5;
	padding: 20px 0;
	position: relative;
}

#main_information_area ul > li:last-of-type {
	border-bottom:0 none #fff;
}

#main_information_area > ul > li > div.detail > a:link, #main_information_area > ul > li > div.detail > a:visited {
	color:#ed4f44;
}

#main_information_area > ul > li > div.detail > a:hover, #main_information_area > ul > li > div.detail > a:active {
	color:#D97224;
}

#main_information_area ul li > a.row {
	display:table;
	width:calc( 100% - 100px );
	color:#2C4A6A;
}

#main_information_area ul li > a.row > div {
	display:table-cell;
	padding:4px;
	vertical-align:middle;
}

#main_information_area ul li > a.row > div:first-of-type {
	font-size:38px;
	line-height:38px;
	font-weight:500;
	width:60px;
}

#main_information_area ul li > a.row > div:nth-of-type(2) {
	font-size:14px;
	line-height:21px;
	font-weight:400;
	width:60px;
}

#main_information_area ul li > a.red {
	display:inline-block;
	width:90px;
	line-height:30px;
	position:absolute;
	top:24px;
	right:10px;
	padding:7px;
	background-color:#D90010;
	color:#fff;
	font-family:'Mukta';
	font-size:17px;
	line-height:30px;
	text-align:center;
}

#main_information_area ul li > a.red:hover, #main_information_area ul li > a.red:active {
	background-color:#D97224;
}

#main_information_area ul > li > div.detail {
	padding:8px 108px 8px 64px;
}

#main_gallery_area {
	padding:54px 0 6px 0;
	width:100%;
	box-sizing:border-box;
	position:relative;
}

#main_gallery_text {
	padding:0 0 44px 0;
	margin:auto;
	text-align:center;
	font-size:13px;
	max-width: calc( 100% - 16px );
}

#main_gallery_area_scroll {
	width:100%;
	height:508px;
	overflow:scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

#main_gallery_area_scroll::-webkit-scrollbar{
	display: none;
}

#main_gallery_area ul {
	display:flex;
	width:auto;
	position:relative;
	left:0;
	top:0;
}

#main_gallery_area ul:after {
	content: '';
	display:block;
}

#main_gallery_area ul > li {
	vertical-align:top;
	margin-right:8px;
	box-sizing:border-box;
	list-style-type:none;
}

#main_gallery_area a {
	display:inline;
}

#main_gallery_area ul > li.gallery1 {
	width:448px;
	min-width:448px;
}

#main_gallery_area ul > li:last-of-type {
	padding-right:0;
}

#main_gallery_area ul > li.gallery1 img.t1 {
	width:220px;
	min-width:220px;
	height:180px;
	min-height:180px;
	margin-bottom:8px;
	float:left;
}

#main_gallery_area ul > li.gallery1 img.t3 {
	width:220px;
	min-width:220px;
	height:180px;
	min-height:180px;
	margin-bottom:8px;
	margin-left:8px;
	float:left;
}

#main_gallery_area ul > li.gallery1 img.t2 {
	width:448px;
	height:312px;
	min-width:448px;
	min-height:312px;
	float:left;
}

#main_gallery_area ul > li.gallery2 {
	width:300px;
	min-width:300px;
}

#main_gallery_area ul > li.gallery2 img {
	width:300px;
	height:246px;
	min-width:300px;
	min-height:246px;
	margin-bottom:8px;
	float:left;
}

#main_gallery_area ul > li.gallery3 {
	width:640px;
	min-width:640px;
}

#main_gallery_area ul > li.gallery3 img {
	width:640px;
	min-width:640px;
	height:500px;
	min-height:500px;
}

#main_gallery_area ul > li img:last-of-type:after {
	content:'';
	display:block;
	clear:both;
}

#main_gallery_area img {
	object-fit:cover;
}

#main_sub_title > div:first-of-type {
	font-size:50px;
	line-height:1.6em;
	text-align:center;
	color:#000;
	font-family:'Noto Serif JP';
}

#main_sub_title > div:nth-of-type(2) {
	font-size:30px;
	line-height:1.6em;
	text-align:center;
	color:#000;
	font-family:'Noto Serif JP';
}

a#gallery_l {
	display:block;
	position:absolute;
	left:4px;
	top:calc( 50% - 40px );
	width:80px;
}

a#gallery_r {
	display:block;
	position:absolute;
	right:4px;
	top:calc( 50% - 40px );
	width:80px;
}

#footer_place {
	width:100%;
	min-height:500px;
	display:table;
}

#footer_address {
	display:table-cell;
	width:40%;
	background-color:#F6F6F9;
	vertical-align:top;
	padding:60px 40px 60px 20px;
	height:100%;
	text-align:right;
}

#footer_address > div {
	max-width:100%;
	width:300px;
	display:inline-block;
	text-align:left;
}

#footer_address > div > h2 {
	font-weight:600;
	font-size:22px;
	line-height:1.5em;
	margin-bottom:9px;
	margin-top:18px;
}

#footer_address > div > h2:first-of-type {
	margin-top:0;
}

#footer_map_wrap {
	display:table-cell;
	height:100%;
	background-color:#eee;
	position:relative;
}

#footer_map {
	position:absolute;
	left:0;
	top:0;
	border:0;
	width:100%;
	height:100%;
}

#footer_table_wrap {
	background-image:url( images/top_background.jpg );
	background-size:cover;
	background-position:center bottom;
	background-color:#2C4B6A;
	padding:70px 20px;
}

#footer_table_wrap a.join_button {
	margin-top:50px;
	width:180px;
	max-width:90%;
	font-size:24px;
	line-height:33px;
}

#footer_table {
	max-width:1000px;
	width:100%;
	margin:auto;
	display:table;
}

#footer_table > div {
	width: calc( 100% / 3 );
	color:#fff;
	padding:0 30px;
	display:table-cell;
}

#footer_table > div > p {
	font-size:20px;
	font-weight:700;
	margin-bottom:6px;
}

#footer_table > div > div {
	font-size:13px;
	line-height:22px;
	margin-top:12px;
}

#footer_table a:link, #footer_table a:visited {
	color:#fff;
	text-decoration:underline;
}

#footer_copy {
	padding:20px;
	text-align:center;
	font-size:12px;
}


#event_area {
	background-color:#F4F7F8;
	counter-reset: event_cnt;
}

div.event_detail {
	background-color:#fff;
	padding:40px;
	width:980px;
	margin:40px auto 0 auto;
	max-width:100%;
	counter-increment: event_cnt;
}

div.event_detail h3 {
	font-size:28px;
	line-height:34px;
	font-weight:600;
}

div.event_detail h3::before {
	content: counter( event_cnt );
	text-decoration: underline;
	letter-spacing:10px;
	margin-bottom:12px;
	display:block;
}

div.event_detail > div {
	display: flex;
	align-items: flex-start;;
	position:relative;
	width:100%;
}

div.event_detail > div {
	padding-top: 20px;
	padding-bottom: 10px;
}

div.event_detail > div > div:first-of-type {
	padding-right:20px;
	width:73%;
}

#manage_area > ul {
	display: flex;
	flex-direction:row;
	flex-wrap:wrap;
	width:980px;
	max-width:100%;
	margin:40px auto;
}

#manage_area > ul > li {
	width: calc( 100% / 3 );
	flex-basis:calc( 100% / 3 );
	padding:25px;
	list-style-type:none;
}

#manage_area li > p {
	margin:auto;
	width:calc( 100% - 16px );
}

#manage_area li > p.katagaki {
	font-size:13px;
	line-height:18px;
	margin-top:12px;
}

#manage_area li > p.name {
	font-size:22px;
	font-weight:700;
	line-height:28px;
	margin-top:4px;
}

#manage_area li > p.alpha {
	font-size:14px;
	font-weight:700;
	line-height:20px;
}

#manage_area li > p.text {
	margin-top:8px;
}

.table_wrap {
	overflow-x:scroll;
	width:100%;
}

div.faq_detail h3 {
	font-weight:700;
	font-size:1.2em;
}

div.faq_detail h3:nth-of-type( n+2 ) {
	margin-top:38px;
}

div.faq_detail {
	width:800px;
	margin:40px auto 40px auto;
	max-width:100%;
}

div.faq_detail dt {
	font-weight:500;
	line-height:25px;
	position:relative;
	background-color:#F4F7F8;
	border-radius:8px 8px 0 0;
	padding:20px 60px 20px 60px;
	margin-top:20px;
}

div.faq_detail dd {
	line-height:25px;
	position:relative;
	background-color:#F4F7F8;
	border-radius: 0 0 8px 8px;
	padding:4px 60px 20px 60px;
}

div.faq_detail dt:before {
	content: 'Q';
	position:absolute;
	left:30px;
	top:20px;
}

div.faq_detail dd:before {
	content: 'A';
	font-weight:500;
	position:absolute;
	left:30px;
	top:4px;
}

div.faq_detail dt a:last-of-type {
	display:inline-block;
	position:absolute;
	right:30px;
	top:20px;
}

div.faq_detail > p {
	margin-top:50px;
}

a.faq_title:link, a.faq_title:visited {
	color:#2C4A6A;
	display:block;
}

a.faq_title:hover, a.faq_title:active {
	color:#ed4f44;
}

div.faq_detail dd a:link, div.faq_detail dd a:visited {
	color:#00f;
}

div.faq_detail dd a:active, div.faq_detail dd a:hover {
	color:#f00;
}

div#program_area {
	width:800px;
	max-width:100%;
	margin:auto;
}

div.program_detail {
	width:100%;
	margin:20px auto 0 auto;
	text-align:center;
	overflow:scroll;
}

div.program_detail > h2.program_title {
	font-size:22px;
	line-height:35px;
	font-weight:600;
	text-align:left;
	margin-bottom:5px;
}

div.program_detail > div {
	border-top: 4px solid #c21500;
	padding-top:12px;
	border-image: linear-gradient(to right, #1e95ce 0%, #d41758 100%);
	border-image-slice: 1;
}

div.program_detail > div > table {
	margin:auto;
	width:auto;
	border-collapse:collapse;
	border-spacing:0;
	min-width:100%;
}

div.program_detail > div > table:first-of-type {
	margin-bottom:70px;
}

div.program_detail > div > table th, div.program_detail > div > table td {
	vertical-align:top;
	white-space:nowrap;
	padding:5px 8px;
}

div.program_detail > div > table th {
	background-color:#fadce9;
	color:#000;
	width:100px;
	text-align:center;
}

div.program_detail > div > table td {
	text-align:left;
}

div#program_area > p.program_text {
	text-align:left;
	padding:16px;
	color:#000;
	background-color:#fef6fa;
	border-radius:8px;
}

div.program_detail > div > table td > div {
	padding:16px;
	background-color:#fef6fa;
	border-radius:8px;
	display:inline-block;
	width:auto;
	margin:4px 0;
	padding-bottom:4px;
}

div.program_detail > div > table td > div > h3 {
	background: linear-gradient(to right, #1e95ce 0%, #d41758 100%);
	color:#fff;
	padding:2px 12px;
	line-height:24px;
	border-radius:14px;
}

div.program_detail > div > table td > div > p {
	padding:12px 8px 0 8px;
}

div.program_detail > div > table td div#gift {
	padding:8px;
	margin-bottom:0;
	background-color:#fad1e8;
	border-radius:8px;
}

div.program_detail > div > table td div#program_bold {
	font-weight:bold;
	padding:4px 0;
}

#confirm_area {
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100vh;
	background-color:rgba( 0, 0, 0, 0.4 );
	overflow:hidden;
	z-index:4800;
}

#confirm_bourd {
	width:700px;
	max-width:90%;
	max-height:90vh;
	overflow:scroll;
	margin:auto;
	padding: 30px;
	background-color:#F4F7F8;
	border-bottom:2px solid #000;
	border-left:2px solid #000;
	border-right:2px solid #000;
	border-radius: 0 0 10px 10px;
    -webkit-box-shadow: 0 0 8px rgba( 0, 0, 0, .5 );
}

#confirm_bourd > p {
	margin-bottom:20px;
}

#confirm_bourd dl dt {
	float:left;
}

#confirm_bourd dl dt.nofloat {
	float:none;
}

#confirm_bourd dl dt.nofloat.enq_title {
	font-size:0.9em;
	line-height:1.3em;
	font-weight:200;
}

#confirm_bourd dl dd {
	padding-left:12em;
	padding-bottom:8px;
	margin-bottom:8px;
	border-bottom:1px solid #eee;
}

#confirm_bourd dd.nofloat {
	padding-left:1.5em;
	margin-top:8px;
}

#confirm_bourd a.thanks_link:link, #confirm_bourd a.thanks_link:visited {
	color:#00f;
}

#confirm_bourd a.thanks_link:hover, #confirm_bourd a.thanks_link:active {
	color:#f00;
}

#confirm_button_area {
	text-align:center;
	margin:20px 0 0 0;
}

a#confirm_submit, a#confirm_submit2, a#confirm_cancel {
	display:inline-block;
	width:160px;
	max-width:40%;
	line-height:30px;
	padding:7px;
	color:#fff;
	font-family:'Mukta';
	font-size:18px;
	line-height:28px;
	margin:auto;
	text-align:center;
	margin:0 8px;
}

a#confirm_submit:link, a#confirm_submit:visited, a#confirm_submit2:link, a#confirm_submit2:visited {
	background-color:#D90010;
}

a#confirm_cancel:link, a#confirm_cancel:visited {
	background-color:#2C4C6A;
}

a#confirm_submit:hover, a#confirm_submit:active, a#confirm_submit2:hover, a#confirm_submit2:active, a#confirm_cancel:hover, a#confirm_cancel:active {
	background-color:#D97224;
}

#covid_link a:link, #covid_link a:visited {
	color:#f00;
	transition: all .3s  ease-out;
}

#covid_link a:active, #covid_link a:hover {
	color:#2C4C6A;
}

#hamburg, #hamburg_menu {
	display:none;
}

#error_area {
	width:700px;
	max-width:100%;
	margin:0 auto 30px auto;
	color:#f00;
	font-weight:600;
}

#error_area p {
	font-size:1.1em;
	margin-bottom:5px;
}

#covid_tbl {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	margin:20px 0 0 0;
}

#covid_tbl > div {
	width:50%;
	box-sizing:border-box;
}

#covid_tbl > div:first-of-type {
	padding-right:10px;
}

#covid_tbl > div:last-of-type {
	padding-left:10px;
}

#covid_link {
	text-align:center;
	margin-top:20px;
	font-size:12px;
}

a.join_button {
	display:block;
	width:280px;
	max-width:80%;
	padding:16px;
	color:#fff;
	font-family:'M PLUS 1p';
	letter-spacing: 3px;
	font-weight:700;
	font-size:35px;
	line-height:35px;
	text-align:center;
	background-color:#D41B4E;
	border:2px solid #fff;
	margin:auto;
}

a.join_button:hover, a.join_button:active {
	background-color:#D97224;
	color:#ccc;
}

#footer_sns {
	margin:0 auto 60px auto;
	text-align:center;
}

#footer_sns ul {
	display:flex;
	justify-content: center;
	align-items: center;
}
#footer_sns li {
	list-style-type:none;
	font-size:30px;
	line-height:30px;
	padding:0 3px;
}

#footer_sns li#footer_line {
	font-size:27px;
}

#footer_sns li a:link, #footer_sns li a:visited {
	color:#fff;
}

#footer_sns li a:hover, #footer_sns li a:active {
	color:#ed4f44;
}

/* ============ 追加　append_original ↑ ================= */


@media screen and (max-width:1280px) {
	#main_global_menu > ul {
		display:none;
	}

	#hamburg {
		display:block;
		position:absolute;
		z-index:1;
		font-size:36px;
		right:16px;
		top:27px;
	}

	#hamburg_menu {
		display:block;
		position:fixed;
		left:0;
		top:88px;
		width:100%;
		max-height:calc( 100vh - 40px );
		overflow:scroll;
		z-index:4000;
	}

	#hamburg_menu > ul {
		padding:8px 20px 30px 20px;
		background-color:#fff;
		border-bottom:2px solid #888;
	}
	
	#hamburg_menu > ul > li {
		border-bottom:1px solid #ccc;
		padding:5px 0;
		list-style-type:none;
	}
	#hamburg_menu > ul > li a {
		display:block;
		padding:2px 5px 2px 5px;
	}
	#hamburg_menu > ul > li li {
		border-top:1px solid #ccc;
		padding:5px 0;
		list-style-type:none;
	}
	#hamburg_menu > ul > li ul {
		margin-top:5px;
	}
	#hamburg_menu > ul > li ul li:last-of-type {
		padding-bottom:0;
	}
	#hamburg_menu > ul > li li a {
		display:block;
		padding:2px 5px 2px 26px;
	}

	#manage_area > ul > li {
		width: calc( 100% / 2 );
		flex-basis:calc( 100% / 2 );
		padding:8px;
	}
	
	#manage_area li > p {
		width:calc( 100% - 8px );
	}
	
	#manage_area li > p.katagaki {
		font-size:12px;
		line-height:17px;
		margin-top:12px;
	}
	
	#manage_area li > p.name {
		font-size:17px;
		margin-top:4px;
	}
	
	#manage_area li > p.alpha {
		font-size:12px;
		line-height:18px;
	}
	
	#manage_area li > p.text {
		font-size:11px;
		line-height:1.5em;
	}
	
	.detail_table {
		display: block;
	}

	.detail_table > div {
		display:block;
		width: 50%;
		float:left;
		height:auto;
		box-sizing:border-box;
		margin-bottom:40px;
	}
	
	.detail_table:after {
		display:block;
		content:'';
		clear:both;
	}
}

@media screen and (max-width:580px) {
	body {
		font-size:12px;
		line-height:1.5em;
	}
	img {
		max-width:100%;
		height:auto;
	}
	table {
		max-width:100% !important;
	}
	.m_only {
		display:block;
	}
	.m_only2 {
		display:inline;
	}
	.p_only, .p_only2 {
		display:none;
	}
	
	/* ============ 追加　append_original ↓ ================= */
	
	#hamburg {
		font-size:26px;
		top:13px;
		right:8px;
	}

	#hamburg_menu {
		top:50px;
	}

	#main_header_wrap {
		margin-top:50px;
	}
	
	#main_header_top {
		height:50px;
		padding:14px 10px;
	}
	
	#main_h1 {
		height:30px;
		line-height:22px;
		font-size:14px;
	}
	
	#main_h1 a span {
		font-size:12px;
	}

	#main_h1 img {
		width:22px;
		height:auto;
	}
	
	#main_global_menu {
		margin-top:2px;
	}
	
	#main_global_menu > ul {
		display:none;
	}
	
	#main_banner img, #sub_banner img {
		min-height:100%;
	}
	
	
	div#sub_header div#main_catch p {
		font-size:23px;
		line-height:33px;
	}
	
	div#sub_header div#main_catch p:last-of-type {
		font-size:16px;
		line-height:22px;
	}

	.main_area {
		padding:50px 10px;
	}

	.main_area > h2 {
		font-size:24px;
		line-height:35px;
	}
	
	.main_area > h2+p {
		font-size:13px;
		line-height:20px;
	}

	#main_introduction_area, #main_covid_area  {
		padding:50px 20px 25px 20px;
	}
	
	#main_introduction_area > div#comment {
		text-align:left;
		font-size:16px;
		line-height:24px;
		padding-bottom:30px;
		width:90%;
	}
	
	div.comment {
		text-align:left;
		font-size:16px;
		line-height:22px;
	}

	.detail_table {
		margin-top:20px;
	}
	
	.detail_table > div {
		width:100%;
		float:none;
		padding:0;
		margin-top:10px;
		margin-bottom:0;
	}
	
	.detail_table > div > div {
		font-size:12px;
		line-height:19px;
	}

	#main_information_area ul li > a.row {
		width:100%;
	}

	#main_information_area ul li a.red {
		display:none;
	}
	
	#main_information_area ul > li > div.detail {
		padding:8px;
	}

	#footer_place {
		min-height:auto;
		display:block;
	}

	#footer_address {
		display:block;
		width:100%;
		padding:30px 16px 30px 16px;;
	}
	
	#footer_address > div {
		width:100%;
	}
	
	#footer_map_wrap {
		display:block;
		height:calc( 100vh - 120px );
	}
	
	#footer_table_wrap {
		padding:30px 16px;
	}
	
	#footer_table {
		display:block;
	}

	#footer_table > div {
		width: 100%;
		display:block;
		padding:20px 0;
	}
	
	div.event_detail {
		padding:20px;
		margin:20px auto 0 auto;
	}
	
	div.event_detail h3 {
		font-size:20px;
		line-height:28px;
	}

	div.faq_detail dd {
		line-height:19px;
	}

	#participate {
		max-width:calc( 100% - 8px );
	}

	#participate h3 {
		font-size:15px;
		margin-top:25px;
	}
	
	#participate h3 > span {
		font-size:12px;
	}

	#covid_tbl {
		display:block;
	}
	
	#covid_tbl > div {
		width:100%;
		box-sizing:border-box;
	}
	
	#covid_tbl > div:first-of-type {
		padding-right:0;
	}
	
	#covid_tbl > div:last-of-type {
		padding-top:20px;
		padding-left:0;
	}

	#covid_link {
		text-align:left;
	}

	#main_gallery_text {
		text-align:left;
	}

	a.join_button {
		width:160px;
		padding:7px;
		letter-spacing: 2px;
		font-weight:700;
		font-size:20px;
		line-height:26px;
		margin:20px auto 0 auto;
	}

	#footer_table_wrap a.join_button {
		margin-top:10px;
	}
	
	#footer_sns {
		margin-bottom:10px;
	}
	#main_sub_title > div:first-of-type {
		font-size:26px;
		line-height:1.6em;
	}
	
	#main_sub_title > div:nth-of-type(2) {
		font-size:20px;
		line-height:1.6em;
	}
	/* ============ 追加　append_original ↑ ================= */

}

@media screen and (max-width:370px) {
	#main_h1 img {
		display:none;
	}
	#main_h1 {
		font-size:13px;
	}
}
