@charset "utf-8";

/* Basic Style
-------------------- */
@import url(//use.fontawesome.com/releases/v5.1.0/css/all.css);
@import url(https://fonts.googleapis.com/css?family=Roboto:400,400i,500,500i,700,700i,900,900i|Roboto+Condensed:400,700|M+PLUS+Rounded+1c|Rancho);
html { font-size: 62.5%; }
body {
  position: relative;
  font-family: 'Roboto','M PLUS Rounded 1c', '游ゴシック' , 'Yu Gothic' , 'YuGothic' ,'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3','ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN', Meiryo, メイリオ, sans-serif;
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: center;
  color: #333;
  margin: 30px 0 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: middle;
}
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.def {
  margin: 1em 0;
  padding-left: 40px;
  list-style-type: disc;
}
ol.def {
  margin: 1em 0;
  padding-left: 40px;
  list-style-type: decimal;
}
h1,h2,h3,h4,h5,h6 {
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 0.5em;
}
section .far, section .fas {
  margin-right: 5px;
}
a,
a img {
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
a img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
a:link {
  text-decoration: none;
  color: #111;
}
a:visited {
  text-decoration: none;
  color: #111;
}
a:hover {
  text-decoration: none;
  color: #999;
}
a:hover img {
  filter:alpha(opacity=75);
  -moz-opacity: 0.75;
  opacity: 0.75;
}

/* common
-------------------- */
header {
  max-width: 1140px;
  margin: 0 auto 0;
  padding: 0 30px;
}
article {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 30px 120px;
}
#mainNavigation {
  position: fixed;
  top: 25%;
  right: 0;
  width: 30px;
}
.navsync-menu-highlight .far.fa-circle:before {
      content: "\f192";
}
p.caption {
  font-size: 1.4rem;
  text-align: left;
  margin-top: 5px;
}
p.img {
  margin-top: 2.0em;
}

.textbox,
.photobox {
  width: 50%;
}
.photobox_cap {
  position: relative;
}
.photobox_cap p.caption {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  text-align: left;
  margin: 0;
  padding: 10px;
}
/*.photobox>img {
  width: 100%;
  height: auto;
}*/
.textbox {
  text-align: left;
  width: 50%;
  padding: 40px;
  box-sizing: border-box;
}
.section {
/*  max-width: 1140px;*/
  padding: 0;
  margin: 0 auto 80px;
  box-sizing: border-box;
}
.textcenter {
  text-align: center;
}
.textleft {
  text-align: left;
}
.textright {
  text-align: right;
}
.flex {
  display: flex;
  justify-content: space-between;
}
h2 {
  font-size: 3.6rem;
}
h3 {
  font-size: 2.4rem;
  color: #294f3d;
}
h4 {
  font-size: 1.8rem;
}
h2>br,
h3>br {
  display: none;
}
.catch {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.2;
}
.txtbig {
  font-size: 4.8rem;
  font-weight: 500;
}
.comments {
  font-size: 1.4rem;
  margin-top: 2.0em;
  text-indent:-1.2em;
  padding-left:1.2em;
}
.whitebox {
  background-color: #fff;
  margin-top: 2.0em;
  padding: 20px;
}
.whitebox>p {
  margin: 0;
}
.txt_yellow {
  color: rgb(245, 229, 89);
}
.txt_black {
  color: rgb(51, 51, 51);
}
.txt_blue {
  color: rgb(84, 111, 140);
}
.txt_red {
  color: rgb(182, 117, 96);
}
.bdr_green {
  text-shadow: 1px 1px 0 #294f3d,-1px 1px 0 #294f3d,1px -1px 0 #294f3d,-1px -1px 0 #294f3d;
}
.marker_yellow {
  display: inline-block;
  line-height: 1.4;
  background: -webkit-linear-gradient(transparent 60%, #f5e559 60%);
  background: -o-linear-gradient(transparent 60%, #f5e559 60%);
  background: linear-gradient(transparent 60%, #f5e559 60%);
}
.marker_green {
  display: inline-block;
  line-height: 1.4;
  background: -webkit-linear-gradient(transparent 60%, #d3eadf 60%);
  background: -o-linear-gradient(transparent 60%, #d3eadf 60%);
  background: linear-gradient(transparent 60%, #d3eadf 60%);
}
.marker_purple {
  display: inline-block;
  line-height: 1.4;
  background: -webkit-linear-gradient(transparent 60%, #e6cae0 60%);
  background: -o-linear-gradient(transparent 60%, #e6cae0 60%);
  background: linear-gradient(transparent 60%, #e6cae0 60%);
}
.marker_orange {
  display: inline-block;
  line-height: 1.4;
  background: -webkit-linear-gradient(transparent 70%, #b77b02 70%);
  background: -o-linear-gradient(transparent 70%, #b77b02 70%);
  background: linear-gradient(transparent 70%, #b77b02 70%);
}
.btnblock {
  margin: 60px 0;
}
.btn {
  display: block;
  text-decoration: none;
}
.bigbtn {
  position: relative;
  border: 6px solid #da7935;
  background-color: #da7935;
  font-size: 3.6rem;
  line-height: 1.5;
  font-weight: 600;
  padding: 40px;
  border-radius: 16px;
}
.bigbtn:after {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  content: '\f138';
  font-family: 'Font Awesome 5 Free';
  font-size: 6.0rem;
  font-weight: bold;
  background-color: #bc5e1b;
  height: 100%;
  padding: 4%;
  box-sizing: border-box;
}
a.btn:link,
a.btn:visited {
  color: #fff;
}
a.btn:hover {
  background-color: #fff;
  color: #da7935;
}
#snsbtn>.flex {
  justify-content: center;
}
#snsbtn .sns {
  display: block;
  border: 4px solid #da7935;
  font-size: 6.0rem;
  line-height: 100px;
  width: 100px;
  height: 100px;
  margin: 20px;
  overflow: hidden;
  box-sizing: border-box;
}
#snsbtn .sns:link,
#snsbtn .sns:visited {
  background-color: #da7935;
  color: #fff;
}
#snsbtn .sns:hover {
  background-color: #fff;
  color: #da7935;
}

/* contents
-------------------- */
#header {
  position: relative;
  text-align: center;
  background-color: #da7935;
  color: #fff;
  padding: 50px;
  height: 80vh;
  min-height: 600px;
  border-top-right-radius: 100px;
  box-sizing: border-box;
  overflow: hidden;
}
#mainvisual {
  position: absolute;
  width: 100%;
  top: 40%;
  left: 50%;
  transform: translateY(-40%) translateX(-50%);
  -webkit- transform: translateY(-40%) translateX(-50%);
}
#titlelogo {
  font-size: 8.0rem;
  line-height: 1.0;
  margin: 0 0 20px;
  padding: 10px 0;
}
#titlelogo>br {
  display: none;
}
#subtitle {
  display: inline-block;
  background: #3e8ebe url(../img/bg_subtitle.png) repeat 0 0;
  font-size: 3.6rem;
  font-family: 'Roboto', '游明朝' , 'Yu Mincho' , 'YuMincho', serif;
  font-weight: 400;
  line-height: 1.0;
  padding: 5px 40px;
}
#mainname {
  position: absolute;
  width: 100%;
  top: 80%;
  left: 50%;
  transform: translateY(-80%) translateX(-50%);
  -webkit- transform: translateY(-80%) translateX(-50%);
}
#mainname h3 {
  position: relative;
  display: inline-block;
  font-size: 4.8rem;
  color: #fff;
  margin: 0;
}
#mainname>h3:before {
  content: 'やまがみ';
  font-size: 1.6rem;
  letter-spacing: 10px;
  position: absolute;
  top: -10px;
  left: 0;
}
#mainname h4 {
  font-size: 2.4rem;
  margin: 0;
  letter-spacing: 3px;
}
#header.flex {
  padding: 0;
}
#header.flex{
  padding: 0;
  height: 83vh;
  min-height: 830px;
  border-top-right-radius: 100px;
  box-sizing: border-box;
  overflow: hidden;
}
/* after */
#poster {
  width: 50%;
  padding: 20px;
  box-sizing: border-box;
}
#postername {
  width: 50%;
}
#postername h1 {
  position: relative;
  display: inline-block;
  font-size: 9.0rem;
  margin-top: 40%;
}
#postername h1:before {
  content: 'やまがみ';
  font-size: 3.6rem;
  letter-spacing: 10px;
  position: absolute;
  top: -20px;
  left: 0;
}
#postername h2 {
  padding-left: 5%;
  padding-right: 5%;
}
#postername .angledown {
  text-align: center;
  margin: 60px 0 30px;
}
#postername .fa-angle-down {
  background-color: rgb(255, 255, 255);
  text-align: center;
  color: #da7935;
  display: inline-block;
  width: 50px;
  height: 50px;
  font-size: 24px;
  line-height: 50px;
  border-radius: 25px;
  z-index: 999;
  -webkit-animation: bounce 3000ms infinite;
  animation: bounce 3000ms infinite;
}
@keyframes bounce {
  0%, 100%, 20%, 50%, 80% {
      transform: translateY(0px);
  }
  40% {
      transform: translateY(-30px);
  }
  60% {
      transform: translateY(-15px);
  }
}
@-webkit-keyframes bounce {
  0%, 100%, 20%, 50%, 80% {
      transform: translateY(0px);
  }
  40% {
      transform: translateY(-30px);
  }
  60% {
      transform: translateY(-15px);
  }
}
.votebox {
  position: relative;
  background-color: #294f3d;
  color: #d5e5e5;
  margin: 60px 0;
  border-radius: 0 100px 100px 100px;
}
.votebox>.section {
  padding: 40px 8.7719298245614%;
  overflow: hidden;
}
.votebox .ff {
  font-family: 'Rancho', cursive;
  font-size: 2.4rem;
}
.votebox h2 {
  color: #fff;
}
.votebox h3 {
  color: #d5e5e5;
}
.votebox strong {
  color: #f5e559;
}
.votebox strong.f-green {
  color: #c4dfa7;
}
.votebox p {
  font-size: 1.8rem;
  line-height: 1.8;
}
.votebox p.imgleft {
  float: left;
  margin-right: 40px;
}
.votebox p.big {
  font-size: 2.4rem;
}
.linear {
  line-height: 35px;
  background: -webkit-linear-gradient(bottom, #537a68 1px, rgba(255, 255, 255, 0) 1px) left top / 1px 42px;
  background: linear-gradient(to top, #537a68 1px, rgba(255, 255, 255, 0) 1px) left top / 1px 42px;
}
.linear h3,
.linear p {
  line-height: 4.2rem;
  margin: 0;
}
.linear h3 {
  margin-bottom: 4.2rem;
}
.linear .signature {
  margin-top: 4.2rem;
}
.votebox .ele_illust {
  position: absolute;
  bottom: -20px;
  right: 40px;
}
.votebox .fig {
  margin: 60px 0;
}
.votebox .l-third {
  margin-bottom: 10%;
}
.votebox .bdrbox {
  border: 5px solid #d5e5e5;
  border-radius: 20px;
}
.votebox .box {
  margin-top: 40px;
}
.votebox .box .leftbox2,
.votebox .box .rightbox2 {
  letter-spacing: 0.1rem;
  width: 50%;
  box-sizing: border-box;
}
.votebox .box .leftbox2 {
  padding-right: 20px;
}
.votebox .box .rightbox2 {
  padding-left: 20px;
}
.votebox p.caption {
    font-size: 1.4rem;
    line-height: 1.4;
}
.votebox .profileimg {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50%;
  text-align: left;
}
.votebox .profiletxt {
  min-height: 500px;
  padding-left: 50%;
}
.votebox .profiletxt li {
  font-size: 1.8rem;
  line-height: 1.8;
}
#proposal01 {
  background-color: #e1e9ed;
  margin-top: 80px;
}
#proposal01>.flex {
  justify-content: flex-start;
}
#proposal01>.section {
  margin-bottom: 40px;
}
#proposal02 {
  background-color: #e1e9ed;
  margin-top: 20px;
}
#proposal03 {
  background-image: linear-gradient(
    -45deg,
    #ebe8d1 25%,
    #f3f1e4 25%,
    #f3f1e4 50%,
    #ebe8d1 50%,
    #ebe8d1 75%,
    #f3f1e4 75%,
    #f3f1e4
  );
  background-size: 60px 60px;
}
#proposal04 {
  background: #f6f6f6 url(../img/bg_proposal04.png) no-repeat 0 0;
  padding-top: 60px;
}
#proposal04-2 {
  background-color: #edf7fd;
}
#proposal04>.section {
  margin-bottom: 0;
}
.obisection {
  position: relative;
  background-color: #546f8c;
  color: #fff;
}
.obisection h2 {
  font-size: 3.0rem;
  line-height: 1.5;
  text-align: left;
  padding: 10px 245px 10px 40px;
  box-sizing: border-box;
}
.obi_cap {
  position: absolute;
  top: 12px;
  right: 40px;
  font-size: 1.8rem;
  font-weight: 600;
  background-color: #fff;
  color: #546f8c;
  padding: 5px 20px;
  border-radius: 9.0rem;
}
#proposal04-2 h4 {
  text-align: left;
  margin: 40px 40px 0;
}
#proposal04-2 .def {
  margin: 0;
}
#proposal04-2 .def>li {
  margin-bottom: 1.0em;
}
#proposal05 {
  padding-top: 60px;
}
.pp {
  background: transparent url(../img/bg_proposal05.png) no-repeat 50% 50%;
  background-size: contain;
  text-align: center;
  font-size: 2.1rem;
  color: #fff;
  margin-top: 40px;
  padding: 20px 0;
}
#proposal06 {
  background-color: #f3f1e4;
  margin-top: 20px;
  padding-top: 60px;
}
#action {
  margin-bottom: 80px;
}
#organization {
}
#bnrvote {
  position: relative;
  background: #294f3d url(../img/text_fuchu.png) no-repeat 70% 50%;
}
#bnrvote>div:first-child {
  text-align: right;
  margin-left: 50%;
  padding: 40px 140px 40px 0;
}
#bnrvote>div:nth-child(2) {
  position: absolute;
  left: 5%;
  bottom: 0;
}

/* backto
-------------------- */
#backto {
  position: fixed;
  bottom: 40px;
  right: 0;
  z-index: 900;
}
#backto a {
  display: block;
  font-size: 2.6rem;
  line-height: 2.6rem;
  text-decoration: none;
  color: #fff;
  width: 60px;
  height: 60px;
  padding-top: 16px;
  text-align: center;
  box-sizing: border-box;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  transition: 0.5s;
}
#backto {
  display: block;
  background: #616161;
}
#backto a:hover {
  color: #fff;
  background-color: #111;
}

/* footer
-------------------- */
footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
}
#footer {
  background-color: #f1f1f1;
  color: #333;
  position: relative;
}
#copyright {
  font-size: 1.2rem;
  text-align: center;
  margin: 0;
  padding: 10px 30px;
}
.footerlink {
  position: absolute;
  top: 5px;
  right: 10px;
  margin: 0;
  padding: 0;
}
.footerlink .sns {
  margin-left: 10px;
  margin-right: 10px;
}