/*
Theme Name: ORIGINAL
*/

* {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
	
	

	ul, li{
	list-style:none;
	}



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

	
	
	::selection {
	background-color: #16308a;
	color:#fff;
	}
	
	
	
	a{
	text-decoration:none;
	color:#16308a;
	-webkit-transition: .4s cubic-bezier(0.78, .18, .34, .98);
	-moz-transition: .4s cubic-bezier(0.78, .18, .34, .98);
	-ms-transition: .4s cubic-bezier(0.78, .18, .34, .98);
	-o-transition: .4s cubic-bezier(0.78, .18, .34, .98);
	transition: .4s cubic-bezier(0.78, .18, .34, .98);
	}
	
	a:hover{
	-webkit-transition: .4s cubic-bezier(0.78, .18, .34, .98);
	-moz-transition: .4s cubic-bezier(0.78, .18, .34, .98);
	-ms-transition: .4s cubic-bezier(0.78, .18, .34, .98);
	-o-transition: .4s cubic-bezier(0.78, .18, .34, .98);
	transition: .4s cubic-bezier(0.78, .18, .34, .98);
	}
	
	
	
	
	.text_border{
	text-decoration:underline;
	}
	
	.font_bold{
	font-weight:bold;
	}
	
	
	p{
	font-size:13px;
	}
	
	
	
	body {
	color:#16308a;
	font-family: 'Roboto', "Zen Kaku Gothic New", sans-serif;
	line-height: 160%;
	}





	
	/* 共通ページ */
	
	.loading {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 999999;
	opacity: 1;
	background: #fff;
	}
	
	
	.loader
	{
	position: absolute;
	display: inline-block;
	top:50%;
	left:50%;
	margin-left:-17px;
	margin-top:-30px;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	border: 2px solid #000;
	border-right-color: transparent;
	-webkit-animation: spin 1s infinite linear;
	-moz-animation: spin 1s infinite linear;
	}
	
	
	@-webkit-keyframes spin
	{
		0% { -webkit-transform: rotate(0deg); opacity: 0.4; }
		50%  { -webkit-transform: rotate(180deg); opacity: 1; }
		100%   { -webkit-transform: rotate(360deg); opacity: 0.4; }
	}
	
	@-moz-keyframes spin
	{
		0% { -moz-transform: rotate(0deg); opacity: 0.4; }
		50%  { -moz-transform: rotate(180deg); opacity: 1; }
		100%   { -moz-transform: rotate(360deg); opacity: 0.4; }
	}
	














.footer_sns_t p{
	font-size:28px;
	font-weight:bold;
	text-align:center;
}

.footer_sns_icon{
	margin-top:20px;
	display: flex;
	gap: 22px;
	justify-content: center;
}

.footer_sns_icon > a{
	width:35px;
}

.footer_sns_copy{
	margin-top:40px;
	animation: bounce 2.5s ease-in-out infinite;
}




	








.btn a:after{
	position: absolute;
	top: 50%;
	right: 15px;
	content:"";
	background-image:url(images/btn_sign.svg);
	width: 20px;
	height: 20px;
	display: inline-block;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-webkit-transition: .3s cubic-bezier(0.78, .18, .34, .98);
	-moz-transition: .3s cubic-bezier(0.78, .18, .34, .98);
	-ms-transition: .3s cubic-bezier(0.78, .18, .34, .98);
	-o-transition: .3s cubic-bezier(0.78, .18, .34, .98);
	transition: .3s cubic-bezier(0.78, .18, .34, .98);
}

.btn > a{
	font-size:16px;
	position:relative;
	background:#16308a;
	border:2px solid #16308a;
	color:#fff;
	display:block;
	text-align:center;
	padding: 10px 42px;
	font-weight:bold;
	border-radius: 333px;
	-webkit-border-radius: 333px;
	-moz-border-radius: 333px;
}

.btn > a:hover{
	position:relative;
	background:#fff;
	color:#16308a;
	
}

.btn a:hover:after{
	right: 20px;
	-webkit-transition: .3s cubic-bezier(0.78, .18, .34, .98);
	-moz-transition: .3s cubic-bezier(0.78, .18, .34, .98);
	-ms-transition: .3s cubic-bezier(0.78, .18, .34, .98);
	-o-transition: .3s cubic-bezier(0.78, .18, .34, .98);
	transition: .3s cubic-bezier(0.78, .18, .34, .98);
}

	

/* COMING  */

#coming{
	padding:80px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.coming_logo p{
	width:400px;
}

.coming_p {
	margin-top:40px;
}

.coming_p p{
	font-size: clamp(30px, 3.4vw, 40px);
	font-weight:bold;
}

.coming_copy{
	margin-top:40px;
}

.coming_copy p{
	font-size: clamp(25px, 2.2vw, 30px);
	line-height:150%;
	text-align:center;
	font-weight:bold;
}

.coming_contact{
	margin-top:40px;
}

.coming_contact .btn > a{
	padding: 10px 100px;
}

.coming_footer{
	margin-top:40px;
}




/*  form ページ  */

#form_logo{
	text-align:center;
	padding:40px 0 0;
}



