@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');


/* RESET
----------------------------------------------------------------------------------------------------*/
/* 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, em, img, ins, kbd, q, s, samp, small, strike, strong, 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;
    vertical-align: baseline;
    font-size: 100%;
    font: inherit;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

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

table {
    border-collapse: collapse;
    border-spacing: 0;
}

object {
    pointer-events: none;
}

img {
    pointer-events: none;
}

/* BODY
----------------------------------------------------------------------------------------------------*/
html {
  height: 100%;
}

body {
  font-family: 'Maru Folk Bold', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  background-color: #FFF;
  font-size: 16px;
  color: #000;
}

header {
  padding: 50px auto;
  width: 100%;
  text-align: center;
}

.title {
  padding: 35px 0;
  background-color: #950F1E;
}

.title h1,
.title h2 {
  color: #fff;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: bold;
}

menu {
  margin: 30px auto;
  width: 800px;
}

menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

br.menu_sp {
  display: none;
}

menu a {
  display: block;
  color: #000;
  font-size: 1.2rem;
  text-decoration: none;
  transition: all .5s ease-in-out;
}

menu a:hover {
  color: #950F1E;
}

main {
  margin: 0 auto;
  width: 1400px;
  max-width: 100%;
}

section {
  margin-top: 30px;
}

h3 {
  padding: 30px 0;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.25;
}

footer {
  width: 100%;
  padding: 10px 0;
  color: #fff;
  text-align: center;
  background-color: #950F1E;
}

/* PAGE TOP
***************************************/
.page_top {
  display: none;
  position: fixed;
  overflow: hidden;
  width: 20px;
  height: 30px;
  right: calc(50% - 700px);
  bottom: 0;
  margin-bottom: 30px;
  padding: 7px 13px;
  background-color: #4d4d4d;
  border: solid 2px #fff;
  z-index: 100;
  transition: all .2s ease-in-out;
}

.page-top .pg_top {
  transition:all 0.5s;
}

.pg_top {
  position: relative;
  top: 7px;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 13px solid #fff;
}

.page-top:hover {
  background-color: #fff;
  border: solid 2px #a9a7a7;
}

.page-top:hover .pg_top {
  border-bottom: 13px solid #a9a7a7;
}

/* TOP
***************************************/
.top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: left;
}

.name_info {
  width: 20%;
  color: #950F1E;
  line-height: 1.5;
}

.group_title {
  padding-bottom: 10px;
  font-size: 1rem;
}

.name_space {
  display: flex;
  margin-bottom: 20px;
  font-weight: bold;
}

.name_space .group {
  align-self: flex-start;
  margin-right: 5px;
  padding: 5px;
  font-size: 1rem;
  background-color: #950F1E;
  color: #FFF;
}

.name {
  font-size: 2rem;
  line-height: 1;
}

.ruby {
  margin-top: 5px;
  font-size: 1rem;
  text-align: right;
}

.social {
  text-align: center;
}

.social li {
  margin: 0 0 20px;
  width: 200px;
  font-size: 2rem;
  font-weight: bold;
}

.tw {
  display: block;
  color: #FFF;
  background-color: #32A0E3;
  text-decoration: none;
  transition: all .5s ease-in-out;

}

.tw:hover {
  color: #32A0E3;
  background-color: #FFF;

}

.fb {
  display: block;
  color: #FFF;
  background-color: #3A5692;
  text-decoration: none;
  transition: all .5s ease-in-out;
}

.fb:hover {
  color: #3A5692;
  background-color: #FFF;
}

.main_img {
  width: 80%;
}

.main_img img {
  width: 100%;
}

.comment {
  margin: 10px auto;
  width: 75%;
}

.comment p {
  font-size: 1.1rem;
  line-height: 1.5;
}

.comment p span {
  font-size: 2rem;
  color: #950F1E;
  font-weight: bold;
}


/* ACTIVITY
***************************************/
.article {
  display: block;
  margin: 0 auto;
  width: 65%;
  height: 500px;
}


/* Town Built
***************************************/
#town_built {
  padding: 15px 15px 30px;
  border-radius: 15px;
  background-color: #f2e4d5;
}

.town_built {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: left;
}

.town_built li {
  margin-bottom: 20px;
  padding: 15px;
  width: 30%;
  color: #4d4d4d;
  padding-bottom: 50px;
  border-radius: 15px;
  background-color: #fff;
}

.town_built_title {
  padding-bottom: 10px;
  font-size: 1.25rem;
  color: #950F1E;
  font-weight: bold;
  line-height: 1.5;
}

