@charset "utf-8";


/*===============================================
	■main
===============================================*/

body {
	font-family: Arial, Roboto, "Droid Sans", "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
.spIn {
	display:none;	
}
img{
max-width: 100%;
height: auto;
width /***/:auto;
margin: 0;
padding: 0;
vertical-align:bottom;
}

@media screen and (max-width:960px){


.pcIn {
	display:none;	
}
.spIn {
	display:inline;	
}
}





/*===============================================
	■header
===============================================*/

header {
margin: 0 0 40px;
padding:10px 0;
background-color: #75bb2a;
}
header h1 {
width:220px;
margin: 0 auto;
}




@media screen and (max-width:960px){


}


/*===============================================
	■container
===============================================*/
div#container {
	max-width:960px;
	margin:0 auto;
	text-align: left;
}

@media screen and (max-width:960px){
div#container {
	margin:0 5%;
}
}



/*===============================================
	■form
===============================================*/
/* form ----------------------------- */


#form .top-com {
 	 margin: 0 0 50px;
}
#form .top-com h2 {
	margin: 0 0 30px;
	font-size: 30px;
	font-weight: 700;
	text-align: center;
}
#form .top-com p {
	line-height: 1.6;
	font-size: 17px;
}
#form .top-com p.link {
	margin-top:30px;
}
#form .pledge {
	margin: 0 0 40px;
}
#form .pledge ul {
	margin: 0 0 0 5px;
}
#form .pledge ul li {
	margin: 0 0 5px;
	padding: 3px;
	line-height: 1.6;
	font-size: 95%;
}
#form .pledge ul li label {
	display: flex;
	justify-content:flex-start;
}
#form .pledge ul li.attention {
	margin-bottom: 10px;
	font-weight: bold;
	background-color: #F5F5F5;
}
#form .pledge ul li.attention::after {
	margin-left: 5px;
	padding:1px 5px;
	border-radius: 3px;
	font-size:0.75rem;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
	background-color:#e11720;
	color:#FFF;
	content:"必須";
	color:#FFF;
}
#form .pledge ul li input {
	display: block;
	margin:2px 5px 0 0;
}
#form .attached {
	display: flex;
	flex-flow: row wrap;
	justify-content:space-between;
}
#form .attached div {
	width: 49%;
	margin: 0 0 7px;
	border:1px solid #CCC;
	border-radius: 5px;
}
#form .attached div span {
	display: block;
	padding:0px 5px;
	text-align: center;
	background-color:#e8eae5;
	border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	color:#365812;
	font-size:13px;
}
#form .attached div input {
	border:none;
	
}
#form div.clearBtn {
	text-align: right;
}
#form div.clearBtn input[type=button] {
	padding:2px 10px;
	border:none;
	background-color: #FFE3E3;
	border:1px solid #6C4242;
}




@media screen and (max-width:900px){

#form .top-com h2 {
	text-align: left;
}

#form .top-com p {
	font-size: 15px;
}
#form .attached div {
	width: 100%;
}
}

#form h3 {
	padding-bottom: 10px;
	font-size: 16px;
	font-weight: 700;
}
#form h3.attention:after {
	margin-left: 5px;
	padding:1px 5px;
	border-radius: 3px;
	font-size:0.75rem;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
	background-color:#e11720;
	color:#FFF;
	content:"必須";
	color:#FFF;
}

#form h4 {
	margin:0 0 15px;
	padding:0 0 0 10px;
	font-weight: bold;
	font-size:1.2em;
	border-left: 5px solid #000;
}
#form h5 {
	margin:10px 0 3px;
	padding:0;
	font-weight: bold;
}
#form p.txt {
	margin:0 0 25px;
	line-height:160%;
}
#form .privacy {
	margin: 0 0 40px;
	padding:20px 20px 0;
	border: 1px solid #CCC;
}


@media screen and (max-width:900px){
#form {
	margin:0 0 50px;
}
#form h2 {
	font-size: 1.3em;
}

#form p.txt {
	font-size: 95%;
}
#form .privacy {
	border-radius: 5px;
}
}


#form table  {
	width:100%;
	margin-bottom:50px;
	border-top: 1px solid #CCC;
}
#form table th  {
	position: relative;
	width:260px;
	margin:0 0 5px;
	padding:10px 0;
	color:#333;
	border-bottom: 1px solid #CCC;
	text-align:center;
	font-weight: 700;
	font-size:1em;
	background-color: #F5F5F5;
	background-clip: padding-box;
}
th.attention:after {
	position: absolute;
	top:50%;
	right: 10px;
    transform: translateY(-50%);
	padding:1px 5px;
	border-radius: 3px;
	font-size:0.75rem;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
	background-color:#e11720;
	color:#FFF;
	content:"必須";
	color:#FFF;
}


