@charset "UTF-8";
/* Scss Document */
#wrapper {
  padding: 70px 0;
  overflow: hidden;
}
@media only screen and (max-width: 1023.8px) {
  #wrapper {
    padding: 30px 0 40px;
  }
}

/*パンくずリスト*/
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
  list-style: none;
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768.2px) {
  .breadcrumb {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 768px) {
  .breadcrumb {
    font-size: 1.1rem;
  }
}
.breadcrumb li {
  display: flex;
  align-items: center;
  color: #646464;
  font-weight: 500;
}
.breadcrumb li::after {
  content: '>';
  padding: 0 0.4em 0.2em;
}
.breadcrumb li:last-child:after {
  content: '';
}

/* ====================
  Aboutページ
==================== */
#wrapper.page-about {
  padding: 0 0 60px;
}
@media only screen and (max-width: 1023.8px) {
  #wrapper.page-about {
    padding-bottom: 40px;
  }
}

.page-about {
  background-color: #F6F6F9;
}
.page-about .about_ttl {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  background: url("../images/about_ttl_bg.webp") center no-repeat;
  background-size: contain;
  height: 0;
}
@media only screen and (max-width: 1920px) {
  .page-about .about_ttl {
    padding-top: 27.81%;
  }
}
@media print, screen and (min-width: 1920.2px) {
  .page-about .about_ttl {
    height: 534px;
  }
}
.page-about .about_ttl h1 {
  width: 80%;
  max-width: 756px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: flex;
  align-items: center;
}
.page-about .w_section {
  background-color: #fff;
}
.page-about .w_section, .page-about .g_section {
  padding: 70px 0;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .w_section, .page-about .g_section {
    padding: 40px 0;
  }
}
.page-about .gr_section {
  background-image: linear-gradient(0deg, #e4f9eb 90%, #e4f9ff);
  margin-top: -30px;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .gr_section {
    margin-top: -20px;
  }
}
.page-about .bl_section {
  background-image: linear-gradient(0deg, #e4f9ff 90%, #ffffff);
  margin-top: -40px;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .bl_section {
    margin-top: -30px;
  }
}
.page-about section:first-of-type {
  padding: 90px 0;
}
@media only screen and (max-width: 1023.8px) {
  .page-about section:first-of-type {
    padding: 30px 0 40px;
  }
}
.page-about section + section {
  padding: 140px 0 90px;
}
@media only screen and (max-width: 1023.8px) {
  .page-about section + section {
    padding: calc(60px + 30 * (100vw - 375px)/649) 0 30px;
  }
}
.page-about .section_inner {
  width: 90%;
  max-width: 1130px;
  margin-inline: auto;
}
.page-about h2, .page-about h3 {
  font-weight: 900;
  line-height: 1;
  color: #002049;
}
.page-about h2 {
  font-size: 4.0rem;
  text-align: center;
}
@media only screen and (max-width: 1023.8px) {
  .page-about h2 {
    font-size: calc(2.2rem + 18 * (100vw - 375px)/649);
    line-height: 1.4;
  }
}
.page-about h3 {
  font-size: 3.6rem;
}
@media only screen and (max-width: 1023.8px) {
  .page-about h3 {
    font-size: calc(1.8rem + 12 * (100vw - 375px)/649);
    text-align: center;
  }
}
.page-about .text_block {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 2.0;
  text-align: center;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .text_block {
    line-height: 1.8;
    font-size: calc(1.5rem + 7 * (100vw - 375px)/649);
  }
}
@media only screen and (max-width: 767.8px) {
  .page-about .text_block {
    max-width: 500px;
    margin-inline: auto;
    text-align: left;
  }
  .page-about .text_block p br {
    display: none;
  }
}
.page-about .tp_block {
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .tp_block {
    flex-direction: column !important;
  }
}
.page-about .tp_block .text {
  max-width: 568px;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 2.0;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .tp_block .text {
    display: contents;
    margin: 0 auto 20px;
    font-size: calc(1.4rem + 8 * (100vw - 375px)/649);
  }
  .page-about .tp_block .text h3 {
    order: 1;
  }
  .page-about .tp_block .text p {
    order: 3;
    max-width: 485px;
    margin-inline: auto;
  }
}
.page-about .tp_block .photo {
  flex: 1;
}
@media print, screen and (min-width: 1024px) {
  .page-about .tp_block .photo {
    margin-right: 30px;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .page-about .tp_block .photo {
    width: 40%;
    display: flex;
    align-items: center;
  }
}
@media only screen and (max-width: 1023.8px) {
  .page-about .tp_block .photo {
    width: 80%;
    margin: 0 auto 10px;
    max-width: 480px;
    order: 2;
  }
}
.page-about .info_section {
  width: 95%;
  max-width: 1220px;
  background-color: #fff;
  margin-inline: auto;
}
.page-about .info_section .info_title {
  background-color: #002049;
  color: #fff;
  font-size: 3.0rem;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 50px;
}
@media only screen and (max-width: 768px) {
  .page-about .info_section .info_title {
    font-size: calc(1.7rem + 13 * (100vw - 375px)/649);
    padding: 12px 20px;
  }
}
@media only screen and (max-width: 1023.8px) {
  .page-about .info_section .info_title {
    flex-direction: column;
  }
  .page-about .info_section .info_title .fs18 {
    font-size: calc(1.2rem + 6 * (100vw - 375px)/649) !important;
    margin-top: 10px;
  }
}
.page-about .info_section .info_title div {
  width: max-content;
  width: -webkit-max-content;
  text-align: center;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .info_section .info_title div {
    width: 100%;
  }
}
.page-about .info_section .info_title p {
  flex: 1;
  font-weight: 500;
}
@media print, screen and (min-width: 1024px) {
  .page-about .info_section .info_title p {
    margin-left: 60px;
  }
}
.page-about .info_section .content {
  padding: 30px;
}
@media only screen and (max-width: 768px) {
  .page-about .info_section .content {
    padding: 30px 15px;
  }
}
.page-about .info_section .search_content {
  padding: 20px;
}
.page-about .release_title {
  font-weight: 900;
  text-align: center;
  font-size: 4.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  .page-about .release_title {
    font-size: calc(1.8rem + 12 * (100vw - 375px)/393) !important;
  }
}
.page-about .release_title:before {
  content: "";
  width: 83px;
  height: 56px;
  background: url("../images/ico_sakusei.svg") no-repeat;
  background-size: contain;
  display: block;
  margin-right: 10px;
}
@media only screen and (max-width: 768px) {
  .page-about .release_title:before {
    width: calc(42px + 41 * (100vw - 375px)/393);
    height: calc(28px + 28 * (100vw - 375px)/393);
  }
}
.page-about .release_title:after {
  content: "";
  width: 64px;
  height: 54px;
  background: url("../images/ico_toukou.svg") no-repeat;
  background-size: contain;
  display: block;
  margin-left: 30px;
}
@media only screen and (max-width: 768px) {
  .page-about .release_title:after {
    width: calc(32px + 32 * (100vw - 375px)/393);
    height: calc(27px + 27 * (100vw - 375px)/393);
    margin-left: calc(10px + 20 * (100vw - 375px)/393);
  }
}
@media only screen and (max-width: 768px) {
  .page-about .mx_c.fs20 {
    font-size: calc(1.4rem + 6 * (100vw - 375px)/393) !important;
    line-height: 1.8;
  }
}
.page-about .release_btn {
  background-color: #00A0FF;
  color: #fff;
  font-size: 2.0rem;
  text-align: center;
  padding: 8px 20px 10px;
  width: max-content;
  width: -webkit-max-content;
  margin-inline: auto;
  border-radius: 30px;
  display: block;
  font-weight: 700;
  cursor: pointer;
  transition: 0.4s;
}
@media print, screen and (min-width: 1024.2px) {
  .page-about .release_btn:hover {
    opacity: 0.6;
  }
}
@media only screen and (max-width: 768px) {
  .page-about .release_btn {
    max-width: 100% !important;
    font-size: calc(1.4rem + 6 * (100vw - 375px)/393);
  }
}
.page-about .search_block {
  background-color: #F6F6F9;
  padding: 20px;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .search_block {
    padding: calc(15px + 5 * (100vw - 375px)/649);
  }
}
.page-about .search_block .contents {
  padding: 20px 20px 10px 20px;
  background-color: #fff;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .search_block .contents {
    padding: 15px 15px 5px 15px;
  }
}
.page-about .search_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 940px;
  margin: 0 auto 20px;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .search_title {
    flex-direction: column;
  }
}
.page-about .search_title .name {
  font-weight: 900;
  font-size: 3.8rem;
  width: 292px;
  color: #002049;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .search_title .name {
    font-size: calc(1.8rem + 20 * (100vw - 375px)/649);
    text-align: center;
    margin-bottom: 10px;
    width: 100%;
  }
}
.page-about .search_title .text {
  font-weight: 700;
  flex: 1;
  font-size: 2.2rem;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .search_title .text {
    font-size: calc(1.2rem + 10 * (100vw - 375px)/649);
  }
}
.page-about .category_list {
  font-size: 1.8rem;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: 500;
  max-width: 833px;
  width: 100%;
  margin-inline: auto;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .category_list {
    font-size: calc(1.2rem + 6 * (100vw - 375px)/649);
  }
}
.page-about .category_list li {
  margin-right: 25px;
  margin-bottom: 10px;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .category_list li {
    margin-inline: 10px;
  }
}
.page-about .tag_list {
  font-size: 1.8rem;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: 500;
  max-width: 833px;
  width: 100%;
  margin-inline: auto;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .tag_list {
    justify-content: flex-start;
    font-size: calc(1.2rem + 6 * (100vw - 375px)/649);
  }
}
.page-about .tag_list li {
  margin-right: 15px;
  margin-bottom: 10px;
}