.town_built_content {
  width: 100%;
  line-height: 1.5;
}

.town_built li.two_itme {
  width: 63.5%;
}

.town_built li.full_itme {
  margin: 0;
  padding-bottom: 30px;
  width: 100%;
  color: #fff;
  background-color: #950F1E;
}

.town_built li.full_itme .town_built_title {
  margin-bottom: 15px;
  padding: 15px 30px;
  text-align: center;
  border-radius: 100px;
  background-color: #fff;
}

.town_built li.full_itme .town_built_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.content_left {
  width: 65%;
}

.content_left li {
  margin: 0;
  padding: 15px;
  width: 95%;
  color: #fff;
  word-break: break-all;
  background-color: #950F1E;
}

.content_right {
  width: 35%;
}

.content_right li.area {
  margin-top: 15px;
  padding: 0;
  width: 100%;
  text-align: center;
  background-color: inherit;
}

.content_right li.area img {
  margin: auto;
  width: 75%;
}

.content_left li:last-child {
  padding-bottom: 0;
}

.content_right li.area p {
  margin: 10px auto 25px;
  padding: 7.5px 25px;
  width: 80%;
  border-radius: 100px;
  color: #950F1E;
  background-color: #fff;
}



/* PROFILE
***************************************/
.profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  line-height: 1.5;
}

.profile li {
  margin-bottom: 20px;
}

.profile_left {
  padding: 20px;
  width: 37.5%;
  background-color: #950F1E;
  border-radius: 15px;
}

.profile_left .profile_title {
  margin-bottom: 20px;
  padding: 20px;
  text-align: center;
  background-color: #fff;
  border-radius: 100px;
}

.member {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  border-radius: 10px;
}

.member li {
  width: 30%;
}

.member li img {
  width: 100%;
  border-radius: 10px;
}

.member .name {
  margin: 5px auto 25px;
  padding: 10px 20px;
  text-align: center;
  background-color: #fff;
  border-radius: 100px;
}

.member .name p {
  font-size: 1rem;
  line-height: 1.25;
}

.profile_right {
  width: 57.5%;
}

.profile_title {
  padding-bottom: 10px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #950F1E;
}

.profile .section {
  padding-bottom: 10px;
}

.section li {
  margin-bottom: 0;
}

.ab {
  position: relative;
}

.ab img {
  position: absolute;
  top: 65px;
  right: 30px;
  width: 9vw;
  max-width: 150px;
}

/* SNS
***************************************/
.sns {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 30px;
  width: 150px;
}

/* INGUIRY
***************************************/
form {
  display: block;
  width: 750px;
  margin: 0 auto;
}

.inq_group {
  margin-bottom: 20px;
  line-height: 1.75;
}

#name, #mail{
  width: 500px;
  padding: 10px 15px;
  font-size: 16px;
  border-radius: 3px;
  border: 2px solid #ddd;
  box-sizing: border-box;
}

#content {
  padding: 10px;
  width: 100%;
  height: 200px;
  border: 2px solid #ddd;
  border-radius: 5px;
  box-sizing: border-box;
  font-size: 1rem;
  line-height: 1.2;
}

label {
  font-size: 1.2rem;
  font-weight: bold;
}

.red, .error {
  padding-left: 5px;
  color: #950F1E;
  font-weight: bold;
}

.button {
  display : block;
  cursor : pointer;
  margin: 0 auto;
  padding : 12px 12px;
  width: 200px;
  color : #FFF;
  font-size : 1.5rem;
  text-align : center;
  line-height : 1;
  background : #4d4d4d;
  border-radius : 5px;
  box-shadow : 6px 6px 3px #666666;
  border : 2px solid #4d4d4d;
  text-decoration: none;
  transition : all .5s ease-in-out;
}

.button:hover {
  box-shadow : none;
  color : #4d4d4d;
  background : #FFF;
}

.ok_group {
  margin-bottom: 20px;
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.5;
}

.ok_img {
  margin: 0 auto;
  width: 150px;
}


