@charset "UTF-8";
/*!
Theme Name: JSASA
Theme URI: http://underscores.me/
Author: BACKSLASH
Author URI: http://www.backslash.net
Description: JSASA Original
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: jsasa
Tags: custom-background, custom-logo, custom-menu, featured-images, tshreaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

JSASA is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/* smartphone first!

0px                  768px       1024px
|-------- sp ---------|--- tab ---|--- pc ----
*/
/* TAB */
/* PC */
/* - Table of Content -
01: BASE
02: HEADER
03: LAYOUT
04: PARTS & BUTTON
05: CARD LAYOUT
06: TOP PAGE
07: FOOTER
08: BREAD CRUMB
09: PAGE TITLE
10: ABOUT PAGE
11: MEMBERSHIP PAGE
12: POST - LIST PAGE
13: POST - DETAIL PAGE
14: PRIVACY POLICY
*/
/* ---------------------------------------------------
  01: BASE
--------------------------------------------------- */
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  color: #262626;
  background: #fff;
  position: relative;
  font-size: 3.2vw;
  line-height: 1;
  letter-spacing: 0.05em;
  /* TAB */
}
@media screen and (min-width: 769px) {
  body {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 1025px) {
  body {
    font-size: 16px;
  }
}

a {
  text-decoration: none;
  color: inherit;
  outline: none;
}
@media screen and (min-width: 1025px) {
  a.under {
    position: relative;
  }
  a.under::before {
    background-color: #006aad;
    bottom: -10px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.25s;
    width: 100%;
  }
  a.under:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
@media screen and (min-width: 1025px) {
  a.under_name {
    position: relative;
  }
  a.under_name .name {
    position: relative;
  }
  a.under_name .name::before {
    background-color: #006aad;
    bottom: -10px;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.25s;
    width: 100%;
  }
  a.under_name:hover .name::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}

img {
  width: 100%;
  height: auto;
}

.sp {
  display: block;
}

.pc {
  display: none;
}

@media screen and (min-width: 1025px) {
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
.inview_reveal {
  clip-path: inset(-100px 100vw -100px 0px);
}

.invew_slidein {
  opacity: 0;
}

.invew_slidein_stagger > * {
  opacity: 0;
}

/* ---------------------------------------------------
  02: HEADER
--------------------------------------------------- */
.site_header {
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 1px solid #d9d9d9;
  background: #fff;
  /* ---------------------------
    Login / My Page
  --------------------------- */
  /* ---------------------------
    Hamburger Menu
  --------------------------- */
  /* batsu */
  /* ---------------------------
    Global Navigation
  --------------------------- */
  /* PC */
  /* sub menu */
}
.site_header .hd_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 15.386vw;
  padding: 0 16px;
}
@media screen and (min-width: 1025px) {
  .site_header .hd_inner {
    height: 70px;
    min-width: 1040px;
    margin: 0 auto;
    padding: 0 20px;
  }
}
.site_header .logo {
  flex: 1;
  text-align: center;
  justify-content: center;
}
@media screen and (min-width: 1025px) {
  .site_header .logo {
    text-align: left;
  }
}
.site_header .logo a {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .site_header .logo a {
    flex-direction: row;
  }
}
.site_header .logo a img {
  width: 23.33vw;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .site_header .logo a img {
    width: 129px;
    margin: 0;
  }
}
.site_header .logo a span {
  display: block;
  font-size: 2.13vw;
  line-height: 1.5;
  color: #006aad;
  padding-top: 1.33%;
}
@media screen and (min-width: 1025px) {
  .site_header .logo a span {
    font-size: 12px;
    padding: 0 0 0 12px;
  }
}
.site_header .hd_login {
  position: absolute;
  left: 4%;
  font-size: 2.6vw;
}
@media screen and (min-width: 1025px) {
  .site_header .hd_login {
    display: block;
    left: auto;
    right: 0;
    font-size: 14px;
    position: relative;
  }
}
.site_header .hd_login a {
  color: #006aad;
}
@media screen and (min-width: 1025px) {
  .site_header .hd_login.mypage .name {
    display: none;
  }
}
@media screen and (min-width: 1156px) {
  .site_header .hd_login.mypage .name {
    display: block;
  }
}
.site_header .hd_login.mypage a {
  color: #262626;
}
.site_header .hd_login.mypage a img {
  width: 5.6vw;
  display: block;
  margin: 6% auto 10%;
}
@media screen and (min-width: 1025px) {
  .site_header .hd_login.mypage a img {
    width: 22px;
    margin: 0 auto 4px;
  }
}
@media screen and (min-width: 1025px) {
  .site_header .hd_login.mypage a.pc {
    display: flex;
    align-items: center;
  }
  .site_header .hd_login.mypage a.pc div {
    font-size: 10px;
    color: #006aad;
    padding-right: 10px;
  }
}
.site_header .hamburger {
  display: block;
  position: fixed;
  width: 7vw;
  height: 7vw;
  top: 1.7%;
  right: 4.6%;
  cursor: pointer;
  z-index: 1001;
}
@media screen and (min-width: 1025px) {
  .site_header .hamburger {
    display: none;
    position: static;
  }
}
.site_header .hamburger span::before,
.site_header .hamburger span::after {
  content: "";
  position: absolute;
  top: 3vw;
  left: 0;
  right: 0;
  height: 2px;
  background: #006aad;
  transition: transform 0.28s ease, opacity 0.2s ease, top 0.28s ease;
}
.site_header .hamburger span::after {
  top: 5vw;
}
.site_header #nav-toggle:checked + .hamburger span::before {
  top: 4vw;
  transform: rotate(45deg);
}
.site_header #nav-toggle:checked + .hamburger span::after {
  top: 4vw;
  transform: rotate(-45deg);
}
.site_header .global-nav {
  position: fixed;
  top: 15.386vw;
  right: 0;
  bottom: 0;
  width: 72vw;
  background: #fff;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 900;
}
.site_header .menu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.site_header .menu > li {
  position: relative;
}
.site_header .menu > li a {
  letter-spacing: 0.1em;
  display: block;
  padding: 5% 10%;
  border-bottom: 1px solid #d9d9d9;
  background: url(../img/common/nav_ic_b.svg) right 7.5% top 50%/2.3vw 2.3vw no-repeat;
}
@media screen and (min-width: 1025px) {
  .site_header .menu > li a {
    padding: 0px;
  }
}
.site_header .menu > li.blank a {
  background-image: url(../img/common/nav_ic_win.svg);
  background-size: 3.1vw 3.1vw;
}
@media screen and (min-width: 1025px) {
  .site_header .menu > li a, .site_header .menu > li.blank a {
    background-image: none;
  }
}
.site_header .menu .menu_login {
  background-color: #006aad;
  color: #fff;
}
.site_header .menu .menu_login a {
  border: none;
  background-image: url(../img/common/nav_ic_w.svg);
  display: flex;
  align-items: center;
}
.site_header .menu .menu_login a img {
  width: 5vw;
  height: auto;
  margin-right: 5%;
}
.site_header .menu .menu_login a span {
  margin-left: auto;
  padding-right: 5%;
}
@media screen and (min-width: 1025px) {
  .site_header .menu .menu_login {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .site_header .global-nav {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    width: auto;
    transform: none;
    z-index: auto;
    margin-right: 20px;
    padding-right: 8px;
  }
  .site_header .global-nav:after {
    content: "";
    background-color: #ccc;
    width: 1px;
    height: 20px;
    position: absolute;
    top: 6px;
    right: 0;
  }
  .site_header .menu {
    flex-direction: row;
    align-items: center;
    font-size: 14px;
  }
  .site_header .menu > li {
    padding: 10px 12px;
  }
  .site_header .menu > li > a {
    white-space: nowrap;
    border: none;
  }
  .site_header .menu > li > a:hover, .site_header .menu > li > a:focus-visible {
    outline: none;
  }
}
@media screen and (min-width: 1366px) {
  .site_header .menu > li {
    padding: 10px 16px;
  }
}
.site_header .has-sub {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  align-items: center;
  /* + - button */
  /* ＋→− */
}
@media screen and (min-width: 1025px) {
  .site_header .has-sub {
    padding-right: 2em !important;
  }
  .site_header .has-sub .under::before {
    z-index: 10;
  }
  .site_header .has-sub:hover a .sub-expander::before {
    transform: rotate(45deg);
    opacity: 0;
  }
  .site_header .has-sub:hover a .sub-expander::after {
    transform: rotate(135deg);
    opacity: 0;
  }
  .site_header .has-sub:hover .submenu {
    visibility: visible;
    transform: translateY(0px);
    opacity: 1;
  }
}
.site_header .has-sub > a {
  grid-column: 1/2;
  grid-row: 1;
  padding: 14px 16px;
  border-bottom: none !important;
}
@media screen and (min-width: 1025px) {
  .site_header .has-sub .sub-expander {
    cursor: pointer;
    color: #006aad;
    width: 1.5em;
    right: 0px;
    margin: 0;
    position: relative;
  }
  .site_header .has-sub .sub-expander::before, .site_header .has-sub .sub-expander::after {
    opacity: 1;
    transition: all 0.25s;
    content: "";
    position: absolute;
    background: currentColor;
    width: 10px;
    height: 2px;
    top: 0;
    left: 5px;
  }
  .site_header .has-sub .sub-expander::before {
    top: 50%;
  }
  .site_header .has-sub .sub-expander::after {
    top: 50%;
    transform: rotate(90deg);
  }
}
.site_header .has-sub .submenu {
  grid-column: 1/-1;
  grid-row: 2;
  display: block;
  list-style: none;
  border-top: 1px solid #d9d9d9;
}
.site_header .has-sub .submenu a {
  display: block;
  padding: 5% 10% 5% 14%;
}
@media screen and (min-width: 1025px) {
  .site_header .has-sub .submenu {
    position: absolute;
    top: 10px;
    left: -10px;
    background: white;
    border: none;
    visibility: hidden;
    transform: translateY(-10px);
    opacity: 0;
    z-index: 2;
    transition: all 0.3s ease;
    font-size: 14px;
    width: 12em;
    padding: 20px 0 20px;
  }
  .site_header .has-sub .submenu li {
    padding: 14px 20px;
  }
  .site_header .has-sub .submenu li a {
    display: inline-block;
    line-height: 14px;
    padding: 0;
    border: none;
  }
  .site_header .has-sub .submenu li a:hover, .site_header .has-sub .submenu li a:focus-visible {
    outline: none;
  }
}
.site_header .has-sub .sub-toggle:checked ~ .submenu {
  display: block;
}
.site_header .has-sub .sub-toggle:checked ~ .sub-expander::after {
  opacity: 0;
  transition: 0.4s all;
}
.site_header #nav-toggle:checked ~ .global-nav {
  transform: translateX(0);
}
.site_header #nav-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}
.site_header .overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
  z-index: 800;
  top: 15.386vw;
}
@media screen and (min-width: 1025px) {
  .site_header .overlay {
    display: none;
  }
}