#form_logo a{
	display:inline-block;
	width:320px;
}





#formWrap {
	max-width:700px;
	padding:0 20px;
	margin:40px auto 0;
	color:#555;
	line-height:120%;
	font-size:90%;
}

#formWrap h3{
	font-size:22px;
	line-height: 150%;
    text-align: center;
	font-weight: bold;
	color:#16308a;
}

#formWrap .form_note{
	margin-top:20px;
}

#formWrap .form_note p{
	font-size:14px;
	line-height: 150%;
	font-weight: bold;
	color:#16308a;
}

.formTable.first{
	margin-top:30px;
	display:flex;
	flex-direction: column;
	gap: 25px;
	}

.formTable .form_box .form_title{
	margin-bottom:5px;
}


.formTable .form_box .form_title span{
	color:#ff0000;
	font-size:12px;
}


.form_box > div{
	font-size: 14px;
	line-height: 150%;
	font-weight: bold;
	color: #16308a;
}



.form_box input[type="text"] { 
    font-size: 17px;
    border: 1px solid #16308a;
    padding: 10px 10px;
    width: 100%;
    outline: none;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}


	.form_box textarea {
	border: 1px solid #16308a;
    font-size: 17px;
    color: #000;
    outline: none;
    padding: 10px 10px;
    width: 100%;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
}

	
.form_btn{
	margin-top:20px;
}


.form_btn input[type="submit"] {
    font-family: "zen-old-mincho", sans-serif;
    cursor: pointer;
    border: none;
    color: #fff;
    font-size: 14px;
    outline: none;
    width: 100%;
    background-color: transparent;
    background: #16308a;
    padding: 10px 0;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -moz-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -ms-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -o-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    transition: 0.4s cubic-bezier(.42, 0, .58, 1);
}

.form_btn input[type="button"] {
    font-family: "zen-old-mincho", sans-serif;
    cursor: pointer;
    border: none;
    color: #fff;
    font-size: 14px;
    outline: none;
    width: 100%;
    background-color: transparent;
    background: #16308a;
    padding: 10px 0;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -moz-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -ms-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    -o-transition: 0.4s cubic-bezier(.42, 0, .58, 1);
    transition: 0.4s cubic-bezier(.42, 0, .58, 1);
}


#formWrap.thank {
	height:55vh;
}

.thank .form_note p{
	text-align:center;
}


footer{
	margin-top:40px;
	padding:60px 30px;
	text-align:center;
}















.top_supporter_wrap{
	max-width: 1000px;
	position: relative;
	margin: 0 auto;
    padding: 0 80px;
	display: flex;
	flex-direction: column;
	gap: 50px;
}


.top_sb_box .main_title {
	display:flex;
	gap:20px;
}

.top_sb_box .main_title h4{
	font-size:18px;
}

.main_title h4 small{
	font-size:13px;
}


.top_sb_index{
	margin-top:20px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column-gap: 20px;
	grid-row-gap: 20px;
}

.top_sb_box.type01 .top_sb_index{
	margin-top:40px;
	grid-row-gap: 40px;
}

.top_sb_box.type02 .top_sb_index{
	grid-template-columns: repeat(5, 1fr);
	grid-column-gap: 10px;
	grid-row-gap: 10px;
}