/* Aboutページ内　検索フォーム */
.page-about .searchform {
  width: 745px;
  padding: 0;
  background: #fff;
  border: solid 2px #E1E3E1;
  border-radius: 6px;
  display: flex;
  margin-inline: auto;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .searchform {
    width: 100%;
    border: solid 1px #E1E3E1;
  }
}
.page-about .searchform input {
  -webkit-appearance: none;
  outline: none;
  cursor: pointer;
  color: #111;
}
.page-about .searchform input[type="text"] {
  flex: 1;
  border: none;
  transition: all 0.5s;
  padding: 10px 8px 12px 20px;
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  .page-about .searchform input[type="text"] {
    font-size: 2.0rem;
    font-weight: 500;
  }
}
@media only screen and (max-width: 1023.8px) {
  .page-about .searchform input[type="text"] {
    padding: 6px 8px 8px 12px;
    font-size: calc(1.4rem + 6 * (100vw - 375px)/649);
  }
}
.page-about .searchform input[type="text"]::placeholder {
  color: #E1E3E1;
  line-height: 1;
}
.page-about .searchform input[type="submit"] {
  background: url("../images/ico_search_w.svg") no-repeat center, #00A0FF;
  background-size: 26px 26px,auto;
  width: 54px;
  border: none;
  border-radius: 0 6px 6px 0;
}
@media only screen and (max-width: 1023.8px) {
  .page-about .searchform input[type="submit"] {
    width: calc(30px + 24 * (100vw - 375px)/649);
    background-size: 14px 14px,auto;
  }
}

