@charset "UTF-8";
/* noto-sans-jp-regular - latin_japanese */
@import url("https://fonts.googleapis.com/css2?family=Architects+Daughter&display=swap");
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../fonts/noto-sans-jp-v28-latin_japanese-regular.woff2") format("woff2");
}
/* noto-sans-jp-700 - latin_japanese */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: local(""), url("../fonts/noto-sans-jp-v28-latin_japanese-700.woff2") format("woff2");
}
/* noto-serif-jp-500 - latin_japanese */
@font-face {
  font-display: swap;
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 500;
  src: local(""), url("../fonts/noto-serif-jp-v8-latin_japanese-500.woff2") format("woff2");
}
/* architects-daughter-regular - latin */
/***
文字を縦書きにする。
$angleには180degか0を渡す。
180degだと反時計回りに90度回転したような表示になり、
0degだと時計回りに90度回転したような表示になる。
***/
/***
画像などを正方形にしたいときに使用する。
figcaptionは上下左右中央に配置される。
***/
* {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body {
  font-size: calc(14px + (1vw - 3.75px) * 0.4036);
  color: rgb(51, 51, 51);
}

p {
  font-weight: 400;
  padding: 2% 0;
}

a {
  text-decoration: none;
}

article {
  margin-bottom: 16vh;
}

section {
  margin: 8% 0;
}

@media screen and (min-width: 1024px) {
  section {
    margin: 4% 0;
  }
}
section:first-of-type {
  margin: 0;
}

img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

aside nav {
  position: absolute;
  width: calc(4 * calc(14px + (1vw - 3.75px) * 0.4036));
  height: calc(4 * calc(14px + (1vw - 3.75px) * 0.4036));
  border-radius: 50%;
  border: 1px solid rgb(51, 51, 51);
  background-color: rgb(255, 255, 255);
  right: 5%;
  bottom: 2vh;
  z-index: 100;
  box-shadow: 1px 2px 3px rgb(51, 51, 51);
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  flex-direction: row;
}
@media screen and (min-width: 1024px) {
  aside nav {
    position: sticky;
    height: calc(100vh - calc(4 * calc(14px + (1vw - 3.75px) * 0.4036)) - 8vh);
    bottom: unset;
    right: unset;
    left: unset;
    top: calc(4 * calc(14px + (1vw - 3.75px) * 0.4036));
    padding: 0 0 1em 0;
    border-radius: unset;
    border: unset;
    box-shadow: none;
    flex-direction: column;
    background-color: none;
    justify-content: space-between;
    align-content: center;
  }
}
aside nav h2 {
  display: none;
}
@media screen and (min-width: 1024px) {
  aside nav h2 {
    flex-grow: 1;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-direction: column;
  }
  aside nav h2 span {
    transform: rotateZ(180deg);
    writing-mode: vertical-lr;
  }
  aside nav h2 span a {
    font-family: "Architects Daughter", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    color: rgb(51, 51, 51);
  }
}
aside nav .contact {
  position: sticky;
}
aside nav .contact .contact_text {
  display: none;
  color: rgb(51, 51, 51);
}
aside nav .contact .contact_icon {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  flex-direction: row;
}
aside nav .contact .contact_icon a {
  width: 2em;
  height: 2em;
  color: rgb(51, 51, 51);
}
aside nav .contact .contact_icon a > * {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1024px) {
  aside nav .contact {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    justify-content: space-between;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    flex-direction: column;
  }
  aside nav .contact .contact_text {
    display: block;
    font-size: calc(0.75 * calc(14px + (1vw - 3.75px) * 0.4036));
  }
}

.parts004 p {
  width: 100%;
  background-color: rgb(51, 51, 51);
  text-align: center;
  padding: 0;
  height: 100%;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  flex-direction: row;
  color: rgb(255, 255, 255);
  cursor: pointer;
}
.parts004 p .span-name {
  padding: 0 0.5em;
}

@media screen and (min-width: 640px) {
  div .app_icon {
    width: 70%;
    max-width: 380px;
  }
  div .footer_nav {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    justify-content: space-between;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    align-items: normal;
    -webkit-box-align: normal;
    -ms-flex-align: normal;
    flex-direction: row;
  }
  div .footer_nav ul {
    text-align: left;
  }
  div hr {
    width: 100%;
  }
}
.parts034 {
  display: inline-block;
  vertical-align: top;
  margin: 1em 0 2em;
}
.parts034 figure {
  text-align: center;
  height: 94px;
  width: 100px;
}
.parts034 figure img {
  object-fit: contain;
}
.parts034 figcaption {
  font-size: 10px;
  text-align: center;
  line-height: 1.6em;
}

.hg {
  display: block !important;
  min-height: 100vh;
  width: 100%;
  position: relative;
  grid-template-areas: "header" "main" "aside" "pagetop" "footer";
  grid-template-columns: 1fr;
  grid-template-rows: 0 1fr auto 8vh auto;
}
@media screen and (min-width: 1024px) {
  .hg {
    grid-template-areas: "header header" "aside main" "pagetop pagetop" "footer footer";
    grid-template-columns: calc(4 * calc(14px + (1vw - 3.75px) * 0.4036)) 1fr;
    grid-template-rows: calc(4 * calc(14px + (1vw - 3.75px) * 0.4036)) 1fr 8vh auto;
  }
}
.hg header {
  grid-area: header;
  height: 80px;
}
@media screen and (min-width: 768px) {
  .hg header {
    height: 160px;
  }
}
.hg main {
  grid-area: main;
}
.hg .page_top {
  grid-area: pagetop;
}
.hg footer {
  grid-area: footer;
}
.hg main {
  position: relative;
  width: 100%;
}
.hg aside {
  position: sticky;
  bottom: 8vh;
  z-index: 1000;
}
.hg .page_top {
  z-index: 1000;
}
@media screen and (min-width: 1024px) {
  .hg aside {
    grid-area: aside;
  }
  .hg header {
    position: unset;
    height: 180px;
    width: 100%;
    z-index: 1100;
  }
  .hg aside {
    position: relative;
    width: calc(4 * calc(14px + (1vw - 3.75px) * 0.4036));
    height: 100%;
    bottom: 0;
    z-index: 100;
  }
}

.main-container-wrapper {
  width: 100%;
  margin: auto;
  box-sizing: border-box;
  border-left: none;
  border-right: none;
}
@media screen and (min-width: 768px) {
  .main-container-wrapper {
    width: 90%;
    margin: auto;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 1024px) {
  .main-container-wrapper {
    width: 1000px;
  }
}

.main-container {
  display: block;
  margin: auto;
  width: 98%;
  margin-bottom: 70px;
}
@media screen and (min-width: 768px) {
  .main-container {
    margin-bottom: 85px;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .main-container {
    margin-bottom: 100px;
  }
}

#front-page .slider-wrapper {
  display: flex;
  justify-content: center;
}
#front-page .slider-wrapper .slider-content .metaslider div.flexslider {
  margin: 0 0 10px;
}
@media screen and (min-width: 768px) {
  #front-page .slider-wrapper .slider-content .metaslider div.flexslider {
    margin: 0 0 20px;
  }
}
#front-page .slider-wrapper .slider-content .metaslider div.flexslider ul.slides li.ms-image a img {
  width: 100%;
  object-fit: fill;
  min-height: 210px;
}
@media screen and (min-width: 480px) {
  #front-page .slider-wrapper .slider-content .metaslider div.flexslider ul.slides li.ms-image a img {
    min-height: none;
  }
}
@media screen and (min-width: 768px) {
  #front-page .slider-wrapper .slider-content .metaslider div.flexslider ul.slides li.ms-image a img {
    object-fit: cover;
    height: auto;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .slider-wrapper .slider-content .metaslider div.flexslider ul.slides li.ms-image a img {
    width: 1000px;
    height: 500px;
  }
}
#front-page .slider-wrapper .slider-content .metaslider ol.flex-control-nav {
  position: static;
  margin: 20px 0 0 0;
}
@media screen and (min-width: 768px) {
  #front-page .slider-wrapper .slider-content .metaslider ol.flex-control-nav {
    margin: 30px 0 0 0;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .slider-wrapper .slider-content .metaslider ol.flex-control-nav {
    margin: 30px 0 30px 0;
  }
}
@media screen and (min-width: 768px) {
  #front-page .slider-wrapper .slider-content {
    width: 90%;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .slider-wrapper .slider-content {
    width: 1000px;
  }
}
#front-page .flex-direction-nav a {
  width: 0;
  height: 0;
  transition: unset;
  text-shadow: none;
  background-color: #fff;
  color: #fff;
  overflow: inherit;
}
#front-page a.flex-next {
  right: 10px;
}
#front-page a.flex-next::after {
  content: "";
  width: 25px;
  height: 25px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 10px;
}
@media screen and (min-width: 768px) {
  #front-page a.flex-next::after {
    width: 35px;
    height: 35px;
  }
}
#front-page a.flex-prev {
  left: 10px;
}
#front-page a.flex-prev::after {
  content: "";
  width: 25px;
  height: 25px;
  border-top: 5px solid #fff;
  border-right: 5px solid #fff;
  transform: rotate(225deg);
  position: absolute;
  left: 10px;
}
@media screen and (min-width: 768px) {
  #front-page a.flex-prev::after {
    width: 35px;
    height: 35px;
  }
}
#front-page h3 {
  font-weight: 100;
  color: #333;
  font-size: 15px;
}
#front-page .sub-content {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content {
    display: flex;
    flex-direction: row;
  }
}
#front-page .sub-content ul.wrapper {
  width: 100%;
  padding: 15px;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content ul.wrapper {
    width: 70%;
    padding: 0;
  }
}
#front-page .sub-content ul.wrapper .news-title {
  display: flex;
  margin-bottom: 10px;
}
#front-page .sub-content ul.wrapper .news-title h2 {
  width: 120px;
  font-size: 22px;
  font-weight: 500;
  padding: 0;
  color: #1882C5;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content ul.wrapper .news-title h2 {
    width: 110px;
  }
}
#front-page .sub-content ul.wrapper .news-title span.type-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content ul.wrapper .news-title span.type-pc {
    display: block;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  #front-page .sub-content ul.wrapper .news-title span.type-pc a {
    font-size: 14px;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  #front-page .sub-content ul.wrapper .news-title span.type-pc a::after {
    content: "";
    width: 15px;
    height: 15px;
    border-top: 2px solid #1882C5;
    border-right: 2px solid #1882C5;
    transform: rotate(45deg);
  }
  #front-page .sub-content ul.wrapper .news-title span.type-pc a:hover {
    text-decoration: underline;
    opacity: 0.7;
  }
}
#front-page .sub-content ul.wrapper .btn-sp {
  display: flex;
  justify-content: center;
}
#front-page .sub-content ul.wrapper .btn-sp span.type-sp {
  display: flex;
  justify-content: center;
  background-color: #0068B1;
  border-radius: 50px;
  margin-top: 20px;
  height: 45px;
  width: 280px;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content ul.wrapper .btn-sp span.type-sp {
    display: none;
  }
}
#front-page .sub-content ul.wrapper .btn-sp span.type-sp a {
  color: #fff;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  justify-content: center;
}
#front-page .sub-content ul.wrapper li.inner {
  list-style-type: none;
  width: auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  padding: 10px 0;
  border-bottom: 0.5px solid #0068B1;
}
#front-page .sub-content ul.wrapper li.inner a.contents, #front-page .sub-content ul.wrapper li.inner a.contents-news {
  color: #333;
  display: flex;
  flex-direction: column;
  background-image: url(../images/update-icon.png);
}
@media screen and (min-width: 768px) {
  #front-page .sub-content ul.wrapper li.inner a.contents, #front-page .sub-content ul.wrapper li.inner a.contents-news {
    flex-direction: initial;
  }
}
#front-page .sub-content ul.wrapper li.inner a.contents:hover, #front-page .sub-content ul.wrapper li.inner a.contents-news:hover {
  opacity: 0.7;
}
#front-page .sub-content ul.wrapper li.inner a.contents:hover h3, #front-page .sub-content ul.wrapper li.inner a.contents-news:hover h3 {
  text-decoration: underline;
}
#front-page .sub-content ul.wrapper li.inner a.contents .contents_inner, #front-page .sub-content ul.wrapper li.inner a.contents-news .contents_inner {
  margin-left: 25px;
}
#front-page .sub-content ul.wrapper li.inner a.contents .date, #front-page .sub-content ul.wrapper li.inner a.contents-news .date {
  font-size: 15px;
  margin-right: 25px;
}
#front-page .sub-content ul.wrapper li.inner a.contents-news {
  background-image: url(../images/news-icon.png);
}
#front-page .sub-content .type-sp {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .type-sp {
    display: none;
  }
}
#front-page .sub-content .type-sp .member {
  width: 90%;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member {
    width: fit-content;
  }
}
#front-page .sub-content .type-sp .member .wpmem_msg {
  background-color: #fff;
  color: red;
  border: none;
  padding: 0;
  margin: 0;
}
#front-page .sub-content .type-sp .member #wpmem_login {
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}
#front-page .sub-content .type-sp .member form {
  background-color: #faf8ee;
  height: auto;
  padding-top: 0;
  border: solid 1px #002a47;
  border-radius: 10px;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member form {
    width: 400px;
  }
}
#front-page .sub-content .type-sp .member h3 {
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 500;
  background-color: #0068B1;
  color: #fff;
  text-align: center;
  border-radius: 8px;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member h3 {
    width: 100%;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 500;
  }
}
#front-page .sub-content .type-sp .member .login-wrapper {
  display: none;
  padding: 10px;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content .type-sp .member .login-wrapper {
    margin-top: 10px;
    padding: 15px;
    padding-bottom: 0;
  }
}
#front-page .sub-content .type-sp .member .login-wrapper .text_form {
  display: flex;
  justify-content: space-between;
  margin: auto;
  width: 93%;
}
#front-page .sub-content .type-sp .member .login-wrapper .text_form label {
  font-size: 13px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member .login-wrapper .text_form label {
    font-size: 15px;
  }
}
#front-page .sub-content .type-sp .member .login-wrapper .text_form .div_text {
  width: 180px;
  margin: 7px 0 7px 0;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member .login-wrapper .text_form .div_text {
    width: 250px;
  }
}
#front-page .sub-content .type-sp .member .login-wrapper .text_form .div_text Input {
  padding: 1px 3px 1px;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member .login-wrapper .text_form .div_text Input {
    padding: 3px 5px 3px;
  }
}
#front-page .sub-content .type-sp .member .login-wrapper .button_div {
  margin-bottom: 17px;
  margin-top: 12px;
  padding: 0;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member .login-wrapper .button_div {
    margin-bottom: 18px;
    margin-top: 12px;
  }
}
#front-page .sub-content .type-sp .member .login-wrapper .button_div input {
  width: 100px;
  height: 30px;
  font-size: smaller;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member .login-wrapper .button_div input {
    width: 130px;
    height: 36px;
    font-size: medium;
  }
}
#front-page .sub-content .type-sp .member-login {
  width: 90%;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member-login {
    width: fit-content;
  }
}
#front-page .sub-content .type-sp .member-login form {
  background-color: #faf8ee;
  height: auto;
  padding-top: 0;
  border: solid 1px #002a47;
  border-radius: 10px;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member-login form {
    width: 400px;
  }
}
#front-page .sub-content .type-sp .member-login h3 {
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 500;
  background-color: #0068B1;
  color: #fff;
  text-align: center;
  border-radius: 8px;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member-login h3 {
    width: 100%;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 500;
  }
}
#front-page .sub-content .type-sp .member-login .login-wrapper {
  display: none;
  padding: 10px;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content .type-sp .member-login .login-wrapper {
    margin-top: 10px;
    padding: 15px;
    padding-bottom: 0;
  }
}
#front-page .sub-content .type-sp .member-login .login-wrapper .text_form {
  display: flex;
  justify-content: space-between;
  margin: auto;
  width: 93%;
}
#front-page .sub-content .type-sp .member-login .login-wrapper .text_form label {
  font-size: 13px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member-login .login-wrapper .text_form label {
    font-size: 15px;
  }
}
#front-page .sub-content .type-sp .member-login .login-wrapper .text_form .div_text {
  width: 180px;
  margin: 7px 0 7px 0;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member-login .login-wrapper .text_form .div_text {
    width: 250px;
  }
}
#front-page .sub-content .type-sp .member-login .login-wrapper .text_form .div_text Input {
  width: 180px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  padding: 1px 3px 1px;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member-login .login-wrapper .text_form .div_text Input {
    width: 250px;
    padding: 3px 5px 3px;
  }
}
#front-page .sub-content .type-sp .member-login .login-wrapper .button_div {
  font-size: 16px;
  display: flex;
  justify-content: center;
  margin-top: 15px;
  margin-bottom: 15px;
  margin-bottom: 17px;
  margin-top: 12px;
  padding: 0;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member-login .login-wrapper .button_div {
    margin-bottom: 18px;
    margin-top: 12px;
  }
}
#front-page .sub-content .type-sp .member-login .login-wrapper .button_div a {
  background-color: #0068B1;
  color: #fff;
  border-radius: 4px;
  width: 100px;
  height: 30px;
  font-size: smaller;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 480px) {
  #front-page .sub-content .type-sp .member-login .login-wrapper .button_div a {
    width: 130px;
    height: 36px;
    font-size: medium;
  }
}
#front-page .sub-content input[type=checkbox] {
  display: none;
}
#front-page .sub-content .member input:checked ~ .login-wrapper {
  height: auto;
  opacity: 1;
  width: 345px;
}
#front-page .sub-content .member .switch {
  position: relative;
  display: block;
  background-color: #0068B1;
  font-weight: bold;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
