@charset "UTF-8";
/*=============================================*/
/*Reset CSS*/
/*=============================================*/
article, aside, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, main {
  display: block;
}

blockquote, body, dd, div, dl, dt, fieldset, figure, form, h1, h2, h3, h4, h5, h6, input, li, ol, p, pre, td, textarea, th, ul {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

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

li {
  list-style: none;
}

a,
a:link {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
  height: auto;
  vertical-align: bottom;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

button, input, select, textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check {
  display: none;
}

i {
  font-style: normal;
}

textarea {
  resize: none;
  font-family: sans-serif;
}

* {
  box-sizing: border-box;
}

/*=============================================*/
/*  layout  Base                        */
/*=============================================*/
.header.ver_page {
  border-bottom: 1px solid #999;
}
@media (max-width: 768px) {
  .header.ver_page {
    border-bottom: none;
  }
}
.header.ver_page img {
  max-width: 180px;
}
@media (max-width: 768px) {
  .header.ver_page img {
    max-width: 80px;
  }
}

.footer.ver_page {
  border-top: 1px solid #999;
}

.main_width.size800 {
  max-width: 800px;
}

.page_base_block {
  padding-top: 75px;
  padding-bottom: 100px;
}
@media (max-width: 768px) {
  .page_base_block {
    padding-top: 145px;
    padding-bottom: 70px;
  }
}

.page_main_ttl {
  margin-bottom: 75px;
  text-align: center;
}
@media (max-width: 768px) {
  .page_main_ttl {
    margin-bottom: 55px;
  }
}
.page_main_ttl .main_ttl, .page_main_ttl .sub_ttl {
  display: block;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.page_main_ttl .main_ttl {
  position: relative;
  margin-bottom: 0.9em;
  padding-bottom: 0.7em;
  font-size: clamp(2.2rem, 3vw, 3.2rem);
}
.page_main_ttl .main_ttl:before {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 240px;
  height: 4px;
  background-color: #000;
}
@media (max-width: 768px) {
  .page_main_ttl .main_ttl:before {
    width: 200px;
    height: 2px;
  }
}
.page_main_ttl .sub_ttl {
  font-size: clamp(1.8rem, 3vw, 2rem);
}

/********************************************/
/* @archivement */
/********************************************/
.top_achievement_block.page_archivement_block .achievement_list {
  display: block;
  width: 100%;
  max-width: 720px;
  margin: 0 auto 60px;
}
@media (max-width: 768px) {
  .top_achievement_block.page_archivement_block .achievement_list {
    margin: 0 auto 40px;
  }
}
.top_achievement_block.page_archivement_block .achievement_list li {
  width: 100%;
  max-width: 100%;
  border-top: none;
}
.top_achievement_block.page_archivement_block .achievement_list li:first-child {
  border-top: 1px solid #999;
}
.top_achievement_block.page_archivement_block .achievement_list li a {
  align-items: center;
}
.top_achievement_block.page_archivement_block .achievement_list li a .ttl {
  margin-bottom: 0.9em;
  font-size: clamp(1.7rem, 3vw, 2.4rem);
}

.page-numbers {
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-numbers li:not(:last-child) {
  margin-right: 10px;
}
.page-numbers li a {
  width: 40px;
  height: 40px;
  font-size: 1.6rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  .page-numbers li a {
    width: 38px;
    height: 38px;
    font-size: 1.5rem;
  }
}
.page-numbers li .current {
  position: relative;
  width: 40px;
  height: 40px;
  font-size: 1.6rem;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .page-numbers li .current {
    width: 38px;
    height: 38px;
    font-size: 1.5rem;
  }
}
.page-numbers li .current:before {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 70%;
  height: 1px;
  background-color: #323232;
}

.page-numbers .prev,
.page-numbers .next {
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.page-numbers .prev:before,
.page-numbers .next:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 11px;
  height: 12px;
  background: #323232;
}
@media (max-width: 768px) {
  .page-numbers .prev:before,
  .page-numbers .next:before {
    width: 9px;
    height: 10px;
  }
}
.page-numbers .prev:before {
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.page-numbers .next:before {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.page-numbers li a:hover {
  opacity: 0.6;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.page-numbers.ver_detail {
  margin-bottom: 10px;
  justify-content: unset;
}
.page-numbers.ver_detail li a {
  width: 100px;
}
@media (max-width: 768px) {
  .page-numbers.ver_detail li a {
    width: 100px;
  }
}
.page-numbers.ver_detail li a.prev {
  padding: 0 0 0 1.5em;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .page-numbers.ver_detail li a.prev {
    width: 80px;
  }
}
.page-numbers.ver_detail li a.prev:before {
  right: auto;
}
.page-numbers.ver_detail li a.next {
  padding: 0 1.5em 0 0;
  align-items: flex-end;
}
@media (max-width: 768px) {
  .page-numbers.ver_detail li a.next {
    width: 80px;
  }
}
.page-numbers.ver_detail li a.next:before {
  left: auto;
}

.post_side_menu {
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 18px 20px;
  background-color: #F0F0F0;
  gap: 0 9%;
}
@media (max-width: 768px) {
  .post_side_menu {
    display: block;
  }
  .post_side_menu .left {
    margin-bottom: 13px;
  }
}
.post_side_menu select {
  display: block;
  padding: 0.3em 2.2em 0.3em 0.2em;
  background: url(../img/common/ico-arrowdown.svg) no-repeat center right 5px/12px;
  font-size: 1.6rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .post_side_menu select {
    background: url(../img/common/ico-arrowdown.svg) no-repeat center right 5px/10px;
    font-size: 1.4rem;
  }
}
.post_side_menu select option {
  font-size: 1.6rem;
}
@media (max-width: 768px) {
  .post_side_menu select option {
    font-size: 1.4rem;
  }
}

.page_archivement_block .detail_ttl_box {
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  margin-bottom: 75px;
}
@media (max-width: 768px) {
  .page_archivement_block .detail_ttl_box {
    display: block;
    margin-bottom: 55px;
  }
}
.page_archivement_block .detail_ttl_box .img {
  width: 38%;
  margin-right: 5%;
}
@media (max-width: 768px) {
  .page_archivement_block .detail_ttl_box .img {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;
    text-align: center;
  }
}
.page_archivement_block .detail_ttl_box .img img {
  width: 70%;
}
.page_archivement_block .detail_ttl_box .txt_box {
  width: 57%;
}
@media (max-width: 768px) {
  .page_archivement_block .detail_ttl_box .txt_box {
    width: 100%;
  }
}

.page_archivement_block .detail_ttl_box .ttl {
  margin-bottom: 0.9em;
  font-size: clamp(1.7rem, 2vw, 3.2rem);
  font-weight: 700;
  line-height: 1.6;
}
.page_archivement_block .detail_ttl_box .area, .page_archivement_block .detail_ttl_box .genre {
  display: block;
  font-size: clamp(1.4rem, 2vw, 1.6rem);
}
.page_archivement_block .detail_ttl_box .area {
  margin-bottom: 0.8em;
}
.page_archivement_block .detail_ttl_box .genre {
  margin-bottom: 2em;
}
.page_archivement_block .detail_ttl_box .date {
  display: block;
  font-size: 1.3rem;
  text-align: right;
}

/********************************************/
/* @info */
/********************************************/
.page_info_block .detail_ttl_box .txt_box {
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  .page_info_block .detail_ttl_box .txt_box {
    margin-bottom: 40px;
  }
}
.page_info_block .detail_ttl_box .ttl {
  margin-bottom: 1.5em;
  font-size: clamp(1.7rem, 2vw, 3.2rem);
  font-weight: 700;
  line-height: 1.6;
}
.page_info_block .detail_ttl_box .date {
  display: block;
  font-size: 1.3rem;
  text-align: right;
}
.page_info_block .detail_ttl_box .img {
  width: 100%;
  margin-bottom: 70px;
}
@media (max-width: 768px) {
  .page_info_block .detail_ttl_box .img {
    margin-bottom: 40px;
  }
}
.page_info_block .detail_ttl_box .img img {
  width: 100%;
}

.page_info_block .info_list {
  width: 100%;
  max-width: 720px;
  margin: 0 auto 60px;
}
@media (max-width: 768px) {
  .page_info_block .info_list {
    margin: 0 auto 40px;
  }
}
.page_info_block .info_list li:first-child a {
  border-top: 1px solid #999;
}
.page_info_block .info_list li a {
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  padding: 30px 0;
  border-bottom: 1px solid #999;
}
.page_info_block .info_list li a .img {
  width: 25%;
  max-width: 200px;
  margin-right: 5%;
}
.page_info_block .info_list li a .txt_box {
  width: 70%;
  flex: 1;
}

.page_info_block .info_list li a .ttl {
  margin-bottom: 0.9em;
  font-size: clamp(1.6rem, 2vw, 1.8rem);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.page_info_block .info_list li a .date {
  font-size: clamp(1.3rem, 2vw, 1.5rem);
}

/********************************************/
/* @post-detail */
/********************************************/
.the_content {
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .the_content {
    margin-bottom: 50px;
  }
}

.the_content h2 {
  margin: 30px 0 20px;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .the_content h2 {
    font-size: 2rem;
  }
}

.the_content h3 {
  position: relative;
  margin: 50px 0 20px;
  padding-left: 20px;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .the_content h3 {
    font-size: 1.8rem;
  }
}
.the_content h3:before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  width: 6px;
  height: 100%;
  background-color: #999;
}
@media (max-width: 768px) {
  .the_content h3:before {
    width: 5px;
  }
}

.the_content h4 {
  margin: 50px 0 20px;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.5;
}

.the_content img {
  width: 100%;
  margin: 30px 0;
}
.the_content p {
  margin: 20px 0;
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .the_content p {
    font-size: 1.4rem;
  }
}

.the_content a, .the_content b, .the_content dd, .the_content dt, .the_content li, .the_content p, .the_content span, .the_content td, .the_content th {
  font-size: 1.6rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .the_content a, .the_content b, .the_content dd, .the_content dt, .the_content li, .the_content p, .the_content span, .the_content td, .the_content th {
    font-size: 1.4rem;
  }
}

.the_content strong {
  font-size: 1.6rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  .the_content strong {
    font-size: 1.4rem;
  }
}
.the_content small {
  font-size: 1.5rem;
  line-height: 2;
}
@media (max-width: 768px) {
  .the_content small {
    font-size: 1.3rem;
  }
}

.the_content a {
  text-decoration: underline;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.the_content a:hover {
  opacity: 0.7;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.the_content ul {
  margin: 30px 0;
}
.the_content ul li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .the_content ul li {
    font-size: 1.4rem;
  }
}
.the_content ul li:before {
  content: "・";
}
.the_content ul li:not(:last-child) {
  margin-bottom: 0.7em;
}

.the_content ol {
  margin: 30px 0;
  counter-reset: item;
  list-style-type: none;
}
.the_content ol li {
  position: relative;
  padding-left: 1.2em;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .the_content ol li {
    font-size: 1.4rem;
  }
}
.the_content ol li:before {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 0px;
  margin: auto;
  content: "";
  counter-increment: item;
  content: counter(item) ".";
}
.the_content ol li:not(:last-child) {
  margin-bottom: 0.7em;
}

.the_content blockquote {
  margin: 30px 0;
  padding: 20px 25px;
  border: 1px solid #999;
  font-size: 1.6rem;
  color: #323232;
  line-height: 2;
}
@media (max-width: 768px) {
  .the_content blockquote {
    padding: 15px 23px;
    font-size: 1.4rem;
  }
}

/********************************************/
/* @privacy */
/********************************************/
.page_privacy_block .page_main_ttl .main_ttl:before {
  width: 8.4em;
}

.page_privacy_block .mb40 {
  margin-bottom: 40px;
}
.page_privacy_block .mb20 {
  margin-bottom: 20px;
}
.page_privacy_block .ttl {
  margin-bottom: 0.5em;
  font-weight: 700;
  line-height: 1.7;
}
.page_privacy_block .list li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1em;
  line-height: 1.8;
}
.page_privacy_block .list li:not(:last-child) {
  margin-bottom: 0.6em;
}
.page_privacy_block .list li:before {
  content: "・";
}

/********************************************/
/* @404ページ */
/********************************************/
.error404_block {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  padding: 120px 0;
}
@media (max-width: 768px) {
  .error404_block {
    padding: 60px 0;
  }
}
.error404_block h2 {
  text-align: center;
  padding-bottom: 20px;
  font-weight: bold;
}
.error404_block p {
  text-align: center;
}
.error404_block .common_btn {
  max-width: 250px;
  margin: 20px auto 0 auto;
}
.error404_block .common_btn a {
  display: block;
  border: 1px solid #ccc;
  padding: 15px;
  text-align: center;
  transition: all 0.3s;
}
.error404_block .common_btn a:hover {
  opacity: 0.7;
}/*# sourceMappingURL=page.css.map */