#page-title {
  font-size: 3.6rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 768.2px) {
  #page-title {
    font-size: calc(2.3rem + 13 * (100vw - 375px)/393);
  }
}

#page-subtitle {
  font-size: 1.8rem;
  font-weight: 700;
  color: #91D6FF;
  text-align: center;
}
@media only screen and (max-width: 768.2px) {
  #page-subtitle {
    font-size: calc(1.4rem + 4 * (100vw - 375px)/393);
  }
}

/* ====================
  フォーム
==================== */
.page-form {
  background-color: #F6F6F9;
}
.page-form main {
  width: 80%;
  max-width: 440px;
  margin-inline: auto;
}

#form {
  margin-bottom: 50px;
}
#form .fieldset {
  font-size: 1.8rem;
  font-weight: 500;
  position: relative;
  margin-bottom: 30px;
}
@media only screen and (max-width: 768px) {
  #form .fieldset {
    font-size: calc(1.4rem + 4 * (100vw - 375px)/393);
  }
}
@media print, screen and (min-width: 768px) {
  #form .fieldset .flex_field {
    display: flex;
    justify-content: space-between;
  }
  #form .fieldset .flex_field input[type="text"] {
    width: 48%;
  }
}
@media only screen and (max-width: 767.8px) {
  #form .fieldset .flex_field input[type="text"] {
    width: 70%;
  }
  #form .fieldset .flex_field input[type="text"] + input[type="text"] {
    margin-top: 5px;
  }
}
#form .fieldset .label {
  font-size: 2.4rem;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 5px;
}
@media only screen and (max-width: 768px) {
  #form .fieldset .label {
    font-size: calc(1.6rem + 8 * (100vw - 375px)/393);
  }
}
#form .fieldset .hidden {
  overflow: hidden;
  height: 1px;
  width: 1px;
  position: absolute;
}
#form .fieldset .required {
  display: inline-block;
  font-size: 1.6rem;
  color: #fff;
  background-color: #FF5663;
  padding: 3px 4px 5px;
  margin-left: 10px;
  border-radius: 3px;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  #form .fieldset .required {
    font-size: calc(1.1rem + 5 * (100vw - 375px)/393);
  }
}
#form .fieldset p {
  color: #999;
}
@media only screen and (max-width: 768px) {
  #form .fieldset p {
    font-size: calc(1.2rem + 6 * (100vw - 375px)/393);
  }
}
#form .fieldset .limit {
  font-size: 1.8rem;
  padding-left: 10px;
  color: #999;
  font-weight: 500;
}
@media only screen and (max-width: 768px) {
  #form .fieldset .limit {
    font-size: calc(1.2rem + 6 * (100vw - 375px)/393);
  }
}
#form .fieldset br + .limit {
  padding-left: 0;
}
#form .fieldset input[type="text"], #form .fieldset input[type="email"], #form .fieldset textarea {
  background-color: #fff;
  padding: 10px 15px 12px;
  width: 100%;
  border-radius: 6px;
}
@media only screen and (max-width: 768px) {
  #form .fieldset input[type="text"], #form .fieldset input[type="email"], #form .fieldset textarea {
    padding: 8px 15px 10px;
  }
}
#form .fieldset input[type="text"]::placeholder, #form .fieldset input[type="email"]::placeholder, #form .fieldset textarea::placeholder {
  color: #999;
  line-height: 1;
}
@media only screen and (max-width: 768px) {
  #form .fieldset input[type="text"]::placeholder, #form .fieldset input[type="email"]::placeholder, #form .fieldset textarea::placeholder {
    color: #B3B3B3;
  }
}
#form input[type="submit"] {
  background-color: #00A0FF;
  color: #fff;
  font-size: 2.0rem;
  text-align: center;
  padding: 8px 15px 10px;
  width: 85%;
  max-width: 360px;
  margin-inline: auto;
  border-radius: 30px;
  display: block;
  font-weight: 700;
  cursor: pointer;
  transition: 0.4s;
}
@media only screen and (max-width: 768px) {
  #form input[type="submit"] {
    font-size: calc(1.7rem + 3 * (100vw - 375px)/393);
  }
}
@media print, screen and (min-width: 1024.2px) {
  #form input[type="submit"]:hover {
    opacity: 0.6;
  }
}
#form .reset_btn {
  background-color: #DADADA;
  font-size: 2.0rem;
  text-align: center;
  padding: 8px 15px 10px;
  width: 85%;
  max-width: 360px;
  margin-inline: auto;
  border-radius: 30px;
  display: block;
  font-weight: 700;
  cursor: pointer;
  transition: 0.4s;
}
@media only screen and (max-width: 768px) {
  #form .reset_btn {
    font-size: calc(1.7rem + 3 * (100vw - 375px)/393);
  }
}
@media print, screen and (min-width: 1024.2px) {
  #form .reset_btn:hover {
    background-color: #969696;
    color: #fff;
  }
}
#form .reset_btn + .check_btn {
  margin-top: 20px;
}
#form .check_btn {
  cursor: pointer;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1;
  border-radius: 30px;
  padding: 12px 25px 15px;
  text-decoration: none;
  display: block;
  width: 85%;
  max-width: 360px;
  margin-inline: auto;
  color: #fff;
  background-color: #002049;
  position: relative;
  transition: all .3s;
}
@media only screen and (max-width: 768px) {
  #form .check_btn {
    font-size: 1.7rem;
    padding: 12px 35px 15px;
  }
}
#form .check_btn span {
  display: flex;
  align-items: center;
  justify-content: center;
}
#form .check_btn span::after {
  content: "";
  display: block;
  width: 8px;
  height: 14px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 18'%3E%3Cpath fill='%23ffffff' d='M9.5,10.2l-7.1,7.6c-0.3,0.3-0.8,0.3-1.1,0c0,0,0,0,0,0l-1.1-1.1c-0.3-0.3-0.3-0.8,0-1.1	l5.4-5.9c0.3-0.3,0.3-0.8,0-1.1L0.2,2.5c-0.3-0.3-0.3-0.8,0-1.1l1.1-1.1c0.3-0.3,0.8-0.3,1.1,0c0,0,0,0,0,0l7.1,7.6	C10.2,8.5,10.2,9.5,9.5,10.2z'/%3E%3C/svg%3E") 50% 50%/100% 100% no-repeat;
  background-size: contain;
  margin-left: 15px;
  transition: all .3s;
}
@media print, screen and (min-width: 1024.2px) {
  #form .check_btn:hover {
    opacity: 1;
    color: #fff;
    background-color: #00A0FF;
  }
  #form .check_btn:hover span::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 18'%3E%3Cpath fill='%23fff' d='M9.5,10.2l-7.1,7.6c-0.3,0.3-0.8,0.3-1.1,0c0,0,0,0,0,0l-1.1-1.1c-0.3-0.3-0.3-0.8,0-1.1	l5.4-5.9c0.3-0.3,0.3-0.8,0-1.1L0.2,2.5c-0.3-0.3-0.3-0.8,0-1.1l1.1-1.1c0.3-0.3,0.8-0.3,1.1,0c0,0,0,0,0,0l7.1,7.6	C10.2,8.5,10.2,9.5,9.5,10.2z'/%3E%3C/svg%3E") 50% 50%/100% 100% no-repeat;
  }
}
#form .policy_area {
  width: 100vw;
  margin: 30px calc(50% - 50vw);
}
#form .policy_area .title {
  font-weight: 700;
  text-align: center;
  font-size: 2.2rem;
  margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
  #form .policy_area .title {
    font-size: calc(1.6rem + 6 * (100vw - 375px)/393);
    margin-bottom: 10px;
  }
}
#form .policy_area .text_box {
  border: solid 1px #D5DBDB;
  background-color: #fff;
  padding: 30px 40px;
  width: 90%;
  max-width: 800px;
  margin: 0 auto 20px;
  font-size: 1.7rem;
}
@media only screen and (max-width: 768px) {
  #form .policy_area .text_box {
    padding: 20px;
    font-size: calc(1.2rem + 5 * (100vw - 375px)/393);
  }
}
#form .policy_area .text_box ol {
  list-style: decimal;
  list-style-position: inside;
}
#form .policy_area .text_box ol li {
  font-weight: 500;
  padding-left: 1.0em;
  text-indent: -1.0em;
}
#form .policy_area .text_box ol li + li {
  margin-top: 30px;
}
@media only screen and (max-width: 768px) {
  #form .policy_area .text_box ol li + li {
    margin-top: 20px;
  }
}
#form .policy_area .comment {
  text-align: center;
  font-size: 1.7rem;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  #form .policy_area .comment {
    font-size: 1.4rem;
  }
}