#front-page .sub-content .type-pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .type-pc {
    display: contents;
  }
}
#front-page .sub-content .type-pc .member {
  justify-content: center;
}
#front-page .sub-content .type-pc .member form {
  background-color: #faf8ee;
  width: 260px;
  height: 240px;
}
#front-page .sub-content .type-pc .member .wpmem_msg {
  text-align: right;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  color: red;
  font-size: 16px;
  white-space: nowrap;
}
#front-page .sub-content .type-pc .member fieldset {
  margin: 0;
}
#front-page .sub-content .type-pc .member fieldset h3 {
  font-size: 18px;
  height: 43px;
  width: 345px;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background-color: #0068B1;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .type-pc .member fieldset h3 {
    height: 35px;
    width: 258px;
    border-radius: 9px 9px 50% 50%;
    margin-bottom: 10px;
  }
}
#front-page .sub-content .type-pc .member fieldset .login-wrapper {
  margin-top: 0;
  margin-bottom: 0;
  padding: 5px;
}
#front-page .sub-content .type-pc .member fieldset label {
  position: absolute;
  margin-top: 10px;
  margin-left: 5px;
}
#front-page .sub-content .type-pc .member fieldset div.div_text {
  margin: 10px 7px 10px auto;
  width: 145px;
}
#front-page .sub-content .type-pc .member fieldset div.div_text input {
  border: 2px solid rgba(0, 0, 0, 0.1);
}
#front-page .sub-content .type-pc .member fieldset .button_div input {
  height: 36px;
}
#front-page .sub-content .type-pc .member-login {
  width: 345px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #2b2b2b;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .type-pc .member-login {
    width: 30%;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: unset;
    background-color: transparent;
    flex-wrap: wrap;
    align-content: flex-start;
  }
}
#front-page .sub-content .type-pc .member-login form {
  background-color: #faf8ee;
  width: 260px;
  height: 240px;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .type-pc .member-login form {
    border: solid 1px #333;
    border-radius: 10px;
    padding: 0;
  }
}
#front-page .sub-content .type-pc .member-login h3 {
  font-size: 18px;
  height: 43px;
  width: 345px;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background-color: #0068B1;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .type-pc .member-login h3 {
    height: 35px;
    width: 258px;
    border-radius: 9px 9px 50% 50%;
    margin-bottom: 10px;
  }
}
#front-page .sub-content .type-pc .member-login .login-wrapper {
  margin-top: 0;
  margin-bottom: 0;
  padding: 5px;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .type-pc .member-login .login-wrapper {
    display: block;
    margin: 20px 0;
  }
}
#front-page .sub-content .type-pc .member-login .login-wrapper .text_form label {
  position: absolute;
  margin-top: 10px;
  margin-left: 5px;
}
#front-page .sub-content .type-pc .member-login .login-wrapper .text_form .div_text {
  margin: 10px 7px 10px auto;
  width: 145px;
}
#front-page .sub-content .type-pc .member-login .login-wrapper .text_form .div_text input {
  width: 145px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  padding: 8px 10px 8px;
  background: none repeat scroll 0 0 #fff;
}
#front-page .sub-content .type-pc .member-login .button_div {
  font-size: 16px;
  display: flex;
  justify-content: center;
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 6px 0;
}
#front-page .sub-content .type-pc .member-login .button_div a {
  color: white;
  background-color: #01a3f7;
  border-radius: 4px;
  width: 130px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#front-page .sub-content .member {
  width: 345px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .member {
    width: 30%;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: unset;
    background-color: transparent;
    flex-wrap: wrap;
    align-content: flex-start;
  }
}
#front-page .sub-content .member fieldset {
  margin: 0;
}
#front-page .sub-content .member legend {
  height: 43px;
  width: 345px;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background-color: #0068B1;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .member legend {
    height: 35px;
    width: auto;
    border-radius: 9px 9px 50% 50%;
    margin-bottom: 10px;
  }
}
#front-page .sub-content .member form {
  width: 100%;
  border-radius: 0;
  border: none;
  height: 200px;
  background-color: #faf8ee;
  padding-top: 12px;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content .member form {
    padding-top: 30px;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .member form {
    width: 200px;
    height: 210px;
    border: solid 1px #333;
    border-radius: 10px;
    padding: 0;
    width: 250px;
    height: 270px;
  }
}
#front-page .sub-content .member .login-wrapper {
  margin: 0;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .member .login-wrapper {
    display: block;
    margin: 20px 0;
  }
}
#front-page .sub-content .member .button_div {
  font-size: 16px;
  display: flex;
  justify-content: center;
  margin-top: 15px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content .member .button_div {
    margin-top: 15px;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .member .button_div {
    margin-top: 15px;
  }
}
#front-page .sub-content .member .button_div input {
  background-color: #0068B1;
  color: #fff;
  width: 130px;
  height: 36px;
  border-radius: 4px;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .member .button_div input {
    background-color: #01a3f7;
    border-radius: 4px;
    width: 130px;
    height: 24px;
  }
}
#front-page .sub-content .member p.keep {
  display: flex;
  justify-content: center;
}
#front-page .sub-content .member p.keep label {
  font-size: 12px;
  display: flex;
  align-items: center;
}
#front-page .sub-content .member p.keep label input {
  margin-right: 2px;
}
#front-page .sub-content .member table {
  border-collapse: collapse;
  border-spacing: 0;
}
#front-page .sub-content .member table tr {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  height: 50px;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content .member table tr {
    height: 45px;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .member table tr {
    height: 33px;
  }
}
#front-page .sub-content .member table tr th {
  width: 75px;
  text-align: left;
  vertical-align: middle;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: -0.06em;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #front-page .sub-content .member table tr th {
    width: 60px;
  }
}
#front-page .sub-content .member table tr td {
  display: flex;
  align-items: center;
}
#front-page .sub-content .member table tr td input {
  width: 240px;
  height: 38px;
  border-radius: 3px;
  border: 2px solid #DEDFDA;
  background-color: #fff;
  padding: 8px;
}
@media screen and (min-width: 1024px) {
  #front-page .sub-content .member table tr td input {
    width: 130px;
    height: 22px;
    padding: 3px;
  }
}
#front-page .banner {
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 1024px) {
  #front-page .banner {
    margin-top: 30px;
  }
}
#front-page .banner ul {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #front-page .banner ul {
    display: table;
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .banner ul {
    width: 100%;
  }
}
#front-page .banner ul li {
  list-style-type: none;
  display: table-cell;
  float: left;
  width: 320px;
  height: 100px;
  margin-top: 20px;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  #front-page .banner ul li {
    margin-left: 20px;
  }
}
@media screen and (min-width: 768px) {
  #front-page .banner ul li:nth-child(2n+1) {
    clear: both;
    margin-left: 0;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .banner ul li:nth-child(2n+1) {
    clear: unset;
    margin-left: 20px;
  }
}
@media screen and (min-width: 1024px) {
  #front-page .banner ul li:nth-child(3n+1) {
    clear: both;
    margin-left: 0;
  }
}
#front-page .banner ul li img {
  width: 320px;
  height: 100px;
}