#form table td  {
	padding:10px 15px;
	line-height:160%;
	border-bottom: 1px solid #CCC;
}
#form table td input {
	margin:3px 5px 3px 0;
	padding:5px;
	border:1px solid #CCC;
	border-radius: 3px;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
}
#form .table td select {
  padding: 8px;
  font-size: 14px;
  border: 1px solid #CCC;
  background-color: #FFF;
  border-radius: 3px;
}
#form table td input:focus {
	border:2px solid #b5d1e5;
	
}
input[type=checkbox] {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}
input[type=radio] {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}	
#form table td textarea  {
	width:100%;
	padding:5px;
	border:1px solid #CCC;
	border-radius: 3px;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
}
#form table td textarea:focus {
	border:2px solid #b5d1e5;

}
#form table td input.il  {
	width:400px;
}
#form ul.enq {
	margin:0 0 5px;
}
#form table td ul li,#form ul.enq li {
	display: inline-block;
	margin: 0 15px 0 0;
}
#form table td ul li:last-child {
	border:none;
}
#form table td textarea  {
	height:80px;
	padding:2px;
}
#form table select {
	margin:3px 5px 3px 0;
	padding:10px 8px;
	border:1px solid #CCC;
	border-radius: 3px;
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px;
}

#form table td span img.ic {
	width:20px;
	margin: 0 5px 0 2px;
	vertical-align: middle;
}
	
@media screen and (max-width:640px){

#form table  {
	margin-bottom: 30px;
	border: none;
}
#form table tr{
	display: block;
}
#form th,#form td{
	display:list-item;
	list-style:none;
	border: none;
}
#form table th  {
	width:auto;
	padding:5px 10px;
	text-align:left;
	line-height:180%;
	background-color:#e7e7e7;
	border: none;
	border-radius: 3px;
}

th.attention:after {
	margin-left: 10px;
	position:static;
}
#form table td  {
	padding:5px 10px 20px;
	line-height:180%;
	border: none;
}
#form table td input {
	margin:3px 3px 3px 0;
	border:1px solid #CCC;
}

#form table td textarea  {
	width:100%;
	border:1px solid #CCC;

}
#form table td input.il  {
	width:98%;
}
}


/* submit */
#form .button {
	margin:30px 0 35px;
	padding:0;
	text-align:center;
}
#form .button form {
	display:inline;
}
#form .button input {
	padding:15px 20px !important;
	color:#FFF;
	font-size:18px;
	cursor:pointer;
	background-color:#e11720;
/*	background: -moz-linear-gradient(top center, #9A8419 0%, #685712 100%);
	background: -webkit-gradient(linear, center top, center bottom, from(#9A8419), to(#685712));
	background: linear-gradient(top center, #9A8419 0%, #685712 100%);*/
	border:0;
	border-radius: 5px;
}
#form .button input.send{
	background-color: #8d1226;
}

div.errorComment {
	border: 1px solid #ce0000;
    color: #ce0000;
    margin: 0 0 15px;
    padding: 15px 20px;
}
div.errorComment ul {
	margin-left:15px;
}
div.errorComment li {
	list-style-type:disc;
}
div.errorComment .error_messe {
	margin: 0 0 5px !important;
}





/*	joining -------------------------------------- */
.addBox {
}

.addBox label.lebelBtn {
	display: block;
	margin:5px 0 15px;
    padding: 10px 15px;
    font-weight: bold;
    border: solid 1px black;
    cursor :pointer;
}


.addBox label.lebelBtn:hover {
    background: #efefef;
}


.addBox input.add {
    display: none;
}


.addBox .show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}


.addBox input:checked ~ .show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}
.addBox > label {
  display: block;
  margin: 20px auto 10px;
  padding: 10px 15px;
  text-align: center;
  cursor: pointer;
	background-color: #F5F5F5;
	border:1px solid #666;
	color:#333;
	border-radius: 3px;
}
.addBox input.box {
  display: none;
}
/*===============================================
	■other
===============================================*/
/*	other -------------------------------------- */


.red {
	color:#ce0000;
}
.small {
	font-size:90%;
}
.bold {
font-weight: bold;
}



/*===============================================
	■footer
===============================================*/
p#pageTop {
	position: fixed;
    bottom: 15px;
    right:15px;
}
 p#pageTop img {
	display:inline;
}
@media screen and (max-width:960px){
p#pageTop {
    right:10px;
}
}

footer {
text-align: center;
background-color: #eef5e1;
}
footer #address{
padding:25px 20px;
color:#FFF;
background-color: #75bb2a;
}
footer #address address{
	max-width: 600px;
	margin:0 auto 10px;
}
footer #copy{
padding:3px 20px;
color:#FFF;
font-size: 8pt;
background-color: #7d7d7d;
}

@media screen and (max-width:760px){
footer .footerBox div.fMenu div {
width:100%;
}
}
/*===============================================
	■other
===============================================*/

.aCenter {
	text-align:center;	
}
.aRight {
	text-align:right;	
}
.commonBtn {
	margin:0 0 30px;
	text-align:center;
}
.mini {
	font-size:13px;	
}
.pointTxt{
	color:#00A0E9;
	font-weight:bold;	
}
.pointR{
	color:#e60012;
	font-weight:bold;
	text-decoration: underline;
}

.imgLeft {
	float:left;
	margin:0 15px 10px 0 !important;
}

.imgRight {
	float:right;
	margin:0 0 10px 15px !important;
}
.over {
	overflow:hidden;
}
.mb10 {
margin-bottom: 10px !important;
}
.mb20 {
margin-bottom: 10px !important;
}
.mb30 {
margin-bottom: 10px !important;
}
.mb40 {
margin-bottom: 10px !important;
}
.mb50 {
margin-bottom: 50px !important;
}

/* link */
a:link {
	color:#75bb2a;
	text-decoration:underline;
}
a:visited {
	color:#75bb2a;
	text-decoration:underline;
}
a:active {
	color:#999999;
	text-decoration:underline;
}
a:hover {
	color:#406617;
	text-decoration:underline;
}
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
}
.clearLeft {
	clear:left;
}
.clear {
	clear:both;	
}
.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}
input[type="submit"], input[type="reset"], input[type="button"], button{
  cursor: pointer;
}


/*===============================================
	■calendar
===============================================*/
.calendar table {
width:100%;
margin:0 0 20px;
border-left:1px solid #CCC;
border-top: 1px solid #CCC;
border-collapse:collapse;
border-spacing:0;
font-size:150%;
}

.calendar table th {
padding:10px 0;
text-align: center;
font-weight: bold;
border-right:1px solid #CCC;
border-bottom: 1px solid #CCC;
}
.calendar table .sun {
	color:#D40003;
	background-color: #FFEBEC;
}
.calendar table .sat {
	color:#002D86 !important;
	background-color: #ECF2FF;
}
.calendar table td {
height: 60px;
color:#CCC;
text-align: center;
border-right:1px solid #CCC;
border-bottom: 1px solid #CCC;
}
.calendar table td a {
padding:20px 0;
display: block;
color:#000;
text-decoration: none;
}
.calendar table td a:hover {
	background-color: #F5F5F5;
}
.calendar table th.calTitle {
background-color: #F5F5F5;
}
.calendar table th.calTitle div {
	display: flex;
	flex-flow: row wrap;
	justify-content:space-between;
	font-weight: bold;
}
.calendar table th.calTitle a {
	margin:0 10px;
	padding:2px 5px;
	text-decoration: none;
	border:1px solid #666;
	color:#666;
}

.calendar table {
text-align: center;
}
.calendar table td:nth-child(1){
	color:#FFC6C7 !important;
}
.calendar table td:nth-child(7){
	color:#B7CFFF !important;
}
.calendar table td:nth-child(1) a{
	color:#D40003 !important;
}
.calendar table td:nth-child(7) a{
	color:#002D86 !important;
}
.calendar .button {
	margin-top: 0px !important;
	text-align: center;
}


.calendar .button input {
	margin: 0 auto;
  padding: 10px 20px !important;
  color: #FFF;
  font-size: 15px;
  cursor: pointer;
  border: 1px solid #111;
  background-color: #3F3F3F;
  background: -moz-linear-gradient(top center, #3F3F3F 0%, #111 100%);
  background: -webkit-gradient(linear, center top, center bottom, from(#3F3F3F), to(#111));
  background: linear-gradient(top center, #3F3F3F 0%, #111 100%);
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
}