/* ---------------------------------------------------
  03: LAYOUT
--------------------------------------------------- */
.contents.bg-blue {
  background-color: #f0f4f9;
}

.sec_inner {
  padding: 10.67% 4% 21.3%;
}
@media screen and (min-width: 1025px) {
  .sec_inner {
    width: 1040px;
    margin: 0 auto;
    padding: 120px 0;
  }
  .sec_inner.narrow {
    width: 840px;
    margin: 0 auto;
  }
}

/* ---------------------------------------------------
  04: PARTS & BUTTON
--------------------------------------------------- */
/* ---------------------------
  Label
--------------------------- */
/* CATEGORY */
.lb_cat {
  font-size: 2.4vw;
  font-weight: 500;
  color: #006aad;
  border: 1px solid #006aad;
  border-radius: 4px;
  padding: 0.4em 0.8em;
  letter-spacing: 0.06em;
  margin-left: 1.2em;
  display: inline-block;
  transform: translateY(-2px);
}
@media screen and (min-width: 1025px) {
  .lb_cat {
    font-size: 10px;
  }
}

/* TAG */
.lst_tag li {
  display: inline;
  font-size: 2.67vw;
  padding-right: 0.6em;
}
@media screen and (min-width: 1025px) {
  .lst_tag li {
    font-size: 12px;
  }
}

/* ---------------------------
  Button
--------------------------- */
.button a {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
  font-size: 3.73vw;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #006aad;
  background-color: #fff;
  border-radius: 9999px;
  padding: 3vw 10vw 3vw 6vw;
  justify-content: center;
  border: 1px solid #006aad;
  line-height: 1;
}
@media screen and (min-width: 1025px) {
  .button a {
    height: 36px;
    padding: 20px 55px 20px 40px;
    font-size: 14px;
    transition: all 0.4s;
  }
  .button a:hover {
    opacity: 1;
    background-color: #e3edf7;
  }
}
.button a .arrow {
  position: absolute;
  right: 4vw;
  /*display: inline-block;
  margin-left: 20px;*/
  opacity: 1;
  transform: translateX(0);
  transition: none;
  width: 1em;
  height: 1em;
  background-image: url(/img/common/arrow_b_right.svg);
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 1025px) {
  .button a .arrow {
    right: 18px;
  }
}
.button a:hover .arrow {
  opacity: 0; /* バツっと消す */
  transform: translateX(-16px);
  animation: arrow-return 0.15s ease-out 0.08s forwards;
}