.pum-container {
  width: 88% !important;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 480px) {
  .pum-container {
    width: 55% !important;
    margin-left: auto;
    margin-right: auto;
    max-width: 400px !important;
  }
}
@media screen and (min-width: 764px) {
  .pum-container {
    width: 55% !important;
    margin-left: auto;
    margin-right: auto;
  }
}
.pum-container .pum-content {
  padding-top: 24px;
  padding-bottom: 9px;
}
@media screen and (min-width: 764px) {
  .pum-container .pum-content {
    padding-bottom: 9px;
  }
}
.pum-container .pum-content .wpmem_msg {
  position: absolute;
  top: -2px;
  margin: 0;
  border: none;
  width: 100%;
  padding: 0;
  background: none;
  color: red;
}
.pum-container .pum-content #wpmem_login {
  width: 100%;
}
.pum-container .pum-content #wpmem_login fieldset {
  width: 86%;
  margin: auto;
}
.pum-container .pum-content #wpmem_login fieldset h3 {
  font-size: 18px;
  font-weight: lighter;
  text-align: center;
  color: #fff;
  background: #0068B1;
  border-radius: 10px;
}
.pum-container .pum-content #wpmem_login fieldset .login-wrapper .text_form {
  display: flex;
  align-items: center;
}
.pum-container .pum-content #wpmem_login fieldset .login-wrapper .text_form .div_text {
  margin: 10px 7px 10px auto;
  width: 145px;
}
.pum-container .pum-content #wpmem_login fieldset .login-wrapper .button_div {
  text-align: center;
}
.pum-container .pum-content #wpmem_login fieldset .login-wrapper .button_div input#rememberme {
  display: none;
}
.pum-container .pum-content #wpmem_login fieldset .login-wrapper .button_div input.buttons {
  background-color: #0068B1;
  color: #fff;
  width: 130px;
  height: 36px;
  border-radius: 4px;
}
@media screen and (min-width: 1024px) {
  .pum-container .pum-content #wpmem_login fieldset .login-wrapper .button_div input.buttons {
    background-color: #0068B1;
    border-radius: 4px;
    width: 130px;
    height: 34px;
  }
}

#popmake-964 {
  top: 298px !important;
}
@media screen and (min-width: 764px) {
  #popmake-964 {
    top: 385px !important;
  }
}
@media screen and (min-width: 1024px) {
  #popmake-964 {
    top: 299px !important;
  }
}/*# sourceMappingURL=front-page.css.map */