@charset "UTF-8";
.contents img {
  width: 100%;
  height: auto;
}

.mainvisual {
  position: relative;
}
.mainvisual .head {
  position: absolute;
  z-index: 1;
  width: 100%;
  display: flex;
  justify-content: space-between;
  height: 70px;
}
.mainvisual .head .logo {
  width: auto;
  margin: 0 0 0 15px;
}
.mainvisual .head .logo a img {
  width: 100%;
  max-width: 280px;
}
.mainvisual .head .logo a p {
  font-size: 13px;
  color: #FFF;
  width: -webkit-fill-available;
  width: -moz-available;
  width: stretch;
  display: block;
  text-align: center;
  padding: 12px 0 3px 0;
}
.mainvisual .head .link_set {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: stretch;
}
.mainvisual .head .link_set .sns {
  display: flex;
  align-items: center;
  width: 68px;
  justify-content: space-between;
  margin: 0 0.5rem 0 0;
  height: 67px;
}
.mainvisual .head .link_set .sns li {
  list-style: none;
  margin: 0 10px 0 0;
}
.mainvisual .head .link_set .sns li a {
  display: flex;
}
.mainvisual .head .link_set .sns li a img {
  max-width: 28px;
  max-height: 25px;
}
.mainvisual .head .link_set .tel {
  width: 283px;
  text-align: center;
  padding: 0.5rem 0;
}
.mainvisual .head .link_set .tel a {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: clamp(22px, 2rem, 34px);
  font-weight: 400;
  line-height: 1.2;
  color: #002655;
  display: flex;
  align-items: center;
}
.mainvisual .head .link_set .tel a::before {
  content: "";
  display: block;
  background-image: url(../img/common/ico_freedial.png);
  width: 30%;
  max-width: 43px;
  height: 25px;
  background-size: contain;
  background-repeat: no-repeat;
}
.mainvisual .head .link_set .tel p {
  font-size: 12px;
}
.mainvisual .head .link_set .contact {
  background-color: #FFF;
}
.mainvisual .head .link_set .contact a {
  display: flex;
  color: #002655;
  font-size: 16px;
  font-weight: 600;
  align-items: center;
  height: 100%;
  padding: 0 1rem;
}
.mainvisual .head .link_set .contact a::before {
  font-family: "Material Icons";
  content: "\e158";
  font-size: 26px;
  margin: 0 5px 0 0;
  line-height: 1;
}
@media screen and (max-width: 640px) {
  .mainvisual .head {
    display: none;
  }
}
.mainvisual .inner {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 640px) {
  .mainvisual .inner {
    top: 9px;
  }
}
.mainvisual .inner .main {
  max-width: 624px;
  margin: 0 0 0 auto;
}
.mainvisual .inner .main h1 {
  font-size: clamp(12px, 1.5rem, 26px);
}
.mainvisual .inner .main p {
  font-size: 14px;
  padding: 20px 0 0 0;
}
@media screen and (max-width: 640px) {
  .mainvisual .inner .main {
    max-width: 75%;
    margin: 0 14px 0 auto;
  }
  .mainvisual .inner .main p {
    font-size: 12px;
    line-height: 1.3;
    padding: 3px 0 0 0;
    width: 108%;
    margin: 0 0 0 -11px;
  }
}
.mainvisual .bg {
  position: relative;
  width: 100%;
}
.mainvisual .bg img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  min-height: 520px;
  max-height: 700px;
}
@media screen and (max-width: 640px) {
  .mainvisual .bg {
    height: 200px;
    min-height: 200px;
  }
  .mainvisual .bg img {
    min-height: 101%;
    max-height: 101%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: -8px;
       object-position: -8px;
  }
}