/* animation */
@keyframes arrow-return {
  0% {
    opacity: 0;
    transform: translateX(-16px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.button {
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .button.mv {
    text-align: left;
    margin: 40px 0 0 0;
  }
}
.button.mv a {
  padding: 4% 9.9% 4% 5%;
}
.button.blue a {
  background-color: #006aad;
  color: #fff;
}
@media screen and (min-width: 1025px) {
  .button.blue a:hover {
    opacity: 1;
    background-color: #0e5784;
  }
}
.button.blue a .arrow {
  background-image: url(/img/common/arrow_w_right.svg);
}
.button.dl {
  margin-bottom: 2em;
}

/* Button Group */
.btn_group > .button:not(:first-child) {
  margin-top: 8%;
}
@media screen and (min-width: 1025px) {
  .btn_group > .button:not(:first-child) {
    margin: 0;
  }
}

@media screen and (min-width: 1025px) {
  .btn_group {
    display: flex;
    justify-content: space-between;
    width: 380px;
    margin: 0 auto;
  }
}
.btn_group .button a {
  width: 45%;
}
@media screen and (min-width: 1025px) {
  .btn_group .button a {
    width: 170px;
  }
}

/* ---------------------------------------------------
  05: CARD LAYOUT
--------------------------------------------------- */
/* ---------------------------
  News List
--------------------------- */
.lst_news li {
  margin-bottom: 5%;
}
@media screen and (min-width: 1025px) {
  .lst_news li {
    margin: 0px 0;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #e3edf7 50%);
    background-position: 0 0;
    background-size: 200% auto;
    transition: 0.3s;
  }
  .lst_news li:hover {
    background-position: -100% 0;
  }
}
.lst_news li a {
  display: block;
  width: 100%;
  padding: 0 0 2.67%;
  border-bottom: 1px solid #dedede;
}
@media screen and (min-width: 1025px) {
  .lst_news li a {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
  }
}
.lst_news li .lb_date {
  font-size: 3.47vw;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1025px) {
  .lst_news li .lb_date {
    font-size: 16px;
    line-height: 1.5;
  }
}
.lst_news li .post_ti {
  font-size: 3.47vw;
  line-height: 1.46;
  margin: 2% 0 1.6%;
}
@media screen and (min-width: 1025px) {
  .lst_news li .post_ti {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 15px;
  }
}
@media screen and (min-width: 1025px) {
  .lst_news li {
    /* top page */
  }
  .lst_news li .date_cat {
    width: 18%;
  }
  .lst_news li .ttl_tag {
    width: 80%;
  }
}

/* ---------------------------
  EVENTS List
--------------------------- */
.lst_events {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.8vw 5.6vw;
}
@media screen and (min-width: 1025px) {
  .lst_events {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 40px;
  }
}
.lst_events li {
  background-color: #fff;
}
@media screen and (min-width: 1025px) {
  .lst_events li {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #e3edf7 50%);
    background-position: 0 0;
    background-size: 200% auto;
    transition: 0.3s;
  }
  .lst_events li:hover {
    background-position: -100% 0;
  }
}
.lst_events a {
  display: block;
  width: 100%;
  height: 100%;
}
.lst_events a .cont {
  padding: 5%;
}
@media screen and (min-width: 1025px) {
  .lst_events a .cont {
    padding: 20px 10px 15px;
  }
}
.lst_events .lb_tag {
  background-color: #006aad;
  color: #fff;
  font-size: 2.67vw;
  text-align: center;
  letter-spacing: 0.06em;
  padding: 2.5% 0;
}
@media screen and (min-width: 1025px) {
  .lst_events .lb_tag {
    padding: 10px 0;
    font-size: 14px;
  }
}
.lst_events .lb_date {
  font-size: 2.93vw;
  font-weight: 500;
}
@media screen and (min-width: 1025px) {
  .lst_events .lb_date {
    font-size: 20px;
  }
}
.lst_events .post_ti {
  font-size: 2.93vw;
  line-height: 1.6;
  height: 4.8;
  letter-spacing: 0.08em;
  margin-top: 5%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .lst_events .post_ti {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.06em;
    margin-top: 5%;
  }
}

/* ---------------------------
  MEMBER CONTENT List
--------------------------- */
@media screen and (min-width: 1025px) {
  .lst_mem_content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 30px;
  }
}
.lst_mem_content li {
  background-color: #fff;
  margin-bottom: 4%;
}
@media screen and (min-width: 1025px) {
  .lst_mem_content li {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1025px) {
  .lst_mem_content li {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, #e3edf7 50%);
    background-position: 0 0;
    background-size: 200% auto;
    transition: 0.3s;
  }
  .lst_mem_content li:hover {
    background-position: -100% 0;
  }
}
.lst_mem_content a {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.lst_mem_content a .thumb {
  width: 35.6%;
  background-color: #262626;
}
@media screen and (min-width: 1025px) {
  .lst_mem_content a .thumb {
    width: 32%;
  }
}
.lst_mem_content a .thumb figure {
  position: relative;
}
.lst_mem_content a .cont {
  width: 61%;
  padding: 2% 3.7% 2.8% 0;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  .lst_mem_content a .cont {
    width: 65.6%;
    padding: 10px 15px 10px 0;
  }
}
.lst_mem_content li.training_basic figure::before,
.lst_mem_content li.training_advanced figure::before {
  content: "";
  position: absolute;
  background: url(../img/common/play_ic.svg) 50% 50%/7vw 7vw no-repeat;
  width: 100%;
  height: 100%;
  opacity: 0.8;
}
@media screen and (min-width: 1025px) {
  .lst_mem_content li.training_basic figure::before,
  .lst_mem_content li.training_advanced figure::before {
    background-size: 36px 36px;
  }
}
.lst_mem_content .lb_cat {
  width: 100%;
  background-color: #006aad;
  color: #fff;
  font-size: 2.67vw;
  text-align: center;
  letter-spacing: 0.06em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  line-height: 1;
  font-weight: 400;
  border-radius: 0;
  border: none;
  margin-left: 0;
  margin-bottom: 0;
  transform: translateY(0);
}
@media screen and (min-width: 1025px) {
  .lst_mem_content .lb_cat {
    font-size: 11px;
  }
}
.lst_mem_content .lb_date {
  font-size: 2.67vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: right;
  margin-top: auto;
}
@media screen and (min-width: 1025px) {
  .lst_mem_content .lb_date {
    font-size: 13px;
    letter-spacing: 0.08em;
  }
}
.lst_mem_content .post_ti {
  font-size: 3.2vw;
  line-height: 1.54;
  letter-spacing: 0.08em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .lst_mem_content .post_ti {
    font-size: 14px;
    line-height: 1.78;
    letter-spacing: 0.06em;
  }
}

/* ---------------------------------------------------
  06: TOP PAGE
--------------------------------------------------- */
#top .sec_inner {
  padding: 15% 3.3% 13.3%;
}
@media screen and (min-width: 1025px) {
  #top .sec_inner {
    padding: 135px 0 120px;
  }
}

/* ---------------------------
  TOP: Main Visual
--------------------------- */
#mv {
  position: relative;
  background-color: #006aad;
}
#mv .mv_inner {
  position: relative;
  width: 100%;
  aspect-ratio: 750/350;
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1025px) {
  #mv .mv_inner {
    width: 100%;
    aspect-ratio: 1400/530;
    margin: 0 auto;
  }
}
#mv .mv_inner .left_block {
  height: 100%;
  aspect-ratio: 335/350;
}
@media screen and (min-width: 1025px) {
  #mv .mv_inner .left_block {
    aspect-ratio: 650/530;
  }
}
#mv .mv_inner .left_block .mv_top {
  z-index: 2;
  position: absolute;
  width: 58vw;
  padding: 7.5vw 0 0 3vw;
}
@media screen and (min-width: 1025px) {
  #mv .mv_inner .left_block .mv_top {
    height: auto;
    padding: 7.5vw 0 0 5vw;
  }
}
#mv .mv_inner .left_block .mv_top h1 {
  font-size: 4.1vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.468;
  color: #fff;
}
@media screen and (min-width: 1025px) {
  #mv .mv_inner .left_block .mv_top h1 {
    font-size: clamp(2.375rem, 1.4338rem + 1.9608vw, 4.375rem);
    line-height: 1.2857;
  }
}
#mv .mv_inner .left_block .mv_top h1 .first, #mv .mv_inner .left_block .mv_top h1 .second {
  opacity: 0;
  display: inline-block;
}
#mv .mv_inner .right_block {
  height: 100%;
  aspect-ratio: 415/350;
  position: relative;
}
@media screen and (min-width: 1025px) {
  #mv .mv_inner .right_block {
    aspect-ratio: 750/530;
  }
}
#mv .mv_inner .right_block .spacer {
  position: relative;
  width: 100%;
  height: 100%;
}
#mv .mv_inner .right_block .spacer img {
  aspect-ratio: 415/350;
}
@media screen and (min-width: 1025px) {
  #mv .mv_inner .right_block .spacer img {
    aspect-ratio: 750/530;
  }
}
#mv .mv_inner .right_block .mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-mask-image: url(/img/top/sp_mask.png);
          mask-image: url(/img/top/sp_mask.png);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media screen and (min-width: 1025px) {
  #mv .mv_inner .right_block .mask {
    -webkit-mask-image: url(/img/top/pc_mask.png);
            mask-image: url(/img/top/pc_mask.png);
  }
}
#mv .mv_inner .right_block .mask .kv_images {
  width: 100%;
  height: 100%;
  background-image: url(/img/top/mv_pic02.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
#mv .mv_inner .right_block .cover {
  display: none;
  width: 100%;
  height: 100%;
  background-color: #006aad;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 1025px) {
  #mv .bottom_block {
    position: absolute;
    height: 100%;
    aspect-ratio: 650/530;
    top: 0;
    left: 0;
    opacity: 0;
  }
}
#mv .bottom_block .mv_lower {
  background-color: #e3edf7;
  padding: 7% 3.33% 8%;
}
@media screen and (min-width: 1025px) {
  #mv .bottom_block .mv_lower {
    background-color: transparent;
    margin-top: 0;
    padding: 19vw 0 0 5vw;
  }
}
#mv .bottom_block .mv_lower p {
  font-size: 3.73vw;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #262626;
  margin-bottom: 6.67%;
}
@media screen and (min-width: 1025px) {
  #mv .bottom_block .mv_lower p {
    font-size: clamp(0.875rem, 0.5809rem + 0.6127vw, 1.5rem);
    margin: 0px 0 40px;
    color: #fff;
    letter-spacing: 0.15em;
  }
}
#mv .bottom_block .mv_lower .button {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  #mv .bottom_block .mv_lower .button {
    text-align: left;
  }
}
#mv .mv_pic {
  position: absolute;
  right: 0;
  top: 0;
  height: 20vw;
  width: 50%;
}
@media screen and (min-width: 1025px) {
  #mv .mv_pic {
    right: 0;
    left: auto;
    height: 530px;
    width: 750px;
  }
}
#mv .mv_pic img {
  width: 100%;
  height: 46.7vw;
  position: absolute;
}
@media screen and (min-width: 1025px) {
  #mv .mv_pic img {
    height: 530px;
    width: 750px;
  }
}

/* ---------------------------
  TOP: Title
--------------------------- */
.sec_ti {
  font-size: 2.67vw;
  color: #006aad;
  letter-spacing: 0.06em;
  position: relative;
  padding-bottom: 12%;
  font-weight: 400;
}
@media screen and (min-width: 1025px) {
  .sec_ti {
    font-size: 20px;
    padding-bottom: 70px;
  }
}
.sec_ti span {
  letter-spacing: 0.1em;
  font-family: "avenir-next-lt-pro", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 6.13vw;
  color: #262626;
  display: block;
  padding-bottom: 1.8%;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1025px) {
  .sec_ti span {
    font-size: 50px;
    padding-bottom: 8px;
  }
}
.sec_ti::after {
  content: "";
  position: absolute;
}
.sec_ti.news::after {
  top: -3.2vw;
  right: 4.4%;
  background: url(../img/top/icon_news.svg) 0 0/contain no-repeat;
  width: 16vw;
  height: 16.67vw;
}
@media screen and (min-width: 1025px) {
  .sec_ti.news::after {
    top: -24px;
    right: 30px;
    width: 124px;
    height: 128px;
  }
}
.sec_ti.events::after {
  top: -3.2vw;
  right: 4.4%;
  background: url(../img/top/icon_events.svg) 0 0/contain no-repeat;
  width: 16vw;
  height: 12.8vw;
}
@media screen and (min-width: 1025px) {
  .sec_ti.events::after {
    top: -24px;
    right: 30px;
    width: 165px;
    height: 132px;
  }
}
.sec_ti.membership::after {
  top: -7vw;
  right: 4.4%;
  background: url(../img/top/icon_membership.svg) 0 0/contain no-repeat;
  width: 13.38vw;
  height: 13vw;
}
@media screen and (min-width: 1025px) {
  .sec_ti.membership::after {
    top: -24px;
    right: 0px;
    width: 165px;
    height: 132px;
  }
}
.sec_ti.mem_content::after {
  top: -3.2vw;
  right: 4.4%;
  background: url(../img/top/icon_mem_content.svg) 0 0/contain no-repeat;
  width: 16vw;
  height: 13.2vw;
}
@media screen and (min-width: 1025px) {
  .sec_ti.mem_content::after {
    top: -24px;
    right: 30px;
    width: 159px;
    height: 131px;
  }
}
.sec_ti.supporting_mem::after {
  top: -3.2vw;
  right: 4.4%;
  background: url(../img/top/icon_supporting_mem.svg) 0 0/contain no-repeat;
  width: 13.33vw;
  height: 13.06vw;
}
@media screen and (min-width: 1025px) {
  .sec_ti.supporting_mem::after {
    top: -24px;
    right: 30px;
    width: 135px;
    height: 147px;
  }
}
.sec_ti.recruit::after {
  top: -4vw;
  right: 4vw;
  background: url(../img/top/icon_recruit.svg) 0 0/contain no-repeat;
  width: 13.33vw;
  height: 13.06vw;
}
@media screen and (min-width: 1025px) {
  .sec_ti.recruit::after {
    top: -40px;
    right: 0;
    width: 150px;
    height: 142px;
  }
}

/* ---------------------------
  TOP NEWS
--------------------------- */
#top_news .button {
  margin-top: 9.3%;
}
@media screen and (min-width: 1025px) {
  #top_news .sec_inner {
    padding: 120px 0;
  }
  #top_news .button {
    margin-top: 30px;
  }
}

/* ---------------------------
  TOP EVENTS
--------------------------- */
#top_events {
  background-color: #eeeeee;
}
#top_events .button {
  margin-top: 15.3%;
}
@media screen and (min-width: 1025px) {
  #top_events .button {
    margin-top: 60px;
  }
}

/* ---------------------------
  TOP: MEMBER CONTENT
--------------------------- */
#top_mem_content {
  background-color: #f0f4f9;
}
#top_mem_content .category {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  margin-bottom: 8vw;
}
@media screen and (min-width: 1025px) {
  #top_mem_content .category {
    flex-wrap: nowrap;
    margin-bottom: 50px;
  }
}
#top_mem_content .category li {
  width: 48%;
  background-color: white;
  margin-bottom: 15px;
}
@media screen and (min-width: 1025px) {
  #top_mem_content .category li {
    width: 23.6%;
  }
}
#top_mem_content .category li figure img {
  width: 100%;
}
#top_mem_content .category li figure figcaption {
  padding: 2.8vw 2.2vw;
}
@media screen and (min-width: 1025px) {
  #top_mem_content .category li figure figcaption {
    padding: 18px;
  }
}
#top_mem_content .category li figure figcaption h3 {
  font-size: 4vw;
  margin-bottom: 3vw;
}
@media screen and (min-width: 1025px) {
  #top_mem_content .category li figure figcaption h3 {
    font-size: 18px;
    margin-bottom: 0.8em;
  }
}
#top_mem_content .category li figure figcaption p {
  font-size: 3vw;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  #top_mem_content .category li figure figcaption p {
    font-size: 13px;
  }
}
#top_mem_content .latest {
  font-size: 4vw;
  padding-bottom: 2vw;
  margin-bottom: 3vw;
  width: 100%;
  display: inline-block;
  border-bottom: 1px solid black;
}
@media screen and (min-width: 1025px) {
  #top_mem_content .latest {
    font-size: 20px;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
}
#top_mem_content .button {
  margin-top: 9.3%;
}
@media screen and (min-width: 1025px) {
  #top_mem_content .button {
    margin-top: 70px;
  }
}

/* ---------------------------
  TOP: MEMBERSHIP
--------------------------- */
#top_membership .sec_ti {
  padding-bottom: 2%;
}
#top_membership p {
  color: #006aad;
  font-size: 3.5vw;
  line-height: 2;
  letter-spacing: 0.06em;
}
#top_membership .button {
  margin-top: 8%;
}
@media screen and (min-width: 1025px) {
  #top_membership p {
    font-size: 16px;
  }
  #top_membership .button {
    margin-top: 60px;
  }
}

/* ---------------------------
  TOP: RECRUIT
--------------------------- */
#top_recruit {
  background-color: #eeeeee;
}
@media screen and (min-width: 1025px) {
  #top_recruit .sec_inner {
    padding: 120px 0;
  }
}
#top_recruit .sec_ti {
  font-size: 4.53vw;
  text-align: center;
  color: #262626;
  padding-bottom: 9.33%;
  font-weight: 600;
  line-height: 1.4;
}
@media screen and (min-width: 1025px) {
  #top_recruit .sec_ti {
    font-size: 24px;
    padding-bottom: 70px;
  }
}
#top_recruit p {
  font-size: 3.73vw;
  line-height: 1.57;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  #top_recruit p {
    font-size: 16px;
    padding: 0 215px;
  }
}
#top_recruit .button {
  margin-top: 13%;
}
@media screen and (min-width: 1025px) {
  #top_recruit .button {
    margin-top: 70px;
  }
}
#top_recruit .button a {
  padding-right: 13%;
}
@media screen and (min-width: 1025px) {
  #top_recruit .button a {
    padding-right: 56px;
  }
}

/* ---------------------------
  TOP: SUPPORTING MEMBER
--------------------------- */
#top_supporting_mem .sec_inner {
  padding: 10.67% 6.13%;
}
@media screen and (min-width: 1025px) {
  #top_supporting_mem .sec_inner {
    padding: 135px 0 120px;
  }
}
#top_supporting_mem .lst_mem_logo {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
}
@media screen and (min-width: 1025px) {
  #top_supporting_mem .lst_mem_logo {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0px 60px;
  }
  #top_supporting_mem .lst_mem_logo a {
    display: block;
    transition: all 0.3s;
  }
  #top_supporting_mem .lst_mem_logo a:hover {
    transform: scale(1.08, 1.08);
  }
}
#top_supporting_mem .button {
  margin-top: 8%;
}
@media screen and (min-width: 1025px) {
  #top_supporting_mem .button {
    margin-top: 70px;
  }
}

/* ---------------------------------------------------
  07: FOOTER
--------------------------------------------------- */
footer {
  background-color: #006aad;
  /* ---------------------------
    Contact
  --------------------------- */
  /* ---------------------------
    Footer Menu
  --------------------------- */
  /* ---------------------------
    Page Top Button
  --------------------------- */
}
footer .sec_inner {
  padding: 10.67% 0 6.67%;
  position: relative;
}
@media screen and (min-width: 1025px) {
  footer .sec_inner {
    width: 1040px;
    margin: 0 auto;
    padding: 80px 0 32px;
    display: flex;
    flex-wrap: wrap;
  }
}
footer .contact {
  display: block;
  padding: 0 6.67% 0;
  position: relative;
  background: url(../img/common/contact_ic.svg) 26.5vw 8vw/4vw auto no-repeat;
  /*=== TITLE ===*/
  /* Button */
}
@media screen and (min-width: 1025px) {
  footer .contact {
    width: 60%;
    padding: 0 120px 0 0;
    background-position: 108px 90px;
    background-size: 24px auto;
  }
}
footer .contact h2 {
  font-size: 2.93vw;
  color: #fff;
}
@media screen and (min-width: 1025px) {
  footer .contact h2 {
    font-size: 16px;
    padding-top: 30px;
  }
}
footer .contact h2 span {
  color: #fff;
  font-weight: 400;
}
@media screen and (min-width: 1025px) {
  footer .contact h2 span {
    padding-bottom: 8px;
  }
}
footer .contact a {
  position: absolute;
  width: 20vw;
  height: 20vw;
  border-radius: 50%;
  top: -5.33%;
  right: 6.67%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1025px) {
  footer .contact a {
    width: 144px;
    height: 144px;
    right: 120px;
    transition: all 0.4s;
  }
}
footer .contact a .arrow img {
  width: 3vw;
  height: auto;
}
@media screen and (min-width: 1025px) {
  footer .contact a .arrow img {
    width: 20px;
  }
}
@media screen and (min-width: 1025px) {
  footer .contact a:hover {
    opacity: 1;
    background-color: #e3edf7;
  }
  footer .contact a:hover .arrow {
    opacity: 0;
    transform: translateX(-16px);
    animation: arrow-return 0.15s ease-out 0.08s forwards;
  }
}
footer .footer_menu {
  padding: 0 6.67%;
  font-size: 3.5vw;
  color: #fff;
  white-space: nowrap;
}
@media screen and (min-width: 1025px) {
  footer .footer_menu {
    width: 40%;
    padding: 0 0 0 120px;
    border-left: 1px solid #80b5d6;
    font-size: 12px;
  }
}
footer .footer_menu ul {
  margin: 8% 0 4%;
  display: grid;
  grid-auto-flow: column;
  -moz-column-gap: 10vw;
       column-gap: 10vw;
  grid-template-rows: repeat(4, auto);
}
@media screen and (min-width: 1025px) {
  footer .footer_menu ul {
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
footer .footer_menu ul li {
  margin-bottom: 5vw;
}
@media screen and (min-width: 1025px) {
  footer .footer_menu ul li {
    margin-bottom: 12px;
  }
}
footer .footer_menu .fb {
  margin-top: 10%;
  display: block;
  width: 8vw;
  height: auto;
}
@media screen and (min-width: 1025px) {
  footer .footer_menu .fb {
    width: 20px;
  }
}
footer .copy {
  font-size: 2.2vw;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  margin: 5% 3.73% 0;
  border-top: 1px solid #80b5d6;
  padding: 5.33% 0;
  display: block;
}
@media screen and (min-width: 1025px) {
  footer .copy {
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    width: 98%;
    font-size: 11px;
    margin: 0px auto 0 auto;
    padding: 30px 0;
  }
}
footer .copy img {
  width: 13%;
  margin: 0 2.67% 4vw;
}
@media screen and (min-width: 1025px) {
  footer .copy img {
    width: 60px;
    margin: 0 15px 0 0;
  }
}
footer .pagetop a {
  width: 10vw;
  height: 10vw;
  border-radius: 50%;
  position: absolute;
  right: 4vw;
  bottom: 24vw;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1025px) {
  footer .pagetop a {
    width: 48px;
    height: 48px;
    right: 16px;
    bottom: 16px;
    transition: all 0.4s;
  }
}
@media screen and (min-width: 1025px) {
  footer .pagetop a .arrow {
    opacity: 1;
    transform: translateY(0);
    transition: none;
  }
}
footer .pagetop a .arrow img {
  width: 2.73vw;
}
@media screen and (min-width: 1025px) {
  footer .pagetop a .arrow img {
    width: 15px;
  }
}
@media screen and (min-width: 1025px) {
  footer .pagetop a:hover {
    background-color: #e3edf7;
  }
  footer .pagetop a:hover .arrow {
    opacity: 0; /* バツっと消す */
    transform: translateY(16px);
    animation: arrow-return-v 0.15s ease-out 0.08s forwards;
  }
}
@keyframes arrow-return-v {
  0% {
    opacity: 0;
    transform: translateY(16px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

/* ---------------------------------------------------
  08: BREAD CRUMB
--------------------------------------------------- */
.breadcrumb {
  background-color: #f4f4f4;
}
.breadcrumb ol {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.867vw;
  padding: 2% 4%;
  overflow: hidden;
}
.breadcrumb ol li {
  display: flex;
  align-items: center;
}
.breadcrumb ol li::after {
  content: ">";
  padding: 0 0.5em;
  flex-shrink: 0;
}
.breadcrumb ol li:last-child::after {
  content: none;
}
.breadcrumb ol li:nth-child(-n+2) {
  flex-shrink: 0;
  white-space: nowrap;
}
.breadcrumb ol li:last-child {
  flex-shrink: 1;
  min-width: 0;
}
.breadcrumb ol li:last-child .truncate {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (min-width: 1025px) {
  .breadcrumb ol {
    width: 1040px;
    height: 31px;
    margin: 0 auto;
    font-size: 10px;
    padding: 5px 10px;
  }
}

/* ---------------------------------------------------
  09: PAGE TITLE
--------------------------------------------------- */
.page_ti {
  background-color: #006aad;
  position: relative;
  overflow: hidden;
  height: 13.33vw;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1025px) {
  .page_ti {
    height: 150px;
  }
}
.page_ti h2 {
  color: #fff;
  font-size: 3.73vw;
  padding-left: 4%;
  letter-spacing: 0.15em;
  clip-path: inset(-100px 100vw -100px 0px);
}
@media screen and (min-width: 1025px) {
  .page_ti h2 {
    width: 1040px;
    margin: 0 auto;
    font-size: 28px;
    padding-left: 10px;
  }
}
.page_ti .fig {
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  width: 45%;
  height: 100%;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .page_ti .fig {
    width: 100%;
  }
}
.page_ti .fig img {
  height: 100%;
  width: auto;
}
@media screen and (min-width: 1025px) {
  .page_ti .fig img {
    position: absolute;
    right: -100px;
    height: 150px;
  }
}

/* ---------------------------------------------------
  10: ABOUT PAGE
--------------------------------------------------- */
.about .sec_inner {
  padding: 8% 4.67% 16%;
}
@media screen and (min-width: 1025px) {
  .about .sec_inner {
    padding: 80px 0 140px;
  }
}

#about_message.about .sec_inner {
  padding-top: 0;
}

/* ---------------------------
  About: Local Nav
--------------------------- */
.about_local_nav {
  background-color: #f4f4f4;
  border-top: 1px solid #d9d9d9;
  padding: 8% 4%;
}
@media screen and (min-width: 1025px) {
  .about_local_nav {
    padding: 40px 0;
  }
}
.about_local_nav ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (min-width: 1025px) {
  .about_local_nav ul {
    width: 1040px;
    margin: 0 auto;
    flex-direction: row;
  }
}
.about_local_nav ul li {
  width: 45%;
  margin: 0 auto 5.33%;
}
@media screen and (min-width: 1025px) {
  .about_local_nav ul li {
    margin-bottom: 0;
  }
}
.about_local_nav ul li a {
  width: 100%;
  height: 9vw;
  font-size: 3.2vw;
}
@media screen and (min-width: 1025px) {
  .about_local_nav ul li a {
    height: 34px;
    font-size: 12px;
    padding: 0 58px 0 38px;
  }
}
.about_local_nav ul li:last-child {
  width: 62%;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .about_local_nav ul li {
    width: auto;
    margin-top: 0;
  }
  .about_local_nav ul li:nth-child(4) {
    margin-right: 30px;
  }
  .about_local_nav ul li:last-child {
    width: auto;
    margin-left: 30px;
    position: relative;
  }
  .about_local_nav ul li:last-child::before {
    content: "";
    position: absolute;
    width: 1px;
    height: 54px;
    background-color: #d9d9d9;
    top: -10px;
    left: -30px;
  }
}

/* ---------------------------
  About: Top
--------------------------- */
#about_top .about_mv {
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: flex-start;
}
#about_top .about_mv h3 {
  width: 52%;
}
@media screen and (min-width: 1025px) {
  #about_top .about_mv h3 {
    width: 647px;
  }
}
#about_top .about_mv .logo {
  width: 46%;
  padding-top: 16%;
}
@media screen and (min-width: 1025px) {
  #about_top .about_mv .logo {
    width: 310px;
    padding-top: 15px;
  }
}
#about_top p {
  margin-top: 9.3%;
  font-size: 3.73vw;
  line-height: 1.57;
}
@media screen and (min-width: 1025px) {
  #about_top p {
    margin-top: 60px;
    font-size: 16px;
  }
}

/* ---------------------------
  About: Message
--------------------------- */
#about_message .about_message_mv {
  position: relative;
}
@media screen and (min-width: 1025px) {
  #about_message .about_message_mv {
    width: 840px;
    margin: 70px auto 0;
  }
}
#about_message .about_message_mv .tex {
  position: absolute;
  color: #fff;
  font-weight: 500;
  top: 13%;
  left: 5%;
  width: 55%;
}
@media screen and (min-width: 1025px) {
  #about_message .about_message_mv .tex {
    top: 80px;
    left: 100px;
    width: 420px;
  }
}
#about_message .about_message_mv .tex h3 {
  font-size: 4vw;
  line-height: 1.5;
}
#about_message .about_message_mv .tex h3 span {
  font-family: "avenir-next-lt-pro", sans-serif;
  font-weight: 700;
  font-style: normal;
}
@media screen and (min-width: 1025px) {
  #about_message .about_message_mv .tex h3 {
    font-size: 36px;
  }
}
#about_message .about_message_mv .tex h4 {
  font-size: 2.4vw;
  line-height: 1.8;
  margin-top: 2em;
}
#about_message .about_message_mv .tex h4 span {
  font-size: 3vw;
  line-height: 2;
  padding-left: 0.5em;
}
@media screen and (min-width: 1025px) {
  #about_message .about_message_mv .tex h4 {
    font-size: 12px;
    margin-top: 3em;
  }
  #about_message .about_message_mv .tex h4 span {
    font-size: 16px;
  }
}
#about_message .about_message_mv fig {
  position: absolute;
}
#about_message .sec_inner.narrow {
  position: relative;
}
@media screen and (min-width: 1025px) {
  #about_message .sec_inner.narrow {
    padding-top: 0;
  }
}
#about_message .stone {
  position: relative;
  border-bottom: 1px solid #d9d9d9;
  height: 20vw;
  margin-bottom: 10%;
}
@media screen and (min-width: 1025px) {
  #about_message .stone {
    height: 160px;
    margin-bottom: 40px;
  }
}
#about_message .stone::after {
  content: "";
  position: absolute;
  width: 23vw;
  height: 20vw;
  right: 8%;
  bottom: -13.3vw;
  background: url(../img/about/message_stone.png) 0 0/23vw auto no-repeat;
}
@media screen and (min-width: 1025px) {
  #about_message .stone::after {
    background-size: 170px auto;
    width: 170px;
    height: 100px;
    right: 40px;
    bottom: -48px;
  }
}
#about_message p {
  line-height: 2;
  margin-top: 10%;
}
@media screen and (min-width: 1025px) {
  #about_message p {
    margin-top: 80px;
  }
}
#about_message .lst_purpose {
  background-color: #f4f4f4;
  color: #006aad;
  padding: 10% 4.67%;
  margin-top: 10%;
}
@media screen and (min-width: 1025px) {
  #about_message .lst_purpose {
    padding: 40px 60px;
    margin-top: 80px;
  }
}
#about_message .lst_purpose li {
  margin-left: 1.5em;
  padding-left: 0.5em;
  list-style: decimal;
  line-height: 2;
  margin-bottom: 5%;
}
@media screen and (min-width: 1025px) {
  #about_message .lst_purpose li {
    margin-bottom: 30px;
  }
}
#about_message .lst_purpose li:last-child {
  margin-bottom: 0;
}

/* ---------------------------
  About: Association
--------------------------- */
.cont_ti {
  color: #006aad;
  font-size: 4vw;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-bottom: 8.6%;
}
@media screen and (min-width: 1025px) {
  .cont_ti {
    font-size: 24px;
    margin-bottom: 40px;
  }
}

#about_association .outline {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
  border-top: 1px solid #d9d9d9;
  margin: 0 0 16%;
}
#about_association .outline dt {
  width: 25%;
  padding: 6% 0 6% 4%;
  border-bottom: 1px solid #d9d9d9;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 1025px) {
  #about_association .outline dt {
    width: 20%;
    padding: 40px 0 40px 20px;
  }
}
#about_association .outline dd {
  width: 75%;
  padding: 6% 4%;
  border-bottom: 1px solid #d9d9d9;
}
@media screen and (min-width: 1025px) {
  #about_association .outline dd {
    width: 80%;
    padding: 40px 20px;
  }
}
#about_association .outline dd span {
  font-size: 3.7vw;
}
@media screen and (min-width: 1025px) {
  #about_association .outline dd span {
    font-size: 14px;
  }
}
#about_association .gmap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border: 1px solid #d9d9d9;
}
#about_association .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#about_association .access {
  margin: 5.33% 3% 0;
  line-height: 2;
}
@media screen and (min-width: 1025px) {
  #about_association .access {
    margin: 20px 0 0;
  }
}

/* ---------------------------
  About: Officers
--------------------------- */
#about_officers .sec_inner {
  padding-left: 6.67%;
  padding-right: 6.67%;
}
@media screen and (min-width: 1025px) {
  #about_officers .sec_inner {
    padding: 70px 0 100px;
  }
}
#about_officers .lst_officers {
  display: flex;
  flex-wrap: wrap;
}
#about_officers .lst_officers li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 13.3%;
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li {
    margin-bottom: 100px;
  }
  #about_officers .lst_officers li.president {
    width: 38%;
  }
  #about_officers .lst_officers li.vice_president {
    width: 62%;
  }
}
#about_officers .lst_officers li h3 {
  width: 100%;
}
#about_officers .lst_officers li figure {
  width: 46%;
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li figure {
    width: 180px;
  }
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li.president figure, #about_officers .lst_officers li.vice_president figure {
    width: 240px;
  }
}
#about_officers .lst_officers li figcaption {
  line-height: 1.5;
}
#about_officers .lst_officers li figcaption h4 {
  font-size: 3.47vw;
  padding: 0.8em 0 0.6em;
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li figcaption h4 {
    font-size: 16px;
  }
}
#about_officers .lst_officers li figcaption p {
  font-size: 2.67vw;
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li figcaption p {
    font-size: 12px;
    line-height: 1.8;
  }
}
#about_officers .lst_officers li.director {
  margin-bottom: 0;
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li.director {
    margin-bottom: 30px;
  }
}
#about_officers .lst_officers li.director figure {
  margin-bottom: 9%;
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li.director figure {
    margin-bottom: 70px;
  }
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li.audit {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li.audit figure {
    margin-bottom: 70px;
  }
}
#about_officers .lst_officers li.advisor figure, #about_officers .lst_officers li.secretariat figure {
  border-top: 1px solid #d9d9d9;
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li.advisor, #about_officers .lst_officers li.secretariat {
    width: 400px;
    margin-bottom: 0;
  }
  #about_officers .lst_officers li.advisor figure, #about_officers .lst_officers li.secretariat figure {
    margin-bottom: 249px;
  }
  #about_officers .lst_officers li.advisor figure figcaption, #about_officers .lst_officers li.secretariat figure figcaption {
    padding-top: 30px;
  }
}
@media screen and (min-width: 1025px) {
  #about_officers .lst_officers li.secretariat {
    width: 600px;
  }
}
#about_officers .lst_officers li.secretariat figure {
  margin-bottom: 30px;
}

/* ---------------------------
  About: activities
--------------------------- */
#about_activities ol {
  margin-top: 10vw;
  padding-bottom: 10%;
}
@media screen and (min-width: 1025px) {
  #about_activities ol {
    margin-top: 50px;
    padding-bottom: 90px;
  }
}
#about_activities ol li {
  margin-left: 1.5em;
  padding-left: 0.5em;
  list-style: decimal;
  line-height: 1.8;
  margin-bottom: 5%;
}
@media screen and (min-width: 1025px) {
  #about_activities ol li {
    margin-bottom: 30px;
  }
}
#about_activities ol li:last-child {
  margin-bottom: 0;
}

/* ---------------------------------------------------
  11: MEMBERSHIP PAGE
--------------------------------------------------- */
#membership p {
  font-size: 3.2vw;
  line-height: 2;
}
@media screen and (min-width: 1025px) {
  #membership p {
    font-size: 16px;
  }
}
#membership .cont_ti {
  margin-top: 10%;
}
@media screen and (min-width: 1025px) {
  #membership .cont_ti {
    margin-top: 70px;
  }
}
#membership .lst_membership {
  margin-bottom: 17.6%;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership {
    margin-bottom: 120px;
  }
}
#membership .lst_membership > li {
  background-color: #f4f4f4;
  border-radius: 12px;
  padding: 8.7% 6%;
  margin-bottom: 5.33%;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li {
    padding: 50px;
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#membership .lst_membership > li:last-child {
  margin-bottom: 0;
}
#membership .lst_membership > li header {
  display: flex;
  align-items: center;
  margin-bottom: 3.2%;
  justify-content: space-between;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header {
    width: 100%;
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px;
    margin-bottom: 40px;
  }
}
#membership .lst_membership > li header h4 {
  width: 60%;
  font-size: 6vw;
  padding-left: 9vw;
  position: relative;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header h4 {
    width: 65%;
    font-size: 28px;
    padding-left: 50px;
  }
}
#membership .lst_membership > li header h4::after {
  content: "";
  position: absolute;
  left: 0;
}
#membership .lst_membership > li header h4.indivi::after {
  background: url(../img/membership/ic_indivi.svg) 0 0/8vw auto no-repeat;
  width: 11vw;
  height: 11vw;
  top: -1.8vw;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header h4.indivi::after {
    background-size: 32px auto;
    width: 32px;
    height: 32px;
    top: -2px;
  }
}
#membership .lst_membership > li header h4.corp {
  padding-left: 9vw;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header h4.corp {
    padding-left: 54px;
  }
}
#membership .lst_membership > li header h4.corp::after {
  background: url(../img/membership/ic_corp.svg) 0 0/8.7vw auto no-repeat;
  width: 7vw;
  height: 10vw;
  top: -1.7vw;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header h4.corp::after {
    background-size: 36px auto;
    width: 36px;
    height: 36px;
    top: -5px;
  }
}
#membership .lst_membership > li header h4.support {
  padding-left: 12vw;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header h4.support {
    padding-left: 70px;
  }
}
#membership .lst_membership > li header h4.support::after {
  background: url(../img/membership/ic_support.svg) 0 0/11.3vw auto no-repeat;
  width: 12vw;
  height: 8vw;
  top: -2px;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header h4.support::after {
    background-size: 56px auto;
    width: 56px;
    height: 35px;
  }
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header .fee {
    width: 35%;
    display: flex;
  }
}
#membership .lst_membership > li header .fee li {
  background-color: #fff;
  border: 1px solid #006aad;
  color: #006aad;
  border-radius: 5px;
  padding: 1.3vw 1em;
  text-align: center;
  font-size: 2.8vw;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header .fee li {
    font-size: 12px;
    padding: 0.5em 1em;
  }
}
#membership .lst_membership > li header .fee li:last-child {
  margin-top: 0.5em;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li header .fee li:last-child {
    margin: 0 0 0 1em;
  }
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li .pic_tex {
    width: 60%;
  }
}
#membership .lst_membership > li figure {
  margin-bottom: 4%;
}
#membership .lst_membership > li dl {
  display: flex;
  margin-top: 8.1%;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li dl {
    width: 35%;
    margin-top: 0;
    flex-direction: column;
  }
}
#membership .lst_membership > li dl dt {
  width: 30%;
  font-weight: 400;
  color: #006aad;
}
#membership .lst_membership > li dl dd {
  width: 70%;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li dl dt, #membership .lst_membership > li dl dd {
    width: 100%;
  }
  #membership .lst_membership > li dl dt {
    margin-bottom: 20px;
  }
}
#membership .lst_membership > li .lst_service li {
  margin-bottom: 5%;
  line-height: 1.3;
  padding-left: 1em;
  text-indent: -1em;
}
#membership .lst_membership > li .note {
  font-size: 3vw;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  #membership .lst_membership > li .note {
    font-size: 12px;
  }
}
#membership .lst_step {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6vw;
}
@media screen and (min-width: 1025px) {
  #membership .lst_step {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
  }
}
#membership .lst_step li {
  background-color: #f4f4f4;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  #membership .lst_step li {
    width: 253px;
  }
}
#membership .lst_step li header {
  display: flex;
  align-items: center;
}
#membership .lst_step li header div {
  display: block;
  background-color: #006aad;
  color: #fff;
  font-size: 2.67vw;
  text-align: center;
  padding: 8% 0 5%;
  line-height: 1.2;
  width: 30%;
}
@media screen and (min-width: 1025px) {
  #membership .lst_step li header div {
    font-size: 16px;
    width: 42%;
  }
}
#membership .lst_step li header div span {
  font-size: 6.67vw;
  display: block;
  font-family: "Outfit", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
@media screen and (min-width: 1025px) {
  #membership .lst_step li header div span {
    font-size: 40px;
  }
}
#membership .lst_step li header h4 {
  font-size: 4vw;
  text-align: center;
  line-height: 1.3;
  width: 70%;
  padding-top: 3%;
}
@media screen and (min-width: 1025px) {
  #membership .lst_step li header h4 {
    font-size: 24px;
  }
  #membership .lst_step li header h4.small {
    font-size: 22px;
    text-align: left;
    padding-left: 10px;
  }
}
#membership .lst_step li p {
  padding: 10%;
  font-size: 2.67vw;
}
@media screen and (min-width: 1025px) {
  #membership .lst_step li p {
    padding: 15px 30px 30px;
    font-size: 12px;
  }
}
#membership .lst_notes {
  margin-top: 6%;
  line-height: 2;
  font-size: 2.67vw;
}
@media screen and (min-width: 1025px) {
  #membership .lst_notes {
    margin-top: 70px;
    font-size: 16px;
  }
}
#membership .lst_notes li {
  padding-left: 1.5em;
  text-indent: -1.5em;
}
#membership .lst_notes li.no_indent {
  padding-left: 0;
  text-indent: 0;
}
#membership .btn_group {
  margin-top: 10%;
}
@media screen and (min-width: 1025px) {
  #membership .btn_group {
    width: 840px;
    margin: 70px 0 0;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 1025px) {
  #membership .btn_group .button {
    width: 260px;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1025px) {
  #membership .btn_group .button.membership {
    width: 100%;
  }
}
#membership .btn_group .button a {
  width: 75%;
}
@media screen and (min-width: 1025px) {
  #membership .btn_group .button a {
    width: 260px;
  }
}
#membership .benefit {
  padding-bottom: 6%;
}
@media screen and (min-width: 1025px) {
  #membership .benefit {
    padding-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#membership .benefit li {
  width: 100%;
  line-height: 1.8;
  margin-bottom: 2%;
}
@media screen and (min-width: 1025px) {
  #membership .benefit li {
    width: 48%;
  }
}
#membership .benefit li span {
  color: #006aad;
}

/* ---------------------------------------------------
  12: POST - LIST PAGE
--------------------------------------------------- */
@media screen and (min-width: 1025px) {
  .list_page .sec_inner {
    width: 1040px;
  }
}
/* ---------------------------
  Filter Menu
--------------------------- */
.filter_menu {
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #ccc;
  margin-bottom: 8%;
}
@media screen and (min-width: 1025px) {
  .filter_menu {
    margin: 0 auto 80px;
  }
}
.filter_menu li {
  padding: 0.1em 4% 0.2em;
  padding: 0.5em 1.2em;
  margin-bottom: 5.33%;
  border-left: 1px solid #ccc;
}
@media screen and (min-width: 1025px) {
  .filter_menu li {
    margin-bottom: 15px;
  }
}
.filter_menu li:first-child {
  border-left: none;
}
.filter_menu li.active {
  color: #006aad;
}

/* ---------------------------
  Page Navigation
--------------------------- */
.wp-pagenavi {
  margin: 10% auto;
  font-size: 2.67vw;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1025px) {
  .wp-pagenavi {
    margin: 80px auto 0;
    font-size: 16px;
  }
}
.wp-pagenavi a {
  color: #006aad;
}
.wp-pagenavi span.current,
.wp-pagenavi a.page,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
  margin: 0 10px 0 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  line-height: 40px;
  text-align: center;
  box-sizing: border-box;
  justify-content: center;
  display: flex;
  align-items: center;
}
.wp-pagenavi span.current {
  color: #b2b2b2;
}
.wp-pagenavi a.page:hover,
.wp-pagenavi .first,
.wp-pagenavi .last {
  background: #77a0d1;
  color: #fff;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  border-radius: 50%;
  border: 1px solid #006aad;
  width: 8vw;
  height: 8vw;
  background: url(../img/common/arrow_b_right.svg) 50% 50%/2vw 2vw no-repeat;
}
@media screen and (min-width: 1025px) {
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    width: 40px;
    height: 40px;
    background-size: 10px 10px;
  }
}
.wp-pagenavi .previouspostslink {
  border: 1px solid #b2b2b2;
  background-image: url(../img/common/arrow_g_left.svg);
  margin-right: 5%;
}
@media screen and (min-width: 1025px) {
  .wp-pagenavi .previouspostslink {
    margin-right: 20px;
  }
}
.wp-pagenavi .nextpostslink {
  border: 1px solid #006aad;
  margin-left: 5%;
}
@media screen and (min-width: 1025px) {
  .wp-pagenavi .nextpostslink {
    margin-left: 20px;
  }
}

/* ---------------------------
  News List
--------------------------- */
@media screen and (min-width: 1025px) {
  .list_page.news .sec_inner {
    padding: 100px 0 160px;
  }
  .list_page.news .lst_news .date_cat {
    width: 21%;
    padding-top: 3px;
  }
  .list_page.news .lst_news .ttl_tag {
    width: 79%;
  }
}
@media screen and (min-width: 1025px) {
  .list_page.news .filter_menu {
    width: 54%;
    margin: 0 auto 80px;
  }
}

/* ---------------------------
  Events list
--------------------------- */
@media screen and (min-width: 1025px) {
  .list_page .sec_inner {
    padding: 120px 0 160px;
  }
}
.list_page .filter_menu {
  display: flex;
  flex-wrap: wrap;
}
.list_page .filter_menu li:nth-child(4) {
  border: 0;
}
@media screen and (min-width: 1025px) {
  .list_page .filter_menu {
    width: 85%;
    margin: 0 auto 80px;
  }
  .list_page .filter_menu li:nth-child(4) {
    border-left: 1px solid #d9d9d9;
  }
}
@media screen and (min-width: 1025px) {
  .list_page .lst_events {
    gap: 40px;
  }
}

/* ---------------------------
  Supporting Mem List
--------------------------- */
.lst_general {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.8vw 5.6vw;
}
@media screen and (min-width: 1025px) {
  .lst_general {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
}
.lst_general a {
  display: block;
  width: 100%;
  height: 100%;
}
.lst_general .post_ti {
  font-size: 2.93vw;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-top: 5%;
}
@media screen and (min-width: 1025px) {
  .lst_general .post_ti {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.06em;
    margin-top: 5%;
  }
}

/* ---------------------------------------------------
  13: POST - DETAIL PAGE
--------------------------------------------------- */
.detail {
  padding: 0;
  /* member access */
}
@media screen and (min-width: 1025px) {
  .detail {
    width: 1040px;
    padding-top: 100px;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1025px) {
  .detail article {
    width: 715px;
  }
}
@media screen and (min-width: 1025px) {
  .detail aside {
    width: 240px;
  }
}
.detail article figure img {
  aspect-ratio: 16/9;
}
.detail article header {
  margin: 8% 4% 0;
  border-left: 2px solid #006aad;
  padding-left: 4%;
}
@media screen and (min-width: 1025px) {
  .detail article header {
    margin: 40px 30px 0 0;
    padding-bottom: 6px;
  }
}
.detail article header span {
  display: inline-block;
}
.detail article header .lb_cat {
  margin: 0;
}
.detail article header h3 {
  font-size: 4.27vw;
  line-height: 1.5;
  margin-top: 2%;
}
@media screen and (min-width: 1025px) {
  .detail article header h3 {
    font-size: 24px;
    margin-top: 2%;
  }
}
.detail article header time {
  display: block;
  padding: 2% 0 4%;
  font-size: 2.67vw;
}
@media screen and (min-width: 1025px) {
  .detail article header time {
    padding: 15px 0 20px;
    font-size: 16px;
  }
}
.detail article header time.npb {
  padding-bottom: 0;
}
@media screen and (min-width: 1025px) {
  .detail article header .lst_tag li {
    font-size: 16px;
  }
}
.detail article .entry_content {
  padding: 8% 4% 10%;
}
@media screen and (min-width: 1025px) {
  .detail article .entry_content {
    padding: 70px 0 70px;
  }
}
.detail article .entry_content p, .detail article .entry_content h4 {
  padding: 0 2.9%;
}
@media screen and (min-width: 1025px) {
  .detail article .entry_content p, .detail article .entry_content h4 {
    padding: 0;
  }
}
.detail article .entry_content p {
  font-size: 3.2vw;
  line-height: 2;
  margin-bottom: 2em;
}
@media screen and (min-width: 1025px) {
  .detail article .entry_content p {
    font-size: 16px;
  }
}
.detail article .entry_content h4 {
  font-size: 3.73vw;
  line-height: 1.3;
  margin: 2.2em 0;
}
@media screen and (min-width: 1025px) {
  .detail article .entry_content h4 {
    font-size: 20px;
  }
}
.detail article .entry_content img {
  margin-bottom: 2em;
}
@media screen and (min-width: 1025px) {
  .detail article .btn_group {
    width: 380px;
  }
}
.detail article .btn_group .button a {
  width: 45%;
}
@media screen and (min-width: 1025px) {
  .detail article .btn_group .button a {
    width: 170px;
  }
}
@media screen and (min-width: 1025px) {
  .detail article .button.mem {
    margin: 0;
  }
}
.detail article .button.mem a {
  position: relative;
  padding-left: 12%;
}
@media screen and (min-width: 1025px) {
  .detail article .button.mem a {
    padding-left: 46px;
  }
}
.detail article .button.mem a::before {
  content: "";
  position: absolute;
  width: 3.6vw;
  height: 3.6vw;
  background: url(../img/common/btn_mem_ic_w.svg) 0 0/3.6vw auto no-repeat;
  left: 8%;
  top: 25%;
}
@media screen and (min-width: 1025px) {
  .detail article .button.mem a::before {
    background-size: 16px 16px;
  }
}
.detail .member_access {
  background-color: #f4f4f4;
  padding: 5.33% 0 7.33%;
  margin-bottom: 10%;
}
@media screen and (min-width: 1025px) {
  .detail .member_access {
    padding: 50px 0 55px;
  }
}
.detail .member_access p {
  text-align: center;
  line-height: 2;
  margin-bottom: 8%;
}
@media screen and (min-width: 1025px) {
  .detail .member_access p {
    margin-bottom: 30px;
  }
}
.detail .member_access p span {
  color: #006aad;
}

/* back to home */
.back_to_home {
  background-color: #f4f4f4;
  padding: 8% 0;
}
@media screen and (min-width: 1025px) {
  .back_to_home {
    padding: 40px 0;
  }
}

.back_to_list {
  margin: 0 0 15%;
}

/* ---------------------------
  Post: Aside
--------------------------- */
aside.sidebar .aside_inner {
  padding: 2.67% 4% 6.67%;
  /* Title */
  /* List */
}
@media screen and (min-width: 1025px) {
  aside.sidebar .aside_inner {
    padding: 20px 0 0;
  }
}
aside.sidebar .aside_inner .sec_ti {
  font-size: 3.73vw;
  color: #006aad;
}
@media screen and (min-width: 1025px) {
  aside.sidebar .aside_inner .sec_ti {
    font-size: 14px;
    padding-bottom: 40px;
  }
}
aside.sidebar .aside_inner .sec_ti span {
  font-size: 6.67vw;
  color: #262626;
  line-height: 1.1;
  padding-bottom: 0.3em;
}
@media screen and (min-width: 1025px) {
  aside.sidebar .aside_inner .sec_ti span {
    font-size: 20px;
    letter-spacing: 0.06em;
  }
}
aside.sidebar .aside_inner .lst_aside {
  margin-bottom: 10%;
}
@media screen and (min-width: 1025px) {
  aside.sidebar .aside_inner .lst_aside {
    margin: 0 0 40px;
  }
}
aside.sidebar .aside_inner .lst_aside li {
  margin-bottom: 5%;
}
@media screen and (min-width: 1025px) {
  aside.sidebar .aside_inner .lst_aside li {
    margin-bottom: 23px;
  }
}
aside.sidebar .aside_inner .lst_aside li a {
  display: block;
  width: 100%;
  padding: 0 0 2.67%;
  border-bottom: 1px solid #dedede;
}
@media screen and (min-width: 1025px) {
  aside.sidebar .aside_inner .lst_aside li a {
    padding: 0 0 23px;
  }
}
aside.sidebar .aside_inner .lst_aside .lb_date {
  font-size: 3.47vw;
  letter-spacing: 0.1em;
  padding: 0 0 0.8em;
  display: inline-block;
}
@media screen and (min-width: 1025px) {
  aside.sidebar .aside_inner .lst_aside .lb_date {
    font-size: 14px;
    padding: 0 0 10px;
  }
}
aside.sidebar .aside_inner .lst_aside .post_ti {
  font-size: 3.47vw;
  line-height: 1.46;
}
@media screen and (min-width: 1025px) {
  aside.sidebar .aside_inner .lst_aside .post_ti {
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.08em;
  }
}
aside.sidebar .aside_inner .lst_aside .lst_tag {
  margin-top: 0.5em;
}
aside.sidebar .aside_inner .date_cat,
aside.sidebar .aside_inner .ttl_tag {
  width: 100%;
}
aside.sidebar .aside_inner .date_cat {
  margin-bottom: 0.8em;
}

/* ---------------------------------------------------
  14: PRIVACY POLICY
--------------------------------------------------- */
#privacy-policy .sec_inner {
  padding: 8% 4.67% 16%;
}
@media screen and (min-width: 1025px) {
  #privacy-policy .sec_inner {
    padding: 80px 0 140px;
  }
}
#privacy-policy p {
  line-height: 1.8;
}
#privacy-policy .mt {
  margin-top: 5%;
}
@media screen and (min-width: 1025px) {
  #privacy-policy .mt {
    margin-top: 15px;
  }
}
#privacy-policy .cont_ti {
  margin: 12% 0 5%;
}
@media screen and (min-width: 1025px) {
  #privacy-policy .cont_ti {
    margin: 60px 0 30px;
  }
}
#privacy-policy ul {
  margin-top: 4%;
}
#privacy-policy ul li {
  padding: 0.3em 0;
  line-height: 1.5;
  text-indent: -1.4em;
  margin-left: 1.4em;
}
@media screen and (min-width: 1025px) {
  #privacy-policy ul {
    margin-top: 20px;
  }
  #privacy-policy ul li {
    padding: 5px 0;
  }
}
#privacy-policy .notes {
  font-size: 3vw;
  margin-top: 5%;
}
@media screen and (min-width: 1025px) {
  #privacy-policy .notes {
    font-size: 13px;
    margin-top: 20px;
  }
}/*# sourceMappingURL=style.css.map */