/* ====================
  資料ダウンロード
==================== */
.c_comment {
  width: 90%;
  max-width: 720px;
  margin: 0 auto 80px;
  font-size: 2.0rem;
  font-weight: 500;
  line-height: 1.8;
}
@media print, screen and (min-width: 1024px) {
  .c_comment {
    text-align: center;
  }
}
@media only screen and (max-width: 768.2px) {
  .c_comment {
    margin: 0 auto 40px;
    font-size: calc(1.4rem + 6 * (100vw - 375px)/393);
  }
}

.download_list {
  list-style: none;
  display: flex;
  width: 95%;
  max-width: 1060px;
  margin: 0 auto 40px;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 1024px) {
  .download_list::after {
    content: "";
    display: block;
    width: 32%;
    max-width: 316px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.8px) {
  .download_list::after {
    content: "";
    display: block;
    width: 46%;
    max-width: 400px;
  }
}
@media only screen and (max-width: 1023.8px) {
  .download_list {
    justify-content: space-evenly;
    margin: 0 auto 30px;
  }
}
.download_list li {
  width: 32%;
  max-width: 316px;
}
@media print, screen and (min-width: 1024px) {
  .download_list li:nth-of-type(n+4) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023.8px) {
  .download_list li {
    justify-content: space-evenly;
    max-width: 400px;
    width: 46%;
  }
  .download_list li:nth-of-type(n+3) {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767.8px) {
  .download_list li {
    width: 100%;
    max-width: 370px;
  }
  .download_list li + li {
    margin-top: 40px;
  }
}
.download_list li .thumb {
  width: 100%;
  background-color: #D2EEFF;
  position: relative;
  overflow: hidden;
  border: solid 15px #F6F6F9;
  margin-bottom: 10px;
}
.download_list li .thumb figure {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
}
.download_list li .thumb figure > img {
  object-fit: contain;
  height: 100%;
  margin-inline: auto;
}
@media print, screen and (min-width: 1024.2px) {
  .download_list li .thumb figure > img {
    transition: transform .6s ease;
  }
}
.download_list li .file_name {
  font-size: 2.0rem;
  font-weight: 700;
  padding-bottom: 5px;
  margin-bottom: 10px;
  text-align: center;
  border-bottom: solid 1px #00A0FF;
}
.download_list li .file_comment {
  width: 90%;
  margin: 0 auto 20px;
  font-weight: 700;
}
@media only screen and (max-width: 768px) {
  .download_list li .file_comment {
    font-size: calc(1.4rem + 2 * (100vw - 375px)/393);
  }
}
.download_list li .file_comment a {
  color: #00A0FF;
  text-decoration: underline;
}
@media print, screen and (min-width: 1024.2px) {
  .download_list li .file_comment a:hover {
    text-decoration: none;
  }
}
.download_list li .dowonload_link {
  display: block;
  width: 90%;
  margin-inline: auto;
  background-color: #00A0FF;
  font-size: 2.0rem;
  color: #fff;
  padding: 10px 20px;
  border-radius: 30px;
  font-weight: 700;
  transition: 0.4s;
}
@media print, screen and (min-width: 1024.2px) {
  .download_list li .dowonload_link:hover {
    opacity: 0.6;
  }
}
.download_list li .dowonload_link span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.download_list li .dowonload_link span:before {
  content: "";
  width: 24px;
  height: 33px;
  background: url("../images/ico_pdf.svg") no-repeat;
  background-size: contain;
  display: block;
  margin-right: 12px;
}
@media only screen and (max-width: 768.2px) {
  .download_list li .dowonload_link {
    font-size: calc(1.7rem + 3 * (100vw - 375px)/393);
  }
}

.more_btn {
  cursor: pointer;
  font-size: 2.2rem;
  color: #999;
  width: 110px;
  height: 28px;
  display: flex;
  align-items: center;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-inline: auto;
  position: relative;
  padding-bottom: 4px;
  transition: 0.4s;
}
@media only screen and (max-width: 768px) {
  .more_btn {
    width: 95px;
    font-size: 1.7rem;
  }
}
.more_btn:before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 28px;
  height: 28px;
  border: solid 1px #999;
  border-radius: 14px;
}
.more_btn:after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  top: 0;
  bottom: 0;
  right: 9px;
  margin: auto;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath fill='%23999' d='M15.52,6.9H4.94l4.32-4.3c.58-.58.6-1.54.03-2.14-.57-.6-1.51-.61-2.09-.03L.45,7.16c-.58.58-.6,1.53-.04,2.13l6.75,7.25c.29.31.68.47,1.07.47.37,0,.73-.14,1.02-.42.59-.58.61-1.53.05-2.14l-4.21-4.52h10.43c.82,0,1.48-.68,1.48-1.51s-.66-1.51-1.48-1.51Z'/%3E%3C/svg%3E") 50% 50%/100% 100% no-repeat;
  transform: rotate(-90deg);
}
@media print, screen and (min-width: 1024.2px) {
  .more_btn:hover {
    opacity: 0.6;
  }
}

.page-form #contact {
  padding-bottom: 50px;
  background-color: #fff;
}

#wrapper > #contact {
  margin-bottom: -70px;
}
@media only screen and (max-width: 1023.8px) {
  #wrapper > #contact {
    margin-bottom: -40px;
  }
}

#contact {
  padding: 60px 20px 0;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
}
@media only screen and (max-width: 1023.8px) {
  #contact {
    padding-top: 40px;
  }
}
@media only screen and (max-width: 768.2px) {
  #contact {
    font-size: calc(1.6rem + 6 * (100vw - 375px)/393);
  }
}
