@charset "UTF-8";
/* CSS Document */

/*NAVBAR*/
body {position: relative;}
.navBarWrapper {width: 100%; background: #1185bb; color: #fff; position: absolute; z-index: 100; display: none;}
.navBarWrapper a {color: #fff; text-decoration: none; line-height: 1.5;}
.navBarWrapper a:hover {opacity: 0.6;}
.navBarWrapper .navBarClose {width: 100%; text-align: center; background: #0b6ba7; font-size: 20px; font-weight: bold; color: #fff; padding: 10px 0; cursor: pointer; }
.navBarWrapper .navBar {max-width: 1120px; width: 100%; margin: 0 auto; color: #fff; padding: 30px 10px;}
.navBarWrapper .navBar > ul > li {float: left; width: 26%; margin-right: 1.66%; max-width: 260px;}
.navBarWrapper .navBar > ul > li:nth-of-type(1) {width: 17%; font-size: 18px; font-weight: bold; text-align: center; background: #1fa3cf; font-size: 18px; display: table;}
.navBarWrapper .navBar > ul > li:nth-of-type(2),
.navBarWrapper .navBar > ul > li:nth-of-type(3),
.navBarWrapper .navBar > ul > li:nth-of-type(4){height: auto !important;}
.navBarWrapper .navBar > ul > li p {display: table-cell; vertical-align: middle;}
.navBarWrapper .navBar > ul > li div {height: 100%; vertical-align: middle;}
.navBarWrapper .navBar > ul > li:last-child {margin-right: 0;}
.navBarWrapper .navBar > ul > li a {font-size: 14px; padding-left: 30px; display: block;}
.navBarWrapper .navBar > ul > li ul > li:first-child {font-weight: bold; margin: 20px 0; background: url('../img/customer/nav_icon.png') no-repeat left center;}
.navBarWrapper .navBar > ul > li ul > li:first-child a {font-size: 16px;}

.btnBoxActive { background-color:#1fa3cf; }

#about{font-size:14px; line-height:1.9; padding-bottom:90px;}


.electionBox{ background: #1fa3cf; padding-bottom: 1px;}
.electionBox#election02 { background: #9bc11c; margin-top: 40px;}

.election_image {
    margin-bottom: 30px;
}

.election_title h3.tit {
    font-size: 18px;
    color: #fff;
    padding: 10px;
    font-weight: bold;
    text-align: center;
}

.election_titleBig {
  padding: 30px;
  align-items: center;
}

.election_titleBig  h3.tit {
  color: #fff;
  font-weight: bold;
  font-size: clamp( 20px, 5vw, 55px);
  width: calc(100% - 160px);
  line-height: 1;
}
#election02 .election_titleBig  h3.tit {
  font-size: clamp( 20px, 4vw, 40px); text-align: center;
	width: 100%;
}

.election_titleBig  h3.tit span {
  font-size: clamp( 16px, 2.2vw, 24px);
}
#election02 .election_titleBig  h3.tit span {
  font-size: clamp( 16px, 2.2vw, 24px);
}

.borderBox{ border: 1px solid #fff; padding:0; margin: 0 20px 20px 20px; padding-top: 10px;}

.election_contents {
  padding: 0 20px 30px;
}

.election_contents_list a {
    display: block;
    font-weight: bold;
    color: #1fa3cf;
    text-decoration: none;
    box-sizing: border-box;
    padding: 5px 10px;
    font-size: 18px;
    background: #fff; 
    border-radius: 4px;
}

.election_contents_list a:hover {
  transition: 0.3s all ease;
  opacity: 0.7;
}
#election02 .election_contents_list a {
	color: #9bc11c;
}
.election_contents_list {
    margin-bottom: 5px;
    flex-basis: calc((100% - 10px)/2);
}

.election_contents.name_list .election_contents_list:first-of-type{  text-align: center; flex-basis: 100%;}


/* 2024 */
form.post-password-form input[name="post_password"] {
	padding: 3px;

}
form.post-password-form input[type="submit"] {
	padding: 0 10px;
}

/* headquarters */
.headquarters_title h3.tit {
  font-size: 18px;
  color: #000;
  text-align: left;
}

/* partner */
.partner_title h3.tit {
  font-size: 18px;
  color: #000;
  text-align: left;
}

/* MEDIA */
@media screen and (max-width:960px) {
#about #roles .inner{padding:20px 15px;}	
}

@media screen and (max-width:768px) {
  .election_titleBig { padding: 10px;}
  
  .election_titleBig  h3.tit {  width: 100%;}
  .election_titleBig p.year{ margin: 0 auto 20px; width: 100px;}

  #about{line-height:1.5em;}	

  #aboutRinen p { font-size: 5vw; text-align: left}
  #aboutRinen p br { display: none; }
  #aboutTop{padding:8% 0 12%;}
  #aboutTop h3{font-size:8vw;}
  #aboutTop h3 span{font-size:6vw;}

  #about .aboutBox { font-size:14px; padding:20px; border-radius:20px; }

  #about #roles h4{font-size:5vw;}
  #about #roles .tit{font-size:3.5vw;}

  #about2 .textBox,
  #about2 .photoBox,
  #about2 .imageBox { flex-basis:100%; }

  .election_title {
    font-size: 24px;
  }
  .election_contents_list {
    flex-basis: 100%;
}
  .election_contents.name_list .election_contents_list:first-of-type{ text-align: left;}



  .aboutFooterNavi ul li a {
    font-size: 18px;
  }
}

@media screen and (max-width:480px) {
#about #roles h4{padding:10px 0;}
	
#about #roles .inner{padding:15px; height:auto !important;}	
#about #roles .child{width:100%; float:none; margin-bottom:20px; margin-right:0;}
#about #roles .child:last-child{margin-bottom:0;}
#about #roles .childL{width:100%; float:none;}
#about #roles .childR{width:100%; float:none; text-align:center;}
#about #roles .tit{font-size:5vw;}
}