/* for SP (480px) ---480px以下
----------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {

  header {
    margin: 0;
    padding-top: 0;
  }

  menu {
    margin: 30px auto;
    max-width: 480px;
    width: 100%;
  }

  menu ul {
    align-items: center;
  }

  menu li {
    padding: 20px 0;
    width: 50%;
    line-height: 1.25;
  }

  br.menu_sp {
    display: block;
  }

  section {
    padding: 0 7.5px;
  }

  /* PAGE TOP
  ***************************************/
  .page_top {
    right: 2.5vw;
  }

  /* TOP
  ***************************************/
  .top {
    flex-direction: column;
  }

  .name_info {
    width: 100%;
    text-align: center;
  }

  .group_title {
    font-size: 1.5rem;
  }

  .name_space {
    flex-direction: column;
  }

  .group {
    width: 98%;
  }

  .name_space .group {
    margin: 0 0 20px;
    align-self: auto;
    font-size: 1.5rem;
  }

  .ruby {
    text-align: center;
  }

  .social li {
    margin: 0 auto 20px;
    width: 80%;
  }

  .comment {
    width: 100%;
  }

  .main_img {
    width: 100%;
  }

  /* ACTIVITY
  ***************************************/
  .article {
    width: 95%;
  }


  /* TOWN BUILT
  ***************************************/
  #town_built {
    margin: 30px 5px 0;
    padding: 10px 10px 30px;
  }

  .town_built_title {
    font-size: 1rem;
  }

  .town_built li.two_itme {
    width: 100%;
  }

  .town_built li.full_itme {
    padding-bottom: 0;
  }


  .town_built li.full_itme .town_built_title {
    padding: 10px 25px;
    border-radius: 10px;
  }

  .town_built li.full_itme .town_built_content {
    flex-direction: column;
  }

  .content_left {
    width: 100%;
  }

  .town_built li {
    padding: 10px;
    width: 95%;
    overflow-wrap : break-word;
    word-break: break-all;
  }

  .content_right {
    width: 100%;
  }

  .content_right li.area img {
    width: 100%;
  }


  /* PROFILE
  ***************************************/
  section#profile {
    margin: 0;
    padding: 0;
  }

  .profile {
    flex-direction: column;
    padding: 0 5px;
  }

  .profile li {
    width: 100%;
  }

  .profile li.profile_left {
    padding: 10px;
    width: 95%;
  }

  .profile .member li {
    width: 47.5%;
  }

  .profile_right {
    width: 100%;
  }


  .ab img {
    position: initial;
    width: 150px;
  }

  /* INGUIRY
  ***************************************/
  form {
    width: 100%;
  }

  #name, #mail{
    width: 100%;
  }

}
/* (max-width: 480px) end */


/* for Tablet (481px) and (1023px) ---481から1023px以内
----------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 481px) and (max-width: 1023px) {

  menu {
    margin: 30px auto;
    max-width: 480px;
    width: 100%;
  }

  menu li {
    padding: 20px 0;
    width: 50%;
  }

  section {
    padding: 0 10px;
  }

  /* PAGE TOP
  ***************************************/
  .page_top {
    right: 25px;
  }

  /* TOP
  ***************************************/
  .top {
    justify-content: center;
  }

  .name_info {
    width: 50%;
  }

  .group_title {
    text-align: center;
  }

  .name_space {
    flex-direction: column;
    text-align: center;
  }

  .name_space .group {
    margin: 0 auto 20px;
    width: 200px;
    align-self: auto;
  }

  .ruby {
    text-align: center;
  }

  .social li {
    margin: 0 auto 20px;
  }

  .main_img {
    width: 50%;
  }

  .comment {
    width: 97.5%;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

 .sp img {
    max-width: 100%;
  }

  /* ACTIVITY
  ***************************************/
  .article {
    width: 95%;
    max-width: 750px;
  }


  /* POLITICAL ATTITUDE
  ***************************************/
  .town_built li {
    width: 95%;
  }

  .town_built_content {
    width: 100%;
  }

  .town_built li.two_itme {
    width: 97%;
  }

  .town_built li.full_itme .town_built_content {
    flex-direction: column;
  }

  .content_left {
    width: 100%;
  }

  .content_right {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
    width: 100%;
  }

  .content_right li.area {
    padding: 0;
    width: 30%;
    background-color: inherit;
  }

  .content_right li.area img {
    width: 100%;
  }

  .content_right li.area p {
    margin: 10px auto 0;
    padding: 5px;
    width: 95%;
    border-radius: 10px;
  }


  /* PROFILE
  ***************************************/
  .profile {
    flex-direction: column;
    width: 100%;
  }

  .profile li {
    width: 95%;
  }

  .profile .profile_right li {
    width: 100%;
  }

  .profile .member li {
    width: 190px;
  }

  .profile li.ab {
    width: 100%;
  }

  .ab img {
    top: 35px;
    right: -0;
    width: 120px;
  }

  /* INGUIRY
  ***************************************/
  form {
    width: 100%;
    max-width: 750px;
  }

  #name, #mail{
    width: 100%;
  }

}
/* (min-width: 481px) and (max-width: 1023px) end */