.mv_navi {
  background-image: linear-gradient(90deg, #002655 28%, #36587f 64%, #002655);
  color: #FFF;
}
.mv_navi ul {
  display: flex;
  justify-content: center;
  padding: 15px 0;
}
@media screen and (max-width: 640px) {
  .mv_navi ul {
    display: grid;
    justify-content: space-evenly;
    padding: 10px 6px 0px;
    grid-template-columns: repeat(2, 48%);
  }
}
.mv_navi ul li {
  border-left: 1px solid rgba(255, 255, 255, 0.431372549);
}
@media screen and (max-width: 640px) {
  .mv_navi ul li {
    margin: 0 0 10px 0;
    border-left: none;
  }
  .mv_navi ul li:nth-child(2) {
    border-left: 1px solid rgba(255, 255, 255, 0.431372549);
  }
}
.mv_navi ul li:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.431372549);
}
@media screen and (max-width: 640px) {
  .mv_navi ul li:last-child {
    border-right: none;
    border-left: 1px solid rgba(255, 255, 255, 0.431372549);
  }
}
.mv_navi ul li a {
  color: #FFF;
  padding: 4px 30px;
  display: flex;
  letter-spacing: 3px;
  align-items: center;
}
.mv_navi ul li a span {
  font-size: 13px;
  margin: 0 0 0 22px;
}
@media screen and (max-width: 640px) {
  .mv_navi ul li a {
    padding: 3px 11px;
    display: flex;
    letter-spacing: 3px;
    align-items: center;
    justify-content: center;
  }
}
.mv_navi ul li.close a {
  pointer-events: none;
  opacity: 0.3;
}
.mv_navi ul li.close {
  position: relative;
}
.mv_navi ul li.close::before {
  content: "準備中";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 90%;
  top: 5px;
  text-align: center;
  letter-spacing: 6px;
}

.top_information {
  background-image: url(../img/index/bg_info_pc.jpg);
  background-size: cover;
  padding: 40px 0;
}
@media screen and (max-width: 640px) {
  .top_information {
    padding: 20px 0;
    background-image: url(../img/index/bg_info_sp.jpg);
    background-size: contain;
  }
}
.top_information .inner {
  display: grid;
  grid-template-columns: 34% 63%;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .top_information .inner {
    display: block;
    width: 90%;
  }
}
.top_information .inner .movie iframe {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto;
}
@media screen and (max-width: 640px) {
  .top_information .inner .main {
    padding: 10px 0 0 0;
  }
}
.top_information .inner .main .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid;
  margin: 0 0 15px 0;
  line-height: 1;
  padding: 0 0 12px;
}
.top_information .inner .main .head h2 {
  font-size: 18px;
}
.top_information .inner .main .head .btn a {
  font-size: 12px;
  padding: 0;
}
.top_information .inner .main .information_list li {
  display: grid;
  font-size: 16px;
  grid-template-columns: 12% 18% auto;
  margin: 0 0 0.2rem 0;
  padding: 0 0 5px;
  border-bottom: 1px dotted #606060;
  align-items: baseline;
}
@media screen and (max-width: 640px) {
  .top_information .inner .main .information_list li {
    display: flex;
    flex-wrap: wrap;
  }
}
.top_information .inner .main .information_list li .date {
  font-size: 13px;
  color: #000;
  margin: 0;
}
.top_information .inner .main .information_list li span {
  background-color: #FFF;
  font-size: 11px;
  padding: 4px;
  display: block;
  text-align: center;
  margin: 0 10px;
}
@media screen and (max-width: 640px) {
  .top_information .inner .main .information_list li h3 {
    width: 100%;
  }
}
.top_information .inner .main .information_list li h3 a {
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: 14px;
  font-weight: normal;
}