.top_sb_box.type02.area_sup .top_sb_index{
	    margin-top: 40px;
}


.top_sb_box.type04 .top_sb_index{
	grid-template-columns: repeat(4, 1fr);
	grid-column-gap: 10px;
	grid-row-gap: 10px;
}

.top_sb_box.type04.area_sup .top_sb_index{
	    margin-top: 40px;
}

.other_sup .top_sb_index {
    margin-top: 0px;
}

.other_sup .top_sb_index > div h4{
    margin-bottom:20px;
}


.top_sb_index > div{
	position:relative;
}



.top_sb_index > div img{
	border:1px solid #f0f0f0;
}


.top_sb_index > div a:hover{
	opacity:0.6;
}





.top_sb_index > div span{
	position: absolute;
    font-size: 10px;
    line-height: 100%;
    display: inline-block;
    letter-spacing: 0;
    background: #1d2082;
    color: #fff;
	padding: 7px 12px 6px;
	top: -23px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.top_sb_index > div p{
	font-size:11px;
	line-height: 120%;
	display: block;
    margin-top: 8px;
}



.top_sb_box_other {
	display:flex;
	gap:40px;
}

.top_sb_box_other > div{
	gap:30px;
}


.top_sb_box_other > div .title p{
	font-size:13px;
	font-weight:bold;
}

.top_sb_box_other > div .note a{
	font-size:13px;
	display:block;
}



#coming_footer{
	margin-top:80px;
}




#top_supporter{
	margin-top:80px;
}







.sp_img{
	display:none!important;
}

















@media screen and (max-width: 764px) {
	
	
	
	
img{
width:100%;
height:auto;
}



.sp_img{
display:block!important;
}

.pc_img{
display:none!important;
}
	
	
	
	
	header {
		padding: 20px 20px;
	}
	
	
	.sub_grand_menu {
		top: 16px;
		right: 12px;
	}
	
	.sub_grand_menu .button-navi-icon:before {
		margin-top: -8px;
	}
	
	.sub_grand_menu .button-navi-icon:after {
		margin-top: 7px;
	}
	
	#menu_index.active {
		width: 100%;
	}
	
	.menu_content_wrap {
		padding: 80px 20px 60px 20px;
		gap: 30px;
		justify-content: flex-start;
	}
	
	.menu_box > a {
		font-size: 18px;
		line-height: 100%;
	}
	
	.menu_box > a span {
		margin-top: 5px;
		font-size: 10px;
	}
	
	.menu_box.type02 {
		gap: 12px;
	}
	
	.menu_box.type02 > a span {
		margin-top: 0px;
	}
	
	.menu_box.type02 > a {
		gap: 10px;
	}
	
	.top_sb_box.type04 .top_sb_index{
		grid-template-columns: repeat(2, 1fr);
	}
	
	
	.menu_box.type04 {
		gap: 12px;
	}
	
	.menu_box.type04 > a span {
		margin-top: 0px;
	}
	
	.menu_box.type04 > a {
		gap: 10px;
	}
	
	.menu_box.sub_menu > a {
		font-size: 10px;
	}
	
	.menu_box.sns_menu p {
		font-size: 16px;
	}
	
	
	
	
	.inner {
		padding: 0 30px;
	}
	
	
	#coming {
		padding:100px 40px;
	}
	
	.coming_logo p {
		width: 100%;
	}
	
	.coming_copy p {
		font-size:16px;
		line-height: 150%;
	}
	
	.coming_contact .btn > a {
		padding: 10px 10px;
	}
	
	.coming_contact {
		margin-top: 30px;
		width: 100%;
	}
	
	
	
	
	
	
	#top_supporter {
		margin-top: 80px;
	}
	
	
	
	.top_supporter_wrap {
		padding: 0px 0;
	}
	
	
	
	.top_sb_index{
		grid-template-columns: repeat(1, 1fr);
		padding:0 0px;
	}
	
	
	.top_sb_box.type02 .top_sb_index {
		padding:0 0px;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 10px;
		grid-row-gap: 10px;
	}
	
	.top_sb_box_other {
		gap: 20px;
		flex-direction: column;
	}
	
	.top_sb_box.type02.area_sup .top_sb_index {
		grid-row-gap: 40px;
	}
	
	
	


}