.main_contents {
  background-image: url(../img/index/bg_contents_pc.jpg);
  background-size: cover;
}
@media screen and (max-width: 640px) {
  .main_contents {
    background-image: url(../img/index/bg_contents_sp.jpg);
    background-size: contain;
  }
}
.main_contents .inner {
  display: grid;
  grid-template-columns: repeat(3, 30%);
  justify-content: space-between;
  padding: 2rem 0;
}
@media screen and (max-width: 640px) {
  .main_contents .inner {
    display: block;
    width: 85%;
  }
}
.main_contents .inner .box {
  background-image: linear-gradient(transparent 52%, rgba(0, 0, 0, 0.568627451));
}
.main_contents .inner .box .head {
  width: 245px;
  height: 333px;
  margin: 0 auto 10px;
  color: #FFF;
  padding: 40px 35px;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  .main_contents .inner .box .head {
    width: 220px;
    height: 300px;
    margin: 0 auto 10px;
    color: #FFF;
    padding: 30px 25px;
    box-sizing: border-box;
    background-size: contain;
  }
}
.main_contents .inner .box .head h2 {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  line-height: 1.6;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.main_contents .inner .box .head h2 span {
  font-size: 16px;
  font-weight: normal;
}
.main_contents .inner .box .head figure img {
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  margin: 14px auto 20px;
}
.main_contents .inner .box .head p {
  font-size: 14px;
  text-align: center;
  border-top: 1px solid;
  border-bottom: 1px solid;
  padding: 5px 0;
}
.main_contents .inner .box.stocking .head {
  background-image: url(../img/index/bg_book01.png);
}
.main_contents .inner .box.marketing .head {
  background-image: url(../img/index/bg_book02.png);
  filter: brightness(0.5);
}
.main_contents .inner .box.teaching .head {
  background-image: url(../img/index/bg_book03.png);
  filter: brightness(0.5);
}
.main_contents .inner .box ul li a {
  color: #FFF;
  display: grid;
  grid-template-columns: 55px auto;
  font-size: 14px;
  line-height: 1.3;
  align-items: center;
  padding: 5px 18px;
}
.main_contents .inner .box ul li a span {
  font-family: "Jost", sans-serif;
  font-size: 40px;
  font-weight: 350;
  font-style: italic;
  line-height: 1;
}
.main_contents .inner .box .comingsoon {
  color: #FFF;
  text-align: center;
  height: 200px;
  width: 90%;
  margin: auto auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 20px;
}
.main_contents .inner .box .btn {
  border: 1px solid #FFF;
  color: #FFF;
  width: 87%;
  margin: 9px auto 20px;
  background-color: #000;
}
.main_contents .inner .box .btn a {
  color: #FFF;
  padding: 10px;
  font-size: 13px;
}

.sub_contents {
  background-image: url(../img/index/bg_contents02.jpg);
  background-size: cover;
  color: #FFF;
  padding: 0 0 2rem;
}
@media screen and (max-width: 640px) {
  .sub_contents {
    padding: 4rem 0 6rem;
  }
}
.sub_contents .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .sub_contents .title {
    justify-content: center;
  }
}
.sub_contents .title .sh {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  line-height: 1.6;
  font-size: 40px;
  display: flex;
  align-items: center;
  justify-content: left;
  padding: 2rem 0;
}
@media screen and (max-width: 640px) {
  .sub_contents .title .sh {
    font-size: 30px;
  }
}
.sub_contents .title .sh span {
  font-size: 14px;
  font-family: "Noto Sans JP", serif;
  padding: 7px 0;
  width: 200px;
  border-top: 1px solid;
  border-bottom: 1px solid;
  margin: 0 0 0 20px;
}
@media screen and (max-width: 640px) {
  .sub_contents .title .sh span {
    font-size: 12px;
    padding: 4px 0;
    width: 130px;
  }
}
.sub_contents .btn {
  border: 1px solid;
}
.sub_contents .btn a {
  padding: 5px;
  color: #FFF;
}
@media screen and (max-width: 640px) {
  .sub_contents .btn.sp {
    margin: 0 auto;
    width: -moz-fit-content;
    width: fit-content;
    display: block;
  }
}
@media screen and (max-width: 640px) {
  .sub_contents ul {
    width: 90%;
    margin: 0 auto;
  }
}
.sub_contents ul li {
  display: grid;
  grid-template-columns: 15% 13% 53% 19%;
  font-size: 14px;
  margin: 0 0 13px;
}
@media screen and (max-width: 640px) {
  .sub_contents ul li {
    display: flex;
    flex-wrap: wrap;
  }
}
.sub_contents ul li a {
  color: #FFF;
}
.sub_contents ul li .category {
  font-size: 12px;
}
.sub_contents ul li .category a {
  padding: 8px 5px;
  display: block;
  text-align: center;
  line-height: 1;
}
.sub_contents ul li .category a.stocking {
  background-color: #002655;
}
.sub_contents ul li .category a.marketing {
  background-color: #830000;
}
.sub_contents ul li .category a.teaching {
  background-color: #214700;
}
.sub_contents ul li .date {
  font-size: 12px;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .sub_contents ul li .date {
    margin: 0 0 0 10px;
  }
}
.sub_contents ul li h4 {
  font-weight: 500;
}
@media screen and (max-width: 640px) {
  .sub_contents ul li h4 {
    font-size: 16px;
    line-height: 1.3;
    padding: 10px 0;
  }
}
.sub_contents ul li .tag {
  border-left: 1px solid;
  padding: 0 0 0 15px;
  font-size: 13px;
}
@media screen and (max-width: 640px) {
  .sub_contents ul li .tag {
    border-left: none;
    padding: 0;
  }
}
.sub_contents ul li .tag a {
  margin: 0 10px 0 0;
}
.sub_contents ul li .tag a::before {
  content: "#";
}

.top_movie {
  display: grid;
  grid-template-columns: 16% 82%;
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .top_movie {
    display: block;
    background-image: url(../img/index/bg_movie_sp.jpg);
    background-size: contain;
  }
}
.top_movie .head {
  background-image: url(../img/index/bg_movie_pc.jpg);
  background-size: cover;
  background-position: right;
  padding: 0.5rem 2rem 0.5rem 0.8rem;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .top_movie .head {
    background-image: none;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 93%;
    margin: 0 auto;
    padding: 15px 0 0 0;
  }
}
.top_movie .head figure img {
  width: 60%;
  max-width: -moz-fit-content;
  max-width: fit-content;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .top_movie .head figure {
    width: 17%;
  }
  .top_movie .head figure img {
    width: 100%;
  }
}
.top_movie .head .sh {
  font-family: "Jost", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.1;
}
@media screen and (max-width: 640px) {
  .top_movie .head .sh {
    font-size: 26px;
    padding: 0 10px;
  }
}
.top_movie .head h2 {
  font-size: 16px;
  font-weight: 400;
}
@media screen and (max-width: 640px) {
  .top_movie .head h2 {
    font-size: 14px;
  }
}
.top_movie .head .btn {
  background-color: #FFF;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 640px) {
  .top_movie .head .btn {
    margin: 0 0 0 10px;
  }
}
.top_movie .head .btn a {
  font-size: 12px;
  padding: 8px;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .top_movie .main {
    width: 90%;
    margin: 0 auto;
  }
}
.top_movie .main .read {
  line-height: 1.2;
  padding: 20px 0 25px;
}
.top_movie .main ul {
  display: grid;
  grid-template-columns: repeat(3, 30%);
  justify-content: space-between;
  padding: 0 0 1rem;
}
@media screen and (max-width: 640px) {
  .top_movie .main ul {
    display: block;
  }
}
.top_movie .main ul li iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  -o-object-fit: contain;
     object-fit: contain;
}
.top_movie .main ul li p {
  line-height: 1.3;
}

.other_contents {
  background-image: url(../img/index/bg_info_pc.jpg);
  background-size: contain;
  padding: 0 0 3rem;
  border-top: solid 10px #3f2b16;
}
.other_contents .inner {
  display: grid;
  grid-template-columns: repeat(3, 32%);
  justify-content: space-between;
}
@media screen and (max-width: 640px) {
  .other_contents .inner {
    display: block;
    width: 315px;
  }
}
.other_contents .inner article {
  background-color: #FFF;
  background-image: url(../img/index/fm_contents02.png);
  background-repeat: repeat-y;
  margin: 3rem 0 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  background-size: 100%;
}
@media screen and (max-width: 640px) {
  .other_contents .inner article {
    margin: 9rem 0 13rem;
  }
}
.other_contents .inner article::before {
  content: "";
  background-image: url(../img/index/ft_contents02.png);
  height: 50px;
  width: 100%;
  display: block;
  background-color: #FFF;
  background-size: cover;
}
.other_contents .inner article::after {
  content: "";
  background-image: url(../img/index/ft_contents02.png);
  transform: scaleY(-1);
  height: 50px;
  width: 100%;
  display: block;
  background-color: #FFF;
  background-size: cover;
}
.other_contents .inner article figure {
  margin: -84px auto 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}
.other_contents .inner article figure img {
  width: 100%;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
.other_contents .inner article h3 {
  color: #0d408b;
  font-size: 24px;
  text-align: center;
}
.other_contents .inner article .st {
  text-align: center;
  font-family: "Noto Sans JP", serif;
  color: #808080;
}
.other_contents .inner article div {
  font-size: 14px;
  padding: 25px 28px 5px;
  line-height: 1.5;
  height: 46%;
  box-sizing: border-box;
}
.other_contents .inner article div ul li {
  border-left: 5px solid #0d408b;
  margin: 0 0 10px 0;
  line-height: 1.2;
  padding: 0 0 0 5px;
}
.other_contents .inner article div ul li a {
  line-height: 1.6;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 14px;
  font-weight: normal;
  text-decoration: underline;
}
.other_contents .inner article div ul.consulpack {
  padding: 10px 0 0 0;
}
.other_contents .inner article div ul.consulpack li {
  font-size: 16px;
  display: flex;
  justify-content: space-between;
  padding: 4px 0 4px 7px;
  font-weight: 600;
  flex-wrap: wrap;
  position: relative;
  margin: 0 0 20px;
}
.other_contents .inner article div ul.consulpack li p {
  font-size: 20px;
}
.other_contents .inner article div ul.consulpack li p span {
  font-size: 14px;
}
.other_contents .inner article div ul.consulpack li::after {
  content: "";
  display: block;
  width: 102%;
  border-bottom: 1px solid #CCC;
  position: absolute;
  left: -5px;
  bottom: -11px;
}
.other_contents .inner article div ul.consulpack li:last-child {
  margin: 0;
}
.other_contents .inner article div ul.consulpack li:last-child::after {
  display: none;
}
.other_contents .inner article .btn {
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  background: #002655;
  z-index: 1;
  margin: auto;
  color: #FFF;
}
.other_contents .inner article .btn a {
  font-size: 13px;
  padding: 8px 12px;
  color: #FFF;
}

.top_archive {
  background-image: url(../img/index/bg_archives_pc.png);
  background-repeat: no-repeat;
  background-position: top center;
  max-width: 1100px;
  width: 95%;
  margin: 2.2rem auto;
  position: relative;
  height: 616px;
}
@media screen and (max-width: 640px) {
  .top_archive {
    background-image: url(../img/index/bg_archives_sp_ft.png), url(../img/index/bg_archives_sp_fb.png), url(../img/index/bg_archives_sp_fm.png);
    background-size: 100%, 100%, 100%;
    background-repeat: no-repeat, no-repeat, repeat-y;
    background-position: top, bottom, center;
    height: auto;
    padding: 0 0 20px 0;
  }
}
.top_archive .head {
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  left: -49px;
  right: 0px;
  margin: auto;
  top: 77px;
}
@media screen and (max-width: 640px) {
  .top_archive .head {
    position: relative;
    left: unset;
    right: unset;
    margin: auto;
    top: unset;
    width: 70%;
    margin: 0 auto;
    padding: 20px 0;
  }
}
.top_archive article {
  color: #FFF;
  position: absolute;
}
@media screen and (max-width: 640px) {
  .top_archive article {
    position: relative;
    padding: 0 0 26px;
  }
}
.top_archive article h3 {
  font-size: 20px;
  font-weight: 600;
}
.top_archive article .btn {
  border: 1px solid #FFF;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 640px) {
  .top_archive article .btn {
    margin: 10px 0 0 0;
  }
}
.top_archive article .btn::after {
  margin: 0 2px 0 0;
  line-height: 1;
}
.top_archive article .btn a {
  padding: 4px 5px 4px 8px;
  width: -moz-fit-content;
  width: fit-content;
  color: #FFF;
  font-size: 12px;
}
.top_archive article ul li {
  list-style: disc;
  list-style-position: inside;
}
.top_archive article ul li a {
  color: #FFF;
  font-size: 14px;
}
.top_archive article.acv01 {
  width: -moz-fit-content;
  width: fit-content;
  top: 72px;
  left: 67px;
}
.top_archive article.acv01 .btn {
  margin-top: 10px;
}
@media screen and (max-width: 640px) {
  .top_archive article.acv01 {
    top: unset;
    left: unset;
    margin: 0 auto;
    width: 80%;
  }
}
.top_archive article.acv02 {
  width: -moz-fit-content;
  width: fit-content;
  top: 274px;
  left: 65px;
}
.top_archive article.acv02 .btn {
  position: absolute;
  right: 86px;
  top: 4px;
}
@media screen and (max-width: 640px) {
  .top_archive article.acv02 {
    top: unset;
    left: unset;
    margin: 0 auto;
    width: 80%;
  }
  .top_archive article.acv02 .btn {
    position: relative;
    right: unset;
    top: unset;
  }
}
.top_archive article.acv03 {
  width: -moz-fit-content;
  width: fit-content;
  bottom: 60px;
  left: 100px;
}
.top_archive article.acv03 .btn {
  position: absolute;
  right: 37px;
  top: 5px;
}
@media screen and (max-width: 640px) {
  .top_archive article.acv03 {
    bottom: unset;
    left: unset;
    margin: 0 auto;
    width: 80%;
  }
  .top_archive article.acv03 .btn {
    position: relative;
    right: unset;
    top: unset;
  }
}
.top_archive article.acv04 {
  width: 332px;
  top: 60px;
  right: 60px;
}
.top_archive article.acv04 .btn {
  position: absolute;
  right: 57px;
  top: 5px;
}
@media screen and (max-width: 640px) {
  .top_archive article.acv04 {
    top: unset;
    right: unset;
    margin: 0 auto;
    width: 80%;
  }
  .top_archive article.acv04 .btn {
    position: relative;
    right: unset;
    top: unset;
  }
}
.top_archive article.acv05 {
  width: -moz-fit-content;
  width: fit-content;
  top: 275px;
  right: 51px;
}
.top_archive article.acv05 .btn {
  position: absolute;
  right: 115px;
  top: 6px;
}
@media screen and (max-width: 640px) {
  .top_archive article.acv05 {
    top: unset;
    right: unset;
    margin: 0 auto;
    width: 80%;
  }
  .top_archive article.acv05 .btn {
    position: relative;
    right: unset;
    top: unset;
  }
}
.top_archive article.acv06 {
  width: -moz-fit-content;
  width: fit-content;
  bottom: 60px;
  right: 160px;
}
.top_archive article.acv06 .btn {
  position: absolute;
  right: 36px;
  top: 6px;
}
@media screen and (max-width: 640px) {
  .top_archive article.acv06 {
    bottom: unset;
    right: unset;
    margin: 0 auto;
    width: 80%;
  }
  .top_archive article.acv06 .btn {
    position: relative;
    right: unset;
    top: unset;
  }
}

.top_other {
  display: grid;
  grid-template-columns: 36% 36% 22%;
  justify-content: space-between;
  width: 90%;
  max-width: 1100px;
  margin: 1rem auto;
  font-size: 14px;
  line-height: 1.4;
}
@media screen and (max-width: 640px) {
  .top_other {
    display: block;
    padding: 0 0 3rem;
  }
}
.top_other article {
  border-right: 1px solid;
  padding: 0 1.2rem 0 0;
}
.top_other article:last-child {
  border-right: none;
  padding: 0;
}
@media screen and (max-width: 640px) {
  .top_other article {
    border-right: none;
    padding: 2rem 0 3rem;
  }
}
.top_other .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 12px 0;
}
.top_other .head h3 {
  color: #002655;
  font-size: 18px;
}
.top_other .head .btn a {
  font-size: 13px;
  padding: 0;
  line-height: 2;
}
.top_other ul li {
  margin: 0 0 10px 0;
}
.top_other ul li a {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.top_other ul li a::before {
  content: "・";
}

.top_instagram {
  background-color: #EFEFEF;
  padding: 3rem 0;
}
.top_instagram .inner .head {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .top_instagram .inner .head figure img {
    width: 28px;
    height: auto;
  }
}
.top_instagram .inner .head .title {
  font-size: 36px;
  padding: 0 30px 0 13px;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 640px) {
  .top_instagram .inner .head .title {
    font-size: 22px;
    padding: 0 5px;
  }
}
.top_instagram .inner .head h3 {
  font-size: 16px;
  font-weight: 500;
  border-top: 1px solid;
  border-bottom: 1px solid;
  padding: 7px 15px;
  margin: 0 1.5rem 0 0.5rem;
}
.top_instagram .inner .head h3 span {
  margin: 0 0 0 10px;
}
@media screen and (max-width: 640px) {
  .top_instagram .inner .head h3 {
    font-size: 12px;
    padding: 5px 5px;
    line-height: 1.3;
    text-align: center;
  }
  .top_instagram .inner .head h3 span {
    margin: 0;
    display: block;
  }
}
.top_instagram .inner .head .btn {
  background-color: #FFF;
}
.top_instagram .inner .head .btn a {
  font-size: 14px;
  padding: 10px 10px 10px 20px;
}
@media screen and (max-width: 640px) {
  .top_instagram .inner .head .btn a {
    font-size: 12px;
    padding: 10px 0px 10px 12px;
  }
}

.top_bottom {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 30% 67%;
  justify-content: space-between;
  align-items: stretch;
  padding: 3rem 0 0;
}
@media screen and (max-width: 640px) {
  .top_bottom {
    display: block;
  }
}
.top_bottom .sub ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.top_bottom .sub ul li {
  background-color: #EFEFEF;
}
@media screen and (max-width: 640px) {
  .top_bottom .sub ul li {
    margin: 0 0 2rem;
  }
}
.top_bottom .sub ul li a {
  display: grid;
  grid-template-columns: 40px auto;
  justify-content: left;
  padding: 12px;
  align-items: center;
  color: #002655;
  font-weight: 500;
}
.top_bottom .sub ul li a p img {
  width: 30px;
  height: 29px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.top_bottom .main {
  border: 1px solid #808080;
  padding: 1rem 0;
}
.top_bottom .main ul {
  display: grid;
  grid-template-columns: repeat(3, 33%);
  justify-content: space-between;
  align-items: baseline;
}
@media screen and (max-width: 640px) {
  .top_bottom .main ul {
    display: block;
  }
}
.top_bottom .main ul li {
  border-right: 1px solid #808080;
}
@media screen and (max-width: 640px) {
  .top_bottom .main ul li {
    border-right: none;
  }
}
.top_bottom .main ul li a figure {
  width: 70%;
  margin: 0 auto;
}
.top_bottom .main ul li a p {
  font-size: 18px;
  font-weight: 600;
  color: #0d408b;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .top_bottom .main ul li a {
    display: grid;
    align-items: center;
    grid-template-columns: 40% 50%;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
    border-bottom: 1px solid #808080;
    padding: 10px 0;
    box-sizing: border-box;
  }
  .top_bottom .main ul li a figure {
    width: 100%;
  }
}
.top_bottom .main ul li:last-child {
  border-right: none;
}
@media screen and (max-width: 640px) {
  .top_bottom .main ul li:last-child a {
    border-bottom: none;
  }
}/*# sourceMappingURL=index.css.map */