@charset "UTF-8";
/* ------------------------------
	ã¬ã¹ãã³ã·ã
------------------------------ */
/* ------------------------------
	// px to vw
------------------------------ */
/* ------------------------------
// px to vh
------------------------------ */
/* ------------------------------
	ãã©ã³ã
------------------------------ */
@import url("assets/css2");
@import url("assets/css2");
@import url("assets/css2");
/* ------------------------------
	ã«ã©ã¼
------------------------------ */
/* ------------------------------
	ã¦ã§ã¤ãå¤æ
------------------------------ */
/* ----------------------------------------------------------------------------------------------------
*  åºæ¬æå ±
* --------------------------------------------------------------------------------------------------*/
html,
body {
  height: 100%;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
}

body {
  -webkit-text-size-adjust: 100%;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
figure,
form {
  margin: 0;
  padding: 0;
  border: none;
  list-style-type: none;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
figure,
div,
form,
input,
textarea,
select,
button {
  font-style: normal;
  font-weight: normal;
  font-family: "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-align: left;
  word-break: break-word;
  line-break: strict;
  line-height: 1;
  color: #1d1d1d;
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 768px) {
  body,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  address,
  ul,
  ol,
  li,
  dl,
  dt,
  dd,
  table,
  th,
  td,
  img,
  figure,
  div,
  form,
  input,
  textarea,
  select,
  button {
    font-size: 1.3rem;
  }
}

.kids h1,
.kids h2,
.kids h3,
.kids h4,
.kids h5,
.kids h6,
.kids p,
.kids address,
.kids ul,
.kids ol,
.kids li,
.kids dl,
.kids dt,
.kids dd,
.kids table,
.kids th,
.kids td,
.kids img,
.kids figure,
.kids div,
.kids form,
.kids input,
.kids textarea,
.kids select,
.kids button {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
}
.kids .footer_wrap .footer_nav .footer_nav_list .footer_nav_item > a,
.kids .footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_txt {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
}
.kids .gnav_btm .gnav_btm_list .gnav_btm_list_item {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

table {
  border-spacing: 0;
}

blockquote {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.4s ease-out;
  transition: opacity 0.4s ease-out;
}

@media screen and (min-width: 769px) {
  a:hover {
    opacity: 0.7;
  }
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}
.page_wrap {
  position: relative;
}
.page_wrap.fix::before, .page_wrap.fix::after {
  transform: translate(0, 0);
}
.page_wrap::before, .page_wrap::after {
  position: fixed;
  z-index: 1000;
  top: 0;
  content: "";
  display: block;
  width: 6px;
  height: 100vh;
  background: #131313;
  transition: transform 0.4s ease-out;
}
@media screen and (max-width: 768px) {
  .page_wrap::before, .page_wrap::after {
    width: 3px;
    display: none;
  }
}
.page_wrap::before {
  left: 0;
  transform: translate(-6px, 0);
}
.page_wrap::after {
  right: 0;
  transform: translate(6px, 0);
}
.page_wrap.white {
  background: #f9f9f9;
}

.wrap {
  max-width: 1120px;
  width: 94%;
  margin: 0 auto;
}
@media screen and (min-width: 1401px) {
  .wrap {
    width: 90%;
  }
}
@media screen and (max-width: 768px) {
  .wrap {
    width: 90%;
    max-width: initial;
  }
}

.content {
  overflow: hidden;
  -webkit-transition: filter 0.2s linear;
  transition: filter 0.2s linear;
}

.footer_info,
.footer_wrap {
  -webkit-transition: filter 0.2s linear;
  transition: filter 0.2s linear;
}

.en {
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
}

.en-kids {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
}

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
.kids .en {
  font-family: "Zen Maru Gothic", serif !important;
  font-weight: 500;
}

/* ----------------------------------------------------------------------------------------------------
*  ãããã¼
* --------------------------------------------------------------------------------------------------*/
.page_wrap {
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .page_wrap {
    padding-top: 70px;
  }
}

.header_wrap {
  position: absolute;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-transition: background 0.4s ease-out;
  transition: background 0.4s ease-out;
}
@media screen and (max-width: 768px) {
  .header_wrap {
    position: absolute;
  }
}
.header_wrap .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 100%;
  width: 100%;
  padding: 0 34px;
  height: 120px;
}
@media screen and (max-width: 768px) {
  .header_wrap .wrap {
    width: 92%;
    height: 70px;
    padding: 0;
  }
}
.header_wrap .logo {
  width: 236px;
}
@media screen and (max-width: 768px) {
  .header_wrap .logo {
    width: 200px;
  }
}
.header_wrap .logo a {
  display: block;
}
.header_wrap .header_nav {
  display: flex;
  align-items: center;
}
.header_wrap .header_nav_list {
  display: flex;
  align-items: center;
  gap: 25px;
}
@media screen and (max-width: 1100px) {
  .header_wrap .header_nav_list {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .header_wrap .header_nav_list {
    display: none;
  }
}
.header_wrap .header_nav_list .header_nav_item {
  position: relative;
  display: flex;
  align-items: center;
  height: 60px;
}
.header_wrap .header_nav_list .header_nav_item a,
.header_wrap .header_nav_list .header_nav_item .header_nav_txt {
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.01em;
}
.header_wrap .header_nav_list .header_nav_item a {
  position: relative;
}
@media screen and (min-width: 769px) {
  .header_wrap .header_nav_list .header_nav_item a::before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #1d1d1d;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s ease-out;
  }
  .header_wrap .header_nav_list .header_nav_item a:hover {
    opacity: 1;
  }
  .header_wrap .header_nav_list .header_nav_item a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
.header_wrap .header_nav_list .header_nav_item .header_nav_sub_list {
  position: absolute;
  z-index: 9999;
  top: 50px;
  left: -15px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.9);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
  transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
}
.header_wrap .header_nav_list .header_nav_item .header_nav_sub_list .header_nav_sub_item {
  white-space: nowrap;
}
.header_wrap .header_nav_list .header_nav_item .header_nav_sub_list .header_nav_sub_item + .header_nav_sub_item {
  margin-top: 6px;
}
.header_wrap .header_nav_list .header_nav_item .header_nav_sub_list .header_nav_sub_item a {
  font-size: 1.3rem;
  line-height: 1.3;
}
@media screen and (min-width: 769px) {
  .header_wrap .header_nav_list .header_nav_item:hover .header_nav_sub_list {
    opacity: 1;
    visibility: visible;
  }
}
.header_wrap .header_btn_box {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .header_wrap .header_btn_box {
    gap: 5px;
  }
}
.header_wrap .header_btn_box .header_flex {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 768px) {
  .header_wrap .header_btn_box .header_flex {
    gap: 5px;
  }
}
.header_wrap .header_btn_box .header_flex .txt {
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif !important;
  position: relative;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #9f9f9f;
  font-size: 1.6rem;
}
@media screen and (min-width: 769px) {
  .header_wrap .header_btn_box .header_flex .txt {
    transition: 0.4s ease-out;
  }
  .header_wrap .header_btn_box .header_flex .txt:hover {
    opacity: 1;
    color: #1d1d1d;
  }
}
.header_wrap .header_btn_box .header_flex .txt.current {
  color: #1d1d1d;
}
.header_wrap .header_btn_box .header_flex .txt.current:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 4px);
  width: 4px;
  height: 4px;
  background-color: #1d1d1d;
  border-radius: 50%;
}
.header_wrap .header_btn_box .header_flex.--kids .txt {
  font-family: "Zen Maru Gothic", serif !important;
  font-weight: bold;
  padding-bottom: 5px;
}
.header_wrap .header_btn_box .header_btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 40px;
  padding-top: 2px;
  border-radius: 1px;
  border: 1px solid #e2e2e2;
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .header_wrap .header_btn_box .header_btn a {
    width: 80px;
    height: 30px;
    font-size: 1.6rem;
  }
}
.header_wrap .header_btn_box .header_btn a > * {
  position: relative;
  z-index: 2;
}
.header_wrap .header_btn_box .header_btn a .btn_txt {
  overflow: hidden;
}
.header_wrap .header_btn_box .header_btn a .btn_txt span {
  display: block;
  padding: 0.1em 0;
}
@media screen and (min-width: 769px) {
  .header_wrap .header_btn_box .header_btn a::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #9f9f9f;
    opacity: 0;
    -webkit-transition: transform 0.4s ease, opacity 0.4s ease-out;
    transition: transform 0.4s ease, opacity 0.4s ease-out;
  }
  .header_wrap .header_btn_box .header_btn a:hover {
    opacity: 1;
    color: #1d1d1d;
  }
  .header_wrap .header_btn_box .header_btn a:hover::before {
    opacity: 1;
    background-color: #fff;
  }
  .header_wrap .header_btn_box .header_btn a:hover .btn_txt span {
    animation: btntxtup 0.4s ease-out forwards;
  }
}
.header_wrap .header_btn_box .header_btn.black a {
  background: #1d1d1d;
  border-color: #1d1d1d;
  color: #f9f9f9;
}
@media screen and (min-width: 769px) {
  .header_wrap .header_btn_box .header_btn.black a:hover {
    background: #fff;
    color: #1d1d1d;
  }
  .header_wrap .header_btn_box .header_btn.black a:hover::before {
    background: #fff;
  }
}
.header_wrap .header_btn_box .header_btn.black a::before {
  background: #9f9f9f;
}
@media screen and (min-width: 769px) {
  .header_wrap .header_btn_box .header_btn.dl {
    margin-left: 25px;
  }
}
@media screen and (max-width: 768px) {
  .header_wrap .header_btn_box .header_btn.dl, .header_wrap .header_btn_box .header_btn.cn {
    display: none;
  }
}
.header_wrap .header_btn_box .header_btn.ki a {
  width: 65px;
}
@media screen and (max-width: 768px) {
  .header_wrap .header_btn_box .header_btn.ki a {
    width: 70px;
  }
}

/* ------------------------------
	.gnav_btm
------------------------------ */
.gnav_btm {
  position: fixed;
  z-index: 10002;
  bottom: -80px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 75px;
  padding: 0 29px 0 34px;
  background: #131313;
  -webkit-transition: bottom 0.4s ease-out;
  transition: bottom 0.4s ease-out;
}
@media screen and (max-width: 1000px) {
  .gnav_btm {
    padding: 0 1% 0 3%;
  }
}
@media screen and (max-width: 800px) {
  .gnav_btm {
    padding: 0 0 0 2%;
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm {
    bottom: -60px;
    height: 55px;
    padding: 0 3%;
    gap: 0 10px;
    opacity: 1;
    visibility: visible;
  }
}
.gnav_btm.fix {
  bottom: 0;
}
.gnav_btm.close {
  bottom: -80px !important;
}
@media screen and (max-width: 768px) {
  .gnav_btm.close {
    bottom: -60px !important;
  }
}
.gnav_btm.active {
  bottom: 0 !important;
}
.gnav_btm .logo_box {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1200px) {
  .gnav_btm .logo_box {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm .logo_box {
    width: 160px;
  }
}
.gnav_btm .logo_box .logo {
  width: 215px;
}
@media screen and (max-width: 1000px) {
  .gnav_btm .logo_box .logo {
    width: 180px;
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm .logo_box .logo {
    width: auto;
  }
}
.gnav_btm .logo_box .logo_txt {
  margin-left: 20px;
  font-size: 1.3rem;
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .gnav_btm .logo_box .logo_txt {
    margin-left: 0;
    margin-top: 8px;
  }
}
@media screen and (max-width: 1000px) {
  .gnav_btm .logo_box .logo_txt {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm .logo_box .logo_txt {
    display: none;
  }
}
.gnav_btm .gnav_btm_ico {
  position: absolute;
  top: 14px;
  left: 30%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
  -webkit-transition: opacity 0.4s ease-out, left 0.4s ease-out;
  transition: opacity 0.4s ease-out, left 0.4s ease-out;
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_ico {
    display: none;
  }
}
.gnav_btm .gnav_btm_ico.active {
  opacity: 1;
}
.gnav_btm .gnav_btm_nav {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_nav {
    flex-shrink: 0;
    justify-content: flex-end;
  }
}
@media screen and (min-width: 769px) {
  .gnav_btm .gnav_btm_nav .pc-none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_nav .mb-none {
    display: none;
  }
}
.gnav_btm .gnav_btm_list {
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_list {
    margin-left: auto;
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_list.pc {
    display: none;
  }
}
.gnav_btm .gnav_btm_list.mb {
  opacity: 0;
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_list.mb {
    opacity: 1;
    visibility: visible;
  }
}
.gnav_btm .gnav_btm_list + .gnav_btm_list {
  margin-left: 26px;
  padding-left: 17px;
}
@media screen and (max-width: 1000px) {
  .gnav_btm .gnav_btm_list + .gnav_btm_list {
    margin-left: 14px;
    padding-left: 9px;
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_list + .gnav_btm_list {
    gap: 0 8px;
    margin-left: 0;
    padding-left: 0;
  }
}
.gnav_btm .gnav_btm_list + .gnav_btm_list::before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 1px;
  height: 15px;
  background: #616161;
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_list + .gnav_btm_list::before {
    height: 33px;
    background: #383838;
    display: none;
  }
}
.gnav_btm .gnav_btm_list .gnav_btm_list_item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px;
  padding: 0 11px;
  color: #efefef;
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-size: 1.8rem;
  font-weight: 400;
}
@media screen and (max-width: 1000px) {
  .gnav_btm .gnav_btm_list .gnav_btm_list_item {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_list .gnav_btm_list_item {
    flex-shrink: 0;
    height: 33px;
    padding: 0;
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 1000px) {
  .gnav_btm .gnav_btm_list .gnav_btm_list_item + .gnav_btm_list_item {
    margin-left: 0;
  }
}
.gnav_btm .gnav_btm_list .gnav_btm_list_item a {
  position: relative;
  display: block;
}
@media screen and (min-width: 769px) {
  .gnav_btm .gnav_btm_list .gnav_btm_list_item a::before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s ease-out;
  }
  .gnav_btm .gnav_btm_list .gnav_btm_list_item a:hover {
    opacity: 1;
  }
  .gnav_btm .gnav_btm_list .gnav_btm_list_item a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
@media screen and (max-width: 768px) {
  .gnav_btm .gnav_btm_list .gnav_btm_list_item a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0px 0px 0;
    border: none;
  }
  .gnav_btm .gnav_btm_list .gnav_btm_list_item a.ico-youtube {
    width: 21px;
    margin-right: 10px;
  }
  .gnav_btm .gnav_btm_list .gnav_btm_list_item a.ico-x {
    width: 13px;
    margin-right: 10px;
  }
  .gnav_btm .gnav_btm_list .gnav_btm_list_item a.ico-line {
    width: 18px;
    margin-right: 10px;
  }
}
.gnav_btm .megamenu {
  position: absolute;
  right: 0;
  bottom: 69px;
  background: #131313;
}
@media screen and (max-width: 768px) {
  .gnav_btm .megamenu {
    bottom: 50px;
    width: 100%;
  }
}
.gnav_btm .megamenu .ttl {
  flex-shrink: 0;
  margin-right: 44px;
  font-size: 6rem;
  font-weight: 300;
  letter-spacing: -0.01em;
  color: #f9f9f9;
}
@media screen and (max-width: 768px) {
  .gnav_btm .megamenu .ttl {
    margin-right: 0;
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0;
  }
}
.gnav_btm .megamenu .megamenu_wrap {
  display: none;
  width: fit-content;
  padding: 40px 34px;
}
@media screen and (max-width: 768px) {
  .gnav_btm .megamenu .megamenu_wrap {
    width: 100%;
    min-width: 0;
    max-height: calc(100vh - 50px);
    overflow: auto;
    overflow-y: auto;
    padding: 30px 8%;
  }
}
.gnav_btm .megamenu .megamenu_wrap.open {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .gnav_btm .megamenu .megamenu_wrap.open {
    display: block;
  }
}
.gnav_btm .megamenu .megamenu_nav {
  position: relative;
  padding-top: 15px;
}
@media screen and (max-width: 768px) {
  .gnav_btm .megamenu .megamenu_nav {
    display: block;
    padding-top: 20px;
  }
}
.gnav_btm .megamenu .megamenu_nav .megamenu_nav__items {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  gap: 20px; /* è¡ã»åã®ééèª¿æ´ï¼ãå¥½ã¿ã§ï¼ */
  list-style: none;
  padding: 0;
  margin: 0;
}
.gnav_btm .megamenu .megamenu_nav .megamenu_nav__item a {
  color: #fff;
}
.gnav_btm .megamenu .megamenu_nav .megamenu_list + .megamenu_list {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  .gnav_btm .megamenu .megamenu_nav .megamenu_list + .megamenu_list {
    margin-left: 0;
    margin-top: 10px;
  }
}
.gnav_btm .megamenu .megamenu_nav .megamenu_list .megamenu_item + .megamenu_item {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .gnav_btm .megamenu .megamenu_nav .megamenu_list .megamenu_item + .megamenu_item {
    margin-top: 10px;
  }
}
.gnav_btm .megamenu .megamenu_nav .megamenu_list .megamenu_item a {
  position: relative;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.3;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .gnav_btm .megamenu .megamenu_nav .megamenu_list .megamenu_item a {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 769px) {
  .gnav_btm .megamenu .megamenu_nav .megamenu_list .megamenu_item a::before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s ease-out;
  }
  .gnav_btm .megamenu .megamenu_nav .megamenu_list .megamenu_item a:hover {
    opacity: 1;
  }
  .gnav_btm .megamenu .megamenu_nav .megamenu_list .megamenu_item a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
.gnav_btm .megamenu .megamenu_nav .megamenu_list .megamenu_item.abso {
  position: absolute;
  left: 0;
  bottom: -30px;
}
.gnav_btm .menu_btn {
  position: relative;
  flex-shrink: 0;
  margin-left: 8px;
  width: 33px;
  height: 33px;
  background-color: transparent;
  border-radius: 2px;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .gnav_btm .menu_btn {
    width: 42px;
    height: 42px;
  }
}
.gnav_btm .menu_btn .line {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 18px;
  height: 1px;
  background: #fff;
  transition: all 0.4s ease-out;
}
@media screen and (max-width: 768px) {
  .gnav_btm .menu_btn .line {
    width: 22px;
  }
}
.gnav_btm .menu_btn .line:nth-child(1) {
  top: -14px;
}
.gnav_btm .menu_btn .line:nth-child(3) {
  bottom: -15px;
}
.gnav_btm .menu_btn.active .line:nth-child(1) {
  top: 0;
  transform: rotate(45deg);
}
.gnav_btm .menu_btn.active .line:nth-child(2) {
  opacity: 0;
}
.gnav_btm .menu_btn.active .line:nth-child(3) {
  bottom: 0;
  transform: rotate(-45deg);
}

/* ------------------------------
	.gnav
------------------------------ */
@media screen and (max-width: 768px) {
  .gnav {
    position: fixed;
    z-index: 10001;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh - 50px);
    background: #f9f9f9;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity 0.4s ease-out;
    transition: opacity 0.4s ease-out;
  }
  .gnav.active {
    opacity: 1;
    visibility: visible;
  }
}
.gnav .gnav_wrap {
  display: none;
}
@media screen and (max-width: 768px) {
  .gnav .gnav_wrap {
    width: 100%;
    max-height: calc(100vh - 50px);
    padding: 50px 8% 120px;
    overflow: auto;
    overflow-y: auto;
  }
}
.gnav .gnav_btn_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px;
  margin-top: 22px;
}
.gnav .gnav_btn_box.kids {
  justify-content: center;
}
.gnav .gnav_btn_box .gnav_btn {
  width: calc(50% - 2px);
}
.gnav .gnav_btn_box .gnav_btn.big {
  width: 100%;
}
.gnav .gnav_btn_box .gnav_btn a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 70px;
  background: #131313;
  border-radius: 2px;
  color: #e2e2e2;
}
.gnav .gnav_btn_box .gnav_btn .en {
  font-size: 1.8rem;
}
.gnav .gnav_btn_box .gnav_btn .btn_txt {
  margin-top: 3px;
  font-size: 0.9rem;
}
.gnav .gnav_list .gnav_item {
  border-bottom: 1px solid #e2e2e2;
}
.gnav .gnav_list .gnav_item .index_link_arrow {
  display: block;
  width: 17px;
  height: 6px;
  background-image: url(img/icon_spmenu_arrow.svg);
  background-size: contain;
  background-position: 0 0;
  background-repeat: no-repeat;
}
.gnav .gnav_list .gnav_item .nav_main {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.gnav .gnav_list .gnav_item .nav_main a {
  display: flex;
  align-items: center;
}
.gnav .gnav_list .gnav_item .nav_main a,
.gnav .gnav_list .gnav_item .nav_main .gnav_acc_btn_txt {
  display: block;
  width: 100%;
  padding: 18px 0 15px;
  font-size: 2.2rem;
  color: #1d1d1d;
}
.gnav .gnav_list .gnav_item .nav_main a .jp,
.gnav .gnav_list .gnav_item .nav_main .gnav_acc_btn_txt .jp {
  margin-left: 8px;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
}
.gnav .gnav_list .gnav_item .nav_main .gnav_acc_btn {
  cursor: pointer;
}
.gnav .gnav_list .gnav_item .nav_main .gnav_acc_btn_ico {
  position: relative;
  flex-shrink: 0;
  display: block;
  margin-left: 20px;
  width: 15px;
  height: 15px;
  background: #131313;
}
.gnav .gnav_list .gnav_item .nav_main .gnav_acc_btn_ico::before, .gnav .gnav_list .gnav_item .nav_main .gnav_acc_btn_ico::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  background: #e2e2e2;
  width: 7px;
  height: 1px;
}
.gnav .gnav_list .gnav_item .nav_main .gnav_acc_btn_ico::before {
  transform: rotate(90deg);
}
.gnav .gnav_list .gnav_item.open .nav_main .gnav_acc_btn_ico::before {
  transform: rotate(0);
}
.gnav .gnav_list .gnav_item .gnav_sub_list {
  display: none;
  padding: 20px;
  background: #e2e2e2;
}
@media screen and (max-width: 768px) {
  .gnav .gnav_list .gnav_item .gnav_sub_list {
    padding: 13px 20px;
    margin-top: -5px;
    margin-bottom: 15px;
  }
}
.gnav .gnav_list .gnav_item .gnav_sub_list .gnav_sub_item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  vertical-align: top;
  border-top: 1px solid #ccc;
}
.gnav .gnav_list .gnav_item .gnav_sub_list .gnav_sub_item:last-child {
  border-bottom: 1px solid #ccc;
}
.gnav .gnav_list .gnav_item .gnav_sub_list .gnav_sub_item a {
  display: block;
  width: 100%;
  padding: 12px 0;
  font-size: 1.3rem;
  line-height: 1.3;
  color: #1d1d1d;
}

/* ----------------------------------------------------------------------------------------------------
*  ããã¿ã¼
* --------------------------------------------------------------------------------------------------*/
.footer_wrap {
  padding: 180px 0 260px;
  background: #000;
}
@media screen and (max-width: 1000px) {
  .footer_wrap {
    padding: 150px 0;
  }
}
@media screen and (max-width: 768px) {
  .footer_wrap {
    padding: 80px 0;
  }
}
@media screen and (min-width: 1401px) {
  .footer_wrap .wrap {
    max-width: 85%;
  }
}
@media screen and (max-width: 1000px) {
  .footer_wrap .wrap {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .footer_wrap .wrap {
    width: 80%;
  }
}
.footer_wrap .footer_box {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1000px) {
  .footer_wrap .footer_box {
    display: block;
  }
}
.footer_wrap .footer_add .logo {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_add .logo {
    width: 200px;
  }
}
.footer_wrap .footer_add .footer_add_box + .footer_add_box {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_add .footer_add_box + .footer_add_box {
    margin-top: 25px;
  }
}
.footer_wrap .footer_add .footer_add_box .ttl {
  margin-bottom: 5px;
  color: #9f9f9f;
  font-size: 1.2rem;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_add .footer_add_box .ttl {
    font-size: 1.1rem;
    letter-spacing: 0.04em;
  }
}
.footer_wrap .footer_add .footer_add_box .txt {
  color: #9f9f9f;
  font-size: 1.1rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_add .footer_add_box .txt {
    font-size: 1rem;
    letter-spacing: 0.04em;
  }
}
.footer_wrap .footer_add .sns_box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_add .sns_box {
    margin-top: 25px;
  }
}
.footer_wrap .footer_nav {
  display: flex;
  gap: 40px 80px;
}
@media screen and (max-width: 1100px) {
  .footer_wrap .footer_nav {
    gap: 40px 50px;
  }
}
@media screen and (max-width: 1000px) {
  .footer_wrap .footer_nav {
    gap: 40px 80px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_nav {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .footer_wrap .footer_nav .footer_nav_list:nth-child(1) {
    margin-right: -10px;
  }
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_nav .footer_nav_list + .footer_nav_list {
    margin-top: 40px;
  }
}
.footer_wrap .footer_nav .footer_nav_list .footer_nav_item + .footer_nav_item {
  margin-top: 40px;
}
.footer_wrap .footer_nav .footer_nav_list .footer_nav_item a {
  position: relative;
}
@media screen and (min-width: 769px) {
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item a::before {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #e2e2e2;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s ease-out;
  }
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item a:hover {
    opacity: 1;
  }
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
.footer_wrap .footer_nav .footer_nav_list .footer_nav_item > a,
.footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_txt {
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.03em;
  color: #e2e2e2;
  font-weight: 400;
}
.footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item {
    width: 100%;
  }
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item.w2 {
    width: 48%;
  }
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item.w2:nth-child(-n+2) {
    margin-top: 0;
  }
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item.w2:nth-child(n+3) {
    margin-top: 16px;
  }
}
.footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item + .footer_nav_sub_item {
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item + .footer_nav_sub_item {
    margin-top: 16px;
  }
}
.footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item a {
  font-size: 1.1rem;
  color: #9f9f9f;
  letter-spacing: 0.03em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item a {
    font-size: 1.2rem;
  }
}
.footer_wrap .footer_nav .footer_nav_list .footer_nav_item .footer_nav_sub_list .footer_nav_sub_item a::before {
  bottom: -2px;
  background: #9f9f9f;
}
.footer_wrap .copy_box {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
}
@media screen and (min-width: 769px) {
  .footer_wrap .copy_box {
    margin-top: 20px;
  }
}
.footer_wrap .copy_box .btm_link a {
  position: relative;
  font-size: 1rem;
  color: #9f9f9f;
}
@media screen and (min-width: 769px) {
  .footer_wrap .copy_box .btm_link a::before {
    position: absolute;
    left: 0;
    bottom: -2px;
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #9f9f9f;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s ease-out;
  }
  .footer_wrap .copy_box .btm_link a:hover {
    opacity: 1;
  }
  .footer_wrap .copy_box .btm_link a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
  }
}
.footer_wrap .copy_box .copy {
  font-size: 1rem;
  color: #9f9f9f;
}
@media screen and (max-width: 1000px) {
  .footer_wrap .copy_box .copy {
    margin-top: 60px;
  }
}

.footer_info .footer_cv {
  border-top: 1px solid #e2e2e2;
  padding: 200px 0 160px;
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv {
    padding: 90px 0;
  }
}
.footer_info .footer_cv .wrap {
  display: flex;
}
@media screen and (min-width: 1401px) {
  .footer_info .footer_cv .wrap {
    max-width: 90%;
  }
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv .wrap {
    flex-direction: column;
  }
}
.footer_info .footer_cv .cv_box {
  flex: 1;
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv .cv_box {
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv .cv_box + .cv_box {
    margin-top: 90px;
  }
}
.footer_info .footer_cv .cv_box .ttl {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv .cv_box .ttl {
    margin-bottom: 20px;
  }
}
.footer_info .footer_cv .cv_box .ttl .en {
  display: block;
  font-size: 7.6rem;
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv .cv_box .ttl .en {
    font-size: 4rem;
  }
}
.footer_info .footer_cv .cv_box .ttl .ttl_txt {
  display: block;
  margin-top: 4px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv .cv_box .ttl .ttl_txt {
    font-size: 1.4rem;
  }
}
.footer_info .footer_cv .cv_box .txt {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .footer_info .footer_cv .cv_box .txt {
    line-height: 2.2;
  }
}
.footer_info .footer_cv .cv_box .btn {
  margin-top: 38px;
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv .cv_box .btn {
    margin-top: 20px;
  }
}
.footer_info .footer_cv .cv_box .btn a {
  padding: 20px;
  font-weight: 400;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .footer_info .footer_cv .cv_box .btn a {
    font-size: 1.4rem;
  }
}
.footer_info .sns_box {
  border-top: 1px solid #e2e2e2;
}
.footer_info .sns_box .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 0;
  gap: 50px 4.3%;
}
@media screen and (max-width: 768px) {
  .footer_info .sns_box .wrap {
    padding: 40px 0;
    flex-direction: column;
    gap: 10px 2%;
  }
}
.footer_info .sns_box .btn {
  flex: 1;
}
@media screen and (max-width: 768px) {
  .footer_info .sns_box .btn {
    width: 250px;
  }
}
.footer_info .sns_box .btn a {
  justify-content: center;
  width: 100%;
  height: 80px;
  border-radius: 6px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .footer_info .sns_box .btn a {
    justify-content: flex-start;
    height: 60px;
  }
}
.footer_info .sns_box .btn .ico {
  display: block;
  flex-shrink: 0;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .footer_info .sns_box .btn .ico {
    margin-right: 15px;
  }
}
.footer_info .sns_box .btn .ico.ico_youtube {
  width: 38px;
  height: 27px;
  background: url(img/ico_youtube01.svg) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .footer_info .sns_box .btn .ico.ico_youtube {
    width: 32px;
  }
}
.footer_info .sns_box .btn .ico.ico_x {
  width: 40px;
  height: 40px;
  background: url(img/ico_x01.svg) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .footer_info .sns_box .btn .ico.ico_x {
    width: 32px;
  }
}
.footer_info .sns_box .btn .ico.ico_line {
  width: 40px;
  height: 40px;
  background: url(img/ico_line01.svg) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .footer_info .sns_box .btn .ico.ico_line {
    width: 32px;
  }
}
.footer_info .sns_box .btn .ico.ico_instagram {
  display: inline-block;
  width: 40px;
  height: 40px;
}
.footer_info .sns_box .btn .ico.ico_instagram svg {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .footer_info .sns_box .btn .ico.ico_instagram {
    width: 32px;
    height: 32px;
  }
}

/* ----------------------------------------------------------------------------------------------------
*  å±é
* --------------------------------------------------------------------------------------------------*/
.txt {
  line-height: 2;
  text-align: justify;
}

.bold {
  font-weight: bold;
}

.med {
  font-weight: 500;
}

.txt_up {
  text-transform: uppercase;
}

.txt_noup {
  text-transform: none;
}

.txt_center {
  text-align: center;
}

.txt_right {
  text-align: right;
}

.txt_left {
  text-align: left;
}

.ib {
  display: inline-block;
}

@media screen and (min-width: 769px) {
  .pc_ib {
    display: inline-block;
  }
  .pc_tate {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
  }
}
.tate {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  .img img {
    width: 100%;
  }
  .sp_ib {
    display: inline-block;
  }
  .txt {
    line-height: 1.8;
  }
}
/* ------------------------------
	.ttl
------------------------------ */
.page_ttl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
  overflow: hidden;
  padding-bottom: 1rem;
  margin-bottom: -1rem;
}
@media screen and (max-width: 1330px) {
  .page_ttl {
    gap: 2vw;
  }
}
@media screen and (max-width: 768px) {
  .page_ttl {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}
.page_ttl .en {
  font-size: 18rem;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 1330px) {
  .page_ttl .en {
    font-size: 13.5vw;
  }
}
@media screen and (max-width: 768px) {
  .page_ttl .en {
    font-size: 17vw;
    letter-spacing: -0.01em;
  }
}
.page_ttl .ttl_txt {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 1330px) {
  .page_ttl .ttl_txt {
    font-size: 1.85vw;
  }
}
@media screen and (max-width: 768px) {
  .page_ttl .ttl_txt {
    font-size: 1.4rem;
    letter-spacing: 0.02em;
  }
}
.page_ttl.min {
  gap: 6px 13px;
}
@media screen and (max-width: 768px) {
  .page_ttl.min {
    gap: 6px;
  }
}
@media screen and (min-width: 769px) {
  .page_ttl.min .en {
    font-size: 6.8rem;
  }
}
@media screen and (min-width: 769px) {
  .page_ttl.min .en {
    letter-spacing: -0.025em;
  }
}
@media screen and (min-width: 769px) {
  .page_ttl.min .ttl_txt {
    font-size: 1.4rem;
    letter-spacing: 0.02em;
  }
}
.page_ttl.ttl02 .ttl_txt {
  font-size: 2.1rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.01em;
}
.page_ttl .en {
  opacity: 0;
}
.page_ttl .en span {
  padding-bottom: 0.18em;
  margin-bottom: -0.1em;
  will-change: transform, opacity;
  display: inline-block;
  font-weight: inherit;
  opacity: 0;
  transform: translateY(80%);
  clip-path: inset(0% 0% 0% 100%);
  transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1), clip-path 1s cubic-bezier(0.19, 1, 0.22, 1), transform 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.page_ttl .en span:nth-child(1) {
  transition-delay: 0.03s;
}
.page_ttl .en span:nth-child(2) {
  transition-delay: 0.06s;
}
.page_ttl .en span:nth-child(3) {
  transition-delay: 0.09s;
}
.page_ttl .en span:nth-child(4) {
  transition-delay: 0.12s;
}
.page_ttl .en span:nth-child(5) {
  transition-delay: 0.15s;
}
.page_ttl .en span:nth-child(6) {
  transition-delay: 0.18s;
}
.page_ttl .en span:nth-child(7) {
  transition-delay: 0.21s;
}
.page_ttl .en span:nth-child(8) {
  transition-delay: 0.24s;
}
.page_ttl .en span:nth-child(9) {
  transition-delay: 0.27s;
}
.page_ttl .en span:nth-child(10) {
  transition-delay: 0.3s;
}
.page_ttl .en span:nth-child(11) {
  transition-delay: 0.33s;
}
.page_ttl .en span:nth-child(12) {
  transition-delay: 0.36s;
}
.page_ttl .en span:nth-child(13) {
  transition-delay: 0.39s;
}
.page_ttl .en span:nth-child(14) {
  transition-delay: 0.42s;
}
.page_ttl .en span:nth-child(15) {
  transition-delay: 0.45s;
}
.page_ttl .en span:nth-child(16) {
  transition-delay: 0.48s;
}
.page_ttl .en span:nth-child(17) {
  transition-delay: 0.51s;
}
.page_ttl .en span:nth-child(18) {
  transition-delay: 0.54s;
}
.page_ttl .en span:nth-child(19) {
  transition-delay: 0.57s;
}
.page_ttl .en span:nth-child(20) {
  transition-delay: 0.6s;
}
.page_ttl .en span:nth-child(21) {
  transition-delay: 0.63s;
}
.page_ttl .en span:nth-child(22) {
  transition-delay: 0.66s;
}
.page_ttl .en span:nth-child(23) {
  transition-delay: 0.69s;
}
.page_ttl .en span:nth-child(24) {
  transition-delay: 0.72s;
}
.page_ttl .en span:nth-child(25) {
  transition-delay: 0.75s;
}
.page_ttl .en span:nth-child(26) {
  transition-delay: 0.78s;
}
.page_ttl .en span:nth-child(27) {
  transition-delay: 0.81s;
}
.page_ttl .en span:nth-child(28) {
  transition-delay: 0.84s;
}
.page_ttl .en span:nth-child(29) {
  transition-delay: 0.87s;
}
.page_ttl .en span:nth-child(30) {
  transition-delay: 0.9s;
}
.page_ttl .en span:nth-child(31) {
  transition-delay: 0.93s;
}
.page_ttl .en span:nth-child(32) {
  transition-delay: 0.96s;
}
.page_ttl .en span:nth-child(33) {
  transition-delay: 0.99s;
}
.page_ttl .en span:nth-child(34) {
  transition-delay: 1.02s;
}
.page_ttl .en span:nth-child(35) {
  transition-delay: 1.05s;
}
.page_ttl .en span:nth-child(36) {
  transition-delay: 1.08s;
}
.page_ttl .en span:nth-child(37) {
  transition-delay: 1.11s;
}
.page_ttl .en span:nth-child(38) {
  transition-delay: 1.14s;
}
.page_ttl .en span:nth-child(39) {
  transition-delay: 1.17s;
}
.page_ttl .en span:nth-child(40) {
  transition-delay: 1.2s;
}
.page_ttl .en span:nth-child(41) {
  transition-delay: 1.23s;
}
.page_ttl .en span:nth-child(42) {
  transition-delay: 1.26s;
}
.page_ttl .en span:nth-child(43) {
  transition-delay: 1.29s;
}
.page_ttl .en span:nth-child(44) {
  transition-delay: 1.32s;
}
.page_ttl .en span:nth-child(45) {
  transition-delay: 1.35s;
}
.page_ttl .en span:nth-child(46) {
  transition-delay: 1.38s;
}
.page_ttl .en span:nth-child(47) {
  transition-delay: 1.41s;
}
.page_ttl .en span:nth-child(48) {
  transition-delay: 1.44s;
}
.page_ttl .en span:nth-child(49) {
  transition-delay: 1.47s;
}
.page_ttl .en span:nth-child(50) {
  transition-delay: 1.5s;
}
.page_ttl .en span:nth-child(51) {
  transition-delay: 1.53s;
}
.page_ttl .en span:nth-child(52) {
  transition-delay: 1.56s;
}
.page_ttl .en span:nth-child(53) {
  transition-delay: 1.59s;
}
.page_ttl .en span:nth-child(54) {
  transition-delay: 1.62s;
}
.page_ttl .en span:nth-child(55) {
  transition-delay: 1.65s;
}
.page_ttl .en span:nth-child(56) {
  transition-delay: 1.68s;
}
.page_ttl .en span:nth-child(57) {
  transition-delay: 1.71s;
}
.page_ttl .en span:nth-child(58) {
  transition-delay: 1.74s;
}
.page_ttl .en span:nth-child(59) {
  transition-delay: 1.77s;
}
.page_ttl .en span:nth-child(60) {
  transition-delay: 1.8s;
}
.page_ttl .en span:nth-child(61) {
  transition-delay: 1.83s;
}
.page_ttl .en span:nth-child(62) {
  transition-delay: 1.86s;
}
.page_ttl .en span:nth-child(63) {
  transition-delay: 1.89s;
}
.page_ttl .en span:nth-child(64) {
  transition-delay: 1.92s;
}
.page_ttl .en span:nth-child(65) {
  transition-delay: 1.95s;
}
.page_ttl .en span:nth-child(66) {
  transition-delay: 1.98s;
}
.page_ttl .en span:nth-child(67) {
  transition-delay: 2.01s;
}
.page_ttl .en span:nth-child(68) {
  transition-delay: 2.04s;
}
.page_ttl .en span:nth-child(69) {
  transition-delay: 2.07s;
}
.page_ttl .en span:nth-child(70) {
  transition-delay: 2.1s;
}
.page_ttl .en span:nth-child(71) {
  transition-delay: 2.13s;
}
.page_ttl .en span:nth-child(72) {
  transition-delay: 2.16s;
}
.page_ttl .en span:nth-child(73) {
  transition-delay: 2.19s;
}
.page_ttl .en span:nth-child(74) {
  transition-delay: 2.22s;
}
.page_ttl .en span:nth-child(75) {
  transition-delay: 2.25s;
}
.page_ttl .en span:nth-child(76) {
  transition-delay: 2.28s;
}
.page_ttl .en span:nth-child(77) {
  transition-delay: 2.31s;
}
.page_ttl .en span:nth-child(78) {
  transition-delay: 2.34s;
}
.page_ttl .en span:nth-child(79) {
  transition-delay: 2.37s;
}
.page_ttl .en span:nth-child(80) {
  transition-delay: 2.4s;
}
.page_ttl .en span:nth-child(81) {
  transition-delay: 2.43s;
}
.page_ttl .en span:nth-child(82) {
  transition-delay: 2.46s;
}
.page_ttl .en span:nth-child(83) {
  transition-delay: 2.49s;
}
.page_ttl .en span:nth-child(84) {
  transition-delay: 2.52s;
}
.page_ttl .en span:nth-child(85) {
  transition-delay: 2.55s;
}
.page_ttl .en span:nth-child(86) {
  transition-delay: 2.58s;
}
.page_ttl .en span:nth-child(87) {
  transition-delay: 2.61s;
}
.page_ttl .en span:nth-child(88) {
  transition-delay: 2.64s;
}
.page_ttl .en span:nth-child(89) {
  transition-delay: 2.67s;
}
.page_ttl .en span:nth-child(90) {
  transition-delay: 2.7s;
}
.page_ttl .en span:nth-child(91) {
  transition-delay: 2.73s;
}
.page_ttl .en span:nth-child(92) {
  transition-delay: 2.76s;
}
.page_ttl .en span:nth-child(93) {
  transition-delay: 2.79s;
}
.page_ttl .en span:nth-child(94) {
  transition-delay: 2.82s;
}
.page_ttl .en span:nth-child(95) {
  transition-delay: 2.85s;
}
.page_ttl .en span:nth-child(96) {
  transition-delay: 2.88s;
}
.page_ttl .en span:nth-child(97) {
  transition-delay: 2.91s;
}
.page_ttl .en span:nth-child(98) {
  transition-delay: 2.94s;
}
.page_ttl .en span:nth-child(99) {
  transition-delay: 2.97s;
}
.page_ttl .en span:nth-child(100) {
  transition-delay: 3s;
}
.page_ttl .ttl_txt {
  opacity: 0;
  transform: translate3d(0, 440%, 0) rotate(10deg);
  transform-origin: 0% 0%;
  transition: transform 0.9s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: 0.25s;
}
@media screen and (min-width: 769px) {
  .page_ttl.min .ttl_txt {
    transform: translate3d(0, 360%, 0) rotate(10deg);
  }
}
.page_ttl.fade-on .en {
  opacity: 1;
}
.page_ttl.fade-on .en span {
  opacity: 1;
  transform: translateY(0);
  clip-path: inset(0 0 0 0);
}
.page_ttl.fade-on .ttl_txt {
  opacity: 1;
  transform: translateZ(0) rotate(0);
}

.page_ttl_box {
  padding-top: 120px;
}
@media screen and (max-width: 768px) {
  .page_ttl_box {
    padding-top: 130px;
  }
}
.page_ttl_box .wrap {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (min-width: 769px) {
  .page_ttl_box .wrap {
    max-width: 1400px;
    width: 100%;
  }
}
@media screen and (max-width: 1330px) {
  .page_ttl_box .wrap {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 768px) {
  .page_ttl_box .wrap {
    padding: 0;
  }
}

.lead {
  padding-top: 280px;
}
@media screen and (max-width: 768px) {
  .lead {
    padding-top: 130px;
  }
}
.lead.requirements {
  padding-top: 140px;
}
@media screen and (max-width: 768px) {
  .lead.requirements {
    padding-top: 80px;
  }
}
.lead .wrap {
  padding-left: 40px;
  padding-right: 40px;
}
@media screen and (min-width: 769px) {
  .lead .wrap {
    max-width: 1400px;
    width: 100%;
  }
}
@media screen and (min-width: 1401px) {
  .lead .wrap {
    max-width: 90%;
    width: 90%;
  }
}
@media screen and (max-width: 1330px) {
  .lead .wrap {
    padding-left: 3%;
    padding-right: 3%;
  }
}
@media screen and (max-width: 768px) {
  .lead .wrap {
    padding: 0;
  }
}
.lead .txt_box {
  max-width: 1120px;
  width: 94%;
  margin: 20px auto 0;
}
@media screen and (min-width: 1401px) {
  .lead .txt_box {
    max-width: 94%;
  }
}
@media screen and (max-width: 768px) {
  .lead .txt_box {
    max-width: initial;
    width: 100%;
    margin-top: 95px;
  }
}
.lead .txt_box .lead_ttl {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 769px) {
  .lead .txt_box .lead_ttl {
    letter-spacing: 0.3em;
  }
}
@media screen and (max-width: 768px) {
  .lead .txt_box .lead_ttl {
    font-size: 1.8rem;
  }
}
.lead .txt_box .txt {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .lead .txt_box .txt {
    line-height: 2.2;
  }
}

.center_ttl {
  text-align: center;
}
.center_ttl .en {
  display: block;
  font-size: 12rem;
  letter-spacing: -1px;
}
@media screen and (max-width: 768px) {
  .center_ttl .en {
    font-size: 4.5rem;
  }
}
.center_ttl .ttl_txt {
  display: block;
  margin-top: 15px;
  font-size: 2.5rem;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .center_ttl .ttl_txt {
    margin-top: 10px;
    font-size: 1.4rem;
  }
}

.mid_ttl {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .mid_ttl {
    font-size: 1.8rem;
  }
}

/* ------------------------------
	.btn
------------------------------ */
.link {
  text-decoration: underline;
}
@media screen and (min-width: 769px) {
  .link:hover {
    text-decoration: none;
  }
}

.btn {
  display: flex;
}
.btn.center {
  justify-content: center;
}
.btn.btn01 a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 15px;
  border-radius: 4px;
  background: #1d1d1d;
  border: 1px solid #383838;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.3;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .btn.btn01 a {
    padding: 12px;
    line-height: 1.3;
    font-size: 1.2rem;
  }
}
.btn.btn01 .ico {
  flex-shrink: 0;
}
.btn.btn01 .ico.arw {
  width: 10px;
  height: 10px;
  margin-left: 8px;
  background: url(img/ico_arw03.svg) no-repeat center center;
}
.btn.btn01 .ico.link-ico {
  width: 13px;
  height: 13px;
  margin-left: 8px;
  background: url(img/link-white.svg) no-repeat center center;
}
.btn.btn01.white a {
  background: #fff;
  border-color: #e2e2e2;
  color: #1d1d1d;
}
.btn.btn01.white .ico {
  flex-shrink: 0;
}
.btn.btn01.white .ico.arw {
  background: url(img/ico_arw04.svg) no-repeat center center;
}
.btn.btn01.white.none a {
  pointer-events: none;
  background: #9f9f9f;
}
.btn.btn02 a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  border-radius: 4px;
  background: #1d1d1d;
  border: 1px solid #383838;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.3;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .btn.btn02 a:hover {
    background: #fff;
    color: #1d1d1d;
  }
}
@media screen and (max-width: 768px) {
  .btn.btn02 a {
    font-size: 1.4rem;
    padding: 15px;
  }
}
.btn.btn02 .ico {
  flex-shrink: 0;
}
.btn.btn02 .ico.arw {
  width: 25px;
  height: 25px;
  margin-left: 8px;
  border-radius: 50%;
  background: #fff url(img/ico_arw01.svg) no-repeat center center;
  -webkit-transition: transform 0.4s ease-out;
  transition: transform 0.4s ease-out;
}
.btn.btn01 a {
  position: relative;
}
.btn.btn01 a > * {
  position: relative;
  z-index: 2;
}
.btn.btn01 a .ico.arw {
  -webkit-transition: transform 0.4s ease-out;
  transition: transform 0.4s ease-out;
}
@keyframes arwright {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  70% {
    transform: translateX(60px);
    opacity: 1;
  }
  70.1% {
    opacity: 0;
    transform: translateX(60px);
  }
  70.2% {
    opacity: 0;
    transform: translateX(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.btn.btn01 a .btn_txt {
  overflow: hidden;
}
.btn.btn01 a .btn_txt span {
  display: block;
}
@media screen and (min-width: 769px) {
  .btn.btn01 a {
    -webkit-transition: background-color 0.4s ease-out, border 0.4s ease-out, color 0.4s ease-out;
    transition: background-color 0.4s ease-out, border 0.4s ease-out, color 0.4s ease-out;
  }
  .btn.btn01 a:hover {
    opacity: 1;
    background-color: #fff;
    border-color: #1d1d1d;
    color: #1d1d1d;
  }
  .btn.btn01 a:hover .btn_txt > span:not([class]) {
    animation: btntxtup 0.4s ease-out forwards;
  }
  .btn.btn01 a:hover .ico.arw {
    animation: arwright 0.4s ease-out forwards;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .btn.btn01 a:hover .ico.arw {
    background: url(img/ico_arw04.svg) no-repeat center center;
  }
}
@media screen and (min-width: 769px) {
  .btn.btn01 a:hover .ico.link-ico {
    width: 13px;
    height: 13px;
    margin-left: 8px;
    background: url(img/link-black.svg) no-repeat center center;
  }
}
@keyframes btntxtup {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  50% {
    transform: translateY(-3em);
    opacity: 1;
  }
  50.1% {
    opacity: 0;
    transform: translateY(-3em);
  }
  50.2% {
    opacity: 0;
    transform: translateY(3em);
  }
  50.3% {
    opacity: 1;
    transform: translateY(3em);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media screen and (min-width: 769px) {
  .btn.btn01.white a:hover {
    background-color: #1d1d1d;
    border-color: #fff;
    color: #fff;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .btn.btn01.white a:hover .ico.arw {
    background: url(img/ico_arw03.svg) no-repeat center center;
  }
}
.btn.btn02 a {
  position: relative;
}
.btn.btn02 a > * {
  position: relative;
  z-index: 2;
}
.btn.btn02 a .btn_txt {
  overflow: hidden;
}
.btn.btn02 a .btn_txt span {
  display: block;
}
@media screen and (min-width: 769px) {
  .btn.btn02 a {
    -webkit-transition: background-color 0.4s ease-out, border 0.4s ease-out, color 0.4s ease-out;
    transition: background-color 0.4s ease-out, border 0.4s ease-out, color 0.4s ease-out;
  }
  .btn.btn02 a:hover {
    opacity: 1;
  }
  .btn.btn02 a:hover .arw {
    transform: translateX(5px);
  }
  .btn.btn02 a:hover .btn_txt > span:not([class]) {
    animation: btntxtup 0.4s ease-out forwards;
  }
}
.btn.btn03 a {
  font-size: 1.8rem;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .btn.btn03 a {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 769px) {
  .btn.btn03 a:hover {
    opacity: 1;
  }
  .btn.btn03 a:hover .btn_txt:before {
    animation: moveLine1 0.4s ease-out 0.1s forwards;
  }
  .btn.btn03 a:hover .ico {
    transform: scale(1.2);
  }
  .btn.btn03 a:hover .ico.arw01 {
    transform: translateX(5px);
  }
  .btn.btn03 a:hover .btn_txt {
    opacity: 0.7;
    background: none;
  }
}
.btn.btn03 .btn_txt {
  display: inline;
  position: relative;
  vertical-align: middle;
  top: -3px;
  padding-bottom: 5px;
  background: none;
}
@media screen and (max-width: 896px) {
  .btn.btn03 .btn_txt {
    padding-bottom: 2px;
  }
}
.btn.btn03 .btn_txt:before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  transform-origin: left center;
  width: 100%;
  height: 1px;
  background-color: #1d1d1d;
  transition: 0.4s ease-out;
}
@keyframes moveLine1 {
  0% {
    transform: scale(0, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
.btn.btn03 .ico {
  display: inline-block;
  vertical-align: middle;
  width: 25px;
  height: 25px;
  margin-right: 10px;
  border-radius: 50%;
  background-color: #1d1d1d;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
@media screen and (max-width: 768px) {
  .btn.btn03 .ico {
    width: 22px;
    height: 22px;
    background-size: 7px;
  }
}
.btn.btn03 .ico.win {
  background: #1d1d1d url(img/ico_win01.svg) no-repeat center center;
}
@media screen and (max-width: 768px) {
  .btn.btn03 .ico.win {
    background-size: 8px;
  }
}
.btn.btn03 .ico.arw {
  background: #1d1d1d url(img/ico_arw03.svg) no-repeat center center;
}
@media screen and (max-width: 768px) {
  .btn.btn03 .ico.arw {
    background-size: 8px;
  }
}
.btn.btn03 .ico.arw01 {
  width: 10px;
  height: 7px;
  margin-left: 10px;
  background: url(img/ico_arw04.svg) no-repeat center center;
}
@media screen and (max-width: 768px) {
  .btn.btn03 .ico.arw01 {
    width: 8px;
    background-size: 100%;
  }
}

.page_down_btn {
  position: fixed;
  z-index: 999;
  right: 30px;
  bottom: 100px;
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease-out;
  transition: opacity 0.4s ease, visibility 0.4s ease-out;
}
@media screen and (max-width: 768px) {
  .page_down_btn {
    right: 10px;
    bottom: 70px;
  }
}
.page_down_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #1d1d1d url(img/page_down_arw.svg) no-repeat center center;
  -webkit-transition: background 0.4s ease-out;
  transition: background 0.4s ease-out;
}
@media screen and (max-width: 768px) {
  .page_down_btn a {
    width: 54px;
    height: 54px;
    background-size: 14px;
  }
}
@media screen and (min-width: 769px) {
  .page_down_btn a:hover {
    opacity: 1;
    background-position: center 60% !important;
  }
}
.page_down_btn.fix-out {
  opacity: 0;
  visibility: hidden;
}

.pager {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 60px;
}
@media screen and (max-width: 1000px) {
  .pager {
    gap: 0 40px;
  }
}
@media screen and (max-width: 768px) {
  .pager {
    gap: 0 20px;
  }
}
.pager .pager_select_box {
  position: relative;
}
.pager select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: none;
  border-radius: 0;
  padding: 0;
  vertical-align: middle;
  cursor: pointer;
}
.pager .pager_select {
  width: 180px;
  padding: 0 calc(50% + 3px) 0 30px;
  height: 55px;
  background: #fff url(img/ico_select01.svg) no-repeat;
  background-position: calc(100% - 27px) center;
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-weight: 500;
  font-size: 2.4rem;
  text-align: right;
  direction: rtl;
}
@media screen and (max-width: 768px) {
  .pager .pager_select {
    width: 120px;
    height: 40px;
    padding: 0 calc(50% + 3px) 0 10px;
    background-position: calc(100% - 8px) center;
    font-size: 1.8rem;
  }
}
.pager .pager_select option {
  font-size: 1.6rem;
}
.pager .pager_select_all {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  margin: auto;
  height: 24px;
  padding-top: 3px;
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-weight: 500;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .pager .pager_select_all {
    height: 18px;
    padding-top: 1px;
  }
}
.pager .pager_select_all::before {
  content: "/";
  padding-right: 3px;
  color: #e2e2e2;
  font-size: 2rem;
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .pager .pager_select_all::before {
    font-size: 1.6rem;
  }
}
.pager .btn {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  align-items: center;
  justify-self: center;
}
.pager .btn.prev {
  right: calc(50% + 150px);
}
@media screen and (max-width: 1000px) {
  .pager .btn.prev {
    right: calc(50% + 130px);
  }
}
@media screen and (max-width: 768px) {
  .pager .btn.prev {
    right: calc(50% + 80px);
  }
}
.pager .btn.prev .arw {
  transform: rotate(180deg);
}
@media screen and (min-width: 769px) {
  .pager .btn.prev a:hover .arw {
    transform: scale(1.2) rotate(180deg);
  }
}
.pager .btn.next {
  left: calc(50% + 150px);
}
@media screen and (max-width: 1000px) {
  .pager .btn.next {
    left: calc(50% + 130px);
  }
}
@media screen and (max-width: 768px) {
  .pager .btn.next {
    left: calc(50% + 80px);
  }
}
.pager .btn.next .arw {
  margin-left: 10px;
  margin-right: 0;
}
.pager .btn a {
  display: flex;
  align-items: center;
}
.pager .btn .btn_txt {
  background: none;
}

/* ------------------------------
	.box
------------------------------ */
.flex {
  display: flex;
  justify-content: space-between;
}

.sidenav_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 30px;
}
@media screen and (max-width: 768px) {
  .sidenav_wrap {
    display: block;
  }
}
.sidenav_wrap .sidenav_cnt {
  width: 100%;
  max-width: 840px;
}
.sidenav_wrap .sidenav {
  position: relative;
  flex-shrink: 0;
  position: sticky;
  top: 20px;
  margin-right: -100px;
}
.sidenav_wrap .sidenav.mgr-none {
  margin-right: 0;
}
@media screen and (max-width: 1400px) {
  .sidenav_wrap .sidenav {
    margin-right: -2vw;
  }
}
@media screen and (max-width: 1200px) {
  .sidenav_wrap .sidenav {
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .sidenav_wrap .sidenav {
    position: relative;
    top: 0;
  }
}
@media screen and (min-width: 769px) {
  .sidenav_wrap .sidenav li {
    padding-left: 16px;
  }
}
.sidenav_wrap .sidenav .snav_btm_ico {
  position: absolute;
  top: 14px;
  left: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #1d1d1d;
  -webkit-transition: opacity 0.4s ease-out, top 0.4s ease-out;
  transition: opacity 0.4s ease-out, top 0.4s ease-out;
  pointer-events: none;
  opacity: 0;
}
@media screen and (max-width: 768px) {
  .sidenav_wrap .sidenav .snav_btm_ico {
    display: none;
  }
}
.sidenav_wrap .sidenav .snav_btm_ico.white {
  background-color: #e2e2e2;
}
.sidenav_wrap .sidenav .snav_btm_ico.active {
  opacity: 1;
}

/* ------------------------------
	.fade
------------------------------ */
.fade.fade-up,
.fade .fade-up {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  -webkit-transition: opacity 1s cubic-bezier(0.445, 0.05, 0.55, 0.95), transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 1s;
  transition: opacity 1s cubic-bezier(0.445, 0.05, 0.55, 0.95), transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 1s;
}
@media screen and (max-width: 768px) {
  .fade.fade-up,
  .fade .fade-up {
    transform: translateY(100px);
  }
}
.fade.fade-on.fade-up,
.fade.fade-on .fade-up {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.fade.fade-in,
.fade .fade-in {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 1s cubic-bezier(0.445, 0.05, 0.55, 0.95), transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 1s;
  transition: opacity 1s cubic-bezier(0.445, 0.05, 0.55, 0.95), transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), visibility 1s;
}
.fade.fade-on.fade-in,
.fade.fade-on .fade-in {
  opacity: 1;
  visibility: visible;
}
.fade.fade-img,
.fade .fade-img {
  overflow: hidden;
}
.fade.fade-img img,
.fade .fade-img img {
  transform: scale(1.1);
  -webkit-transition: transform 1s ease-out;
  transition: transform 1s ease-out;
}
.fade.fade-on.fade-img img,
.fade.fade-on .fade-img img {
  transform: scale(1);
}
.fade .ttl_anm {
  opacity: 0;
  overflow: hidden;
}
.fade .ttl_anm span {
  padding-bottom: 0.1em;
  margin-bottom: -0.1em;
  will-change: transform, opacity;
  display: inline-block;
  font-weight: inherit;
  opacity: 0;
  transform: translateY(80%);
  clip-path: inset(0% 0% 0% 100%);
  transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1), clip-path 1s cubic-bezier(0.19, 1, 0.22, 1), transform 1s cubic-bezier(0.19, 1, 0.22, 1);
}
.fade .ttl_anm span:nth-child(1) {
  transition-delay: 0.03s;
}
.fade .ttl_anm span:nth-child(2) {
  transition-delay: 0.06s;
}
.fade .ttl_anm span:nth-child(3) {
  transition-delay: 0.09s;
}
.fade .ttl_anm span:nth-child(4) {
  transition-delay: 0.12s;
}
.fade .ttl_anm span:nth-child(5) {
  transition-delay: 0.15s;
}
.fade .ttl_anm span:nth-child(6) {
  transition-delay: 0.18s;
}
.fade .ttl_anm span:nth-child(7) {
  transition-delay: 0.21s;
}
.fade .ttl_anm span:nth-child(8) {
  transition-delay: 0.24s;
}
.fade .ttl_anm span:nth-child(9) {
  transition-delay: 0.27s;
}
.fade .ttl_anm span:nth-child(10) {
  transition-delay: 0.3s;
}
.fade .ttl_anm span:nth-child(11) {
  transition-delay: 0.33s;
}
.fade .ttl_anm span:nth-child(12) {
  transition-delay: 0.36s;
}
.fade .ttl_anm span:nth-child(13) {
  transition-delay: 0.39s;
}
.fade .ttl_anm span:nth-child(14) {
  transition-delay: 0.42s;
}
.fade .ttl_anm span:nth-child(15) {
  transition-delay: 0.45s;
}
.fade .ttl_anm span:nth-child(16) {
  transition-delay: 0.48s;
}
.fade .ttl_anm span:nth-child(17) {
  transition-delay: 0.51s;
}
.fade .ttl_anm span:nth-child(18) {
  transition-delay: 0.54s;
}
.fade .ttl_anm span:nth-child(19) {
  transition-delay: 0.57s;
}
.fade .ttl_anm span:nth-child(20) {
  transition-delay: 0.6s;
}
.fade .ttl_anm span:nth-child(21) {
  transition-delay: 0.63s;
}
.fade .ttl_anm span:nth-child(22) {
  transition-delay: 0.66s;
}
.fade .ttl_anm span:nth-child(23) {
  transition-delay: 0.69s;
}
.fade .ttl_anm span:nth-child(24) {
  transition-delay: 0.72s;
}
.fade .ttl_anm span:nth-child(25) {
  transition-delay: 0.75s;
}
.fade .ttl_anm span:nth-child(26) {
  transition-delay: 0.78s;
}
.fade .ttl_anm span:nth-child(27) {
  transition-delay: 0.81s;
}
.fade .ttl_anm span:nth-child(28) {
  transition-delay: 0.84s;
}
.fade .ttl_anm span:nth-child(29) {
  transition-delay: 0.87s;
}
.fade .ttl_anm span:nth-child(30) {
  transition-delay: 0.9s;
}
.fade .ttl_anm span:nth-child(31) {
  transition-delay: 0.93s;
}
.fade .ttl_anm span:nth-child(32) {
  transition-delay: 0.96s;
}
.fade .ttl_anm span:nth-child(33) {
  transition-delay: 0.99s;
}
.fade .ttl_anm span:nth-child(34) {
  transition-delay: 1.02s;
}
.fade .ttl_anm span:nth-child(35) {
  transition-delay: 1.05s;
}
.fade .ttl_anm span:nth-child(36) {
  transition-delay: 1.08s;
}
.fade .ttl_anm span:nth-child(37) {
  transition-delay: 1.11s;
}
.fade .ttl_anm span:nth-child(38) {
  transition-delay: 1.14s;
}
.fade .ttl_anm span:nth-child(39) {
  transition-delay: 1.17s;
}
.fade .ttl_anm span:nth-child(40) {
  transition-delay: 1.2s;
}
.fade .ttl_anm span:nth-child(41) {
  transition-delay: 1.23s;
}
.fade .ttl_anm span:nth-child(42) {
  transition-delay: 1.26s;
}
.fade .ttl_anm span:nth-child(43) {
  transition-delay: 1.29s;
}
.fade .ttl_anm span:nth-child(44) {
  transition-delay: 1.32s;
}
.fade .ttl_anm span:nth-child(45) {
  transition-delay: 1.35s;
}
.fade .ttl_anm span:nth-child(46) {
  transition-delay: 1.38s;
}
.fade .ttl_anm span:nth-child(47) {
  transition-delay: 1.41s;
}
.fade .ttl_anm span:nth-child(48) {
  transition-delay: 1.44s;
}
.fade .ttl_anm span:nth-child(49) {
  transition-delay: 1.47s;
}
.fade .ttl_anm span:nth-child(50) {
  transition-delay: 1.5s;
}
.fade .ttl_anm span:nth-child(51) {
  transition-delay: 1.53s;
}
.fade .ttl_anm span:nth-child(52) {
  transition-delay: 1.56s;
}
.fade .ttl_anm span:nth-child(53) {
  transition-delay: 1.59s;
}
.fade .ttl_anm span:nth-child(54) {
  transition-delay: 1.62s;
}
.fade .ttl_anm span:nth-child(55) {
  transition-delay: 1.65s;
}
.fade .ttl_anm span:nth-child(56) {
  transition-delay: 1.68s;
}
.fade .ttl_anm span:nth-child(57) {
  transition-delay: 1.71s;
}
.fade .ttl_anm span:nth-child(58) {
  transition-delay: 1.74s;
}
.fade .ttl_anm span:nth-child(59) {
  transition-delay: 1.77s;
}
.fade .ttl_anm span:nth-child(60) {
  transition-delay: 1.8s;
}
.fade .ttl_anm span:nth-child(61) {
  transition-delay: 1.83s;
}
.fade .ttl_anm span:nth-child(62) {
  transition-delay: 1.86s;
}
.fade .ttl_anm span:nth-child(63) {
  transition-delay: 1.89s;
}
.fade .ttl_anm span:nth-child(64) {
  transition-delay: 1.92s;
}
.fade .ttl_anm span:nth-child(65) {
  transition-delay: 1.95s;
}
.fade .ttl_anm span:nth-child(66) {
  transition-delay: 1.98s;
}
.fade .ttl_anm span:nth-child(67) {
  transition-delay: 2.01s;
}
.fade .ttl_anm span:nth-child(68) {
  transition-delay: 2.04s;
}
.fade .ttl_anm span:nth-child(69) {
  transition-delay: 2.07s;
}
.fade .ttl_anm span:nth-child(70) {
  transition-delay: 2.1s;
}
.fade .ttl_anm span:nth-child(71) {
  transition-delay: 2.13s;
}
.fade .ttl_anm span:nth-child(72) {
  transition-delay: 2.16s;
}
.fade .ttl_anm span:nth-child(73) {
  transition-delay: 2.19s;
}
.fade .ttl_anm span:nth-child(74) {
  transition-delay: 2.22s;
}
.fade .ttl_anm span:nth-child(75) {
  transition-delay: 2.25s;
}
.fade .ttl_anm span:nth-child(76) {
  transition-delay: 2.28s;
}
.fade .ttl_anm span:nth-child(77) {
  transition-delay: 2.31s;
}
.fade .ttl_anm span:nth-child(78) {
  transition-delay: 2.34s;
}
.fade .ttl_anm span:nth-child(79) {
  transition-delay: 2.37s;
}
.fade .ttl_anm span:nth-child(80) {
  transition-delay: 2.4s;
}
.fade .ttl_anm span:nth-child(81) {
  transition-delay: 2.43s;
}
.fade .ttl_anm span:nth-child(82) {
  transition-delay: 2.46s;
}
.fade .ttl_anm span:nth-child(83) {
  transition-delay: 2.49s;
}
.fade .ttl_anm span:nth-child(84) {
  transition-delay: 2.52s;
}
.fade .ttl_anm span:nth-child(85) {
  transition-delay: 2.55s;
}
.fade .ttl_anm span:nth-child(86) {
  transition-delay: 2.58s;
}
.fade .ttl_anm span:nth-child(87) {
  transition-delay: 2.61s;
}
.fade .ttl_anm span:nth-child(88) {
  transition-delay: 2.64s;
}
.fade .ttl_anm span:nth-child(89) {
  transition-delay: 2.67s;
}
.fade .ttl_anm span:nth-child(90) {
  transition-delay: 2.7s;
}
.fade .ttl_anm span:nth-child(91) {
  transition-delay: 2.73s;
}
.fade .ttl_anm span:nth-child(92) {
  transition-delay: 2.76s;
}
.fade .ttl_anm span:nth-child(93) {
  transition-delay: 2.79s;
}
.fade .ttl_anm span:nth-child(94) {
  transition-delay: 2.82s;
}
.fade .ttl_anm span:nth-child(95) {
  transition-delay: 2.85s;
}
.fade .ttl_anm span:nth-child(96) {
  transition-delay: 2.88s;
}
.fade .ttl_anm span:nth-child(97) {
  transition-delay: 2.91s;
}
.fade .ttl_anm span:nth-child(98) {
  transition-delay: 2.94s;
}
.fade .ttl_anm span:nth-child(99) {
  transition-delay: 2.97s;
}
.fade .ttl_anm span:nth-child(100) {
  transition-delay: 3s;
}
.fade.fade-on .ttl_anm {
  opacity: 1;
}
.fade.fade-on .ttl_anm span {
  opacity: 1;
  transform: translateY(0);
  clip-path: inset(0 0 0 0);
}

/* ----------------------------------------------------------------------------------------------------
*  èæ¯
* --------------------------------------------------------------------------------------------------*/
.page_wrap.megamenu_open .content,
.page_wrap.megamenu_open .footer_info,
.page_wrap.megamenu_open .footer_wrap {
  filter: blur(10px);
}
.page_wrap.black {
  background: #1d1d1d;
}
.page_wrap.black body,
.page_wrap.black h1,
.page_wrap.black h2,
.page_wrap.black h3,
.page_wrap.black h4,
.page_wrap.black h5,
.page_wrap.black h6,
.page_wrap.black p,
.page_wrap.black address,
.page_wrap.black ul,
.page_wrap.black ol,
.page_wrap.black li,
.page_wrap.black dl,
.page_wrap.black dt,
.page_wrap.black dd,
.page_wrap.black table,
.page_wrap.black th,
.page_wrap.black td,
.page_wrap.black img,
.page_wrap.black figure,
.page_wrap.black div,
.page_wrap.black form,
.page_wrap.black input,
.page_wrap.black textarea,
.page_wrap.black select,
.page_wrap.black button {
  color: #e2e2e2;
}
@media screen and (min-width: 769px) {
  .page_wrap.black .header_wrap .header_btn_box .header_flex .txt {
    transition: 0.4s ease-out;
  }
  .page_wrap.black .header_wrap .header_btn_box .header_flex .txt:hover {
    opacity: 1;
    color: #fff;
  }
}
.page_wrap.black .header_wrap .header_btn_box .header_flex .txt.current {
  color: #fff;
}
.page_wrap.black .header_wrap .header_btn_box .header_flex .txt.current:before {
  background-color: #fff;
}
.page_wrap.black .header_wrap .header_btn_box .header_btn.black a {
  background: #fff;
  border-color: #e2e2e2;
  color: #1d1d1d;
}
.page_wrap.black .header_wrap .header_btn_box .header_btn.ki a {
  background: #1d1d1d;
  border-color: #e2e2e2;
  color: #e2e2e2;
}
@media screen and (min-width: 769px) {
  .page_wrap.black .header_wrap .header_nav_list .header_nav_item a::before {
    background: #e2e2e2;
  }
}
.page_wrap.black .header_wrap .header_nav_list .header_nav_sub_list {
  background: rgba(33, 33, 33, 0.9);
}
.page_wrap.black .footer_info .footer_cv {
  border-color: #383838;
}
.page_wrap.black .footer_info .sns_box {
  border-color: #383838;
}
.page_wrap.black .footer_info .sns_box .btn .ico.ico_youtube {
  background: url(img/ico_youtube03.svg) no-repeat center center;
  background-size: 100%;
}
.page_wrap.black .footer_info .sns_box .btn .ico.ico_x {
  background: url(img/ico_x03.svg) no-repeat center center;
  background-size: 100%;
}
/* Instagram icon uses inline SVG, no background needed */
.page_wrap.black .btn.btn01 a {
  background: #e2e2e2;
  color: #1d1d1d;
}
@media screen and (min-width: 769px) {
  .page_wrap.black .btn.btn01 a:hover {
    background-color: #1d1d1d;
    border-color: #e2e2e2;
    color: #fff;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .page_wrap.black .btn.btn01 a:hover .ico.arw {
    background: url(img/ico_arw03.svg) no-repeat center center;
  }
}
.page_wrap.black .btn.btn01 .ico.arw {
  background: url(img/ico_arw04.svg) no-repeat center center;
}
.page_wrap.black .btn.btn01.white a {
  background: #1d1d1d;
  border-color: #383838;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .page_wrap.black .btn.btn01.white a:hover {
    background-color: #fff;
    border-color: #1d1d1d;
    color: #1d1d1d;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .page_wrap.black .btn.btn01.white a:hover .ico.arw {
    background: url(img/ico_arw04.svg) no-repeat center center;
  }
}
.page_wrap.black .btn.btn01.white .ico.arw {
  background: url(img/ico_arw03.svg) no-repeat center center;
}
@media screen and (min-width: 769px) {
  .page_wrap.black .btn.btn03 a:hover .btn_txt {
    background: none;
  }
}
.page_wrap.black .btn.btn03 .btn_txt {
  background: linear-gradient(transparent 96%, #e2e2e2 0%);
}
.page_wrap.black .btn.btn03 .ico {
  background-color: #e2e2e2;
}
.page_wrap.black .btn.btn03 .ico.win {
  background: #e2e2e2 url(img/ico_win01.svg) no-repeat center center;
}
@media screen and (max-width: 768px) {
  .page_wrap.black .btn.btn03 .ico.win {
    background-size: 8px;
  }
}
.page_wrap.black .btn.btn03 .ico.arw {
  background: #e2e2e2 url(img/ico_arw01.svg) no-repeat center center;
}
@media screen and (max-width: 768px) {
  .page_wrap.black .btn.btn03 .ico.arw {
    background-size: 8px;
  }
}
.page_wrap.black .page_down_btn a {
  background: #e2e2e2 url(img/page_down_arw_wh.svg) no-repeat center center;
}

/* ------------------------------
	.header_fix_btn_box
------------------------------ */
.header_fix_btn_box {
  position: fixed;
  z-index: 2000;
  top: 15px;
  right: 15px;
  display: flex;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease-out, visibility 0.4s ease-out;
  transition: opacity 0.4s ease-out, visibility 0.4s ease-out;
}
.header_fix_btn_box.fix {
  opacity: 1;
  visibility: visible;
}
.header_fix_btn_box.close {
  opacity: 0;
  visibility: hidden;
}
@media screen and (min-width: 769px) {
  .header_fix_btn_box {
    display: none;
  }
}
.header_fix_btn_box .header_fix_btn + .header_fix_btn {
  margin-left: 5px;
}
.header_fix_btn_box .header_fix_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 8px 22px 8px 8px;
  font-size: 1.3rem;
  background: #1d1d1d url(img/ico_arw03.svg) no-repeat;
  background-position: calc(100% - 7px) center;
  background-size: 9px;
  color: #fff;
}

/* ------------------------------
	.wp
------------------------------ */
.details_txt {
  /* ------------------------------
  	.midashi
  ------------------------------ */
}
@media screen and (min-width: 769px) {
  .details_txt {
    overflow: hidden;
  }
}
.details_txt > *:first-child,
.details_txt > *:first-child *:first-child {
  margin-top: 0 !important;
}
.details_txt > *:last-child,
.details_txt > *:last-child *:last-child {
  margin-bottom: 0 !important;
}
.details_txt > * {
  position: relative;
  max-width: 100%;
}
.details_txt * {
  font-size: 1.4rem;
  line-height: 2;
  word-break: break-all;
  word-break: break-word;
  font-weight: 500;
}
.details_txt .main_img {
  width: 100%;
}
.details_txt .main_img img {
  width: 100%;
}
.details_txt h1,
.details_txt h2,
.details_txt h3,
.details_txt h4,
.details_txt h5,
.details_txt h6 {
  position: relative;
  font-weight: 500;
  line-height: 1.6;
}
.details_txt h1,
.details_txt h2,
.details_txt h3 {
  margin-top: 100px;
}
.details_txt h1,
.details_txt h2 {
  font-size: 3.6rem;
  line-height: 1.3;
}
.details_txt h3 {
  padding-bottom: 13px;
  font-size: 2.6rem;
  border-bottom: 1px solid #bababa;
}
.details_txt h4 {
  font-size: 2.2rem;
}
.details_txt h5 {
  font-size: 2rem;
}
.details_txt h6 {
  font-size: 1.8rem;
}
.details_txt a {
  font-size: inherit;
  line-height: inherit;
  text-decoration: underline;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  color: #539aeb;
}
@media screen and (min-width: 769px) {
  .details_txt a:hover {
    text-decoration: none;
  }
}
.details_txt a[href^="tel:"],
.details_txt a[href^="mailto:"] {
  color: #1d1d1d;
  text-decoration: none;
}
.details_txt span,
.details_txt strong,
.details_txt em,
.details_txt b {
  font-size: inherit;
  line-height: inherit;
}
.details_txt > *,
.details_txt > * p + p {
  margin-top: 50px;
}
.details_txt > p + p {
  margin-top: 2em;
}
.details_txt h1 + *,
.details_txt h2 + *,
.details_txt h3 + *,
.details_txt h4 + *,
.details_txt h5 + *,
.details_txt h6 + * {
  margin-top: 30px;
}
.details_txt .wp-caption-text,
.details_txt figcaption,
.details_txt caption {
  display: block;
  margin-bottom: 0 !important;
  margin-top: 1em;
  font-size: 1.4rem;
}
.details_txt figure {
  display: table;
}
.details_txt figure figcaption {
  display: table-caption;
  caption-side: bottom;
}
.details_txt .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.details_txt .alignright {
  float: right;
  margin-left: 40px;
  padding-bottom: 0.3em;
  overflow: hidden;
}
.details_txt .alignleft {
  float: left;
  margin-right: 40px;
  padding-bottom: 0.3em;
  overflow: hidden;
}
.details_txt p::after {
  content: "";
  clear: both;
}
.details_txt > *:first-child.alignright + p,
.details_txt > *:first-child.alignleft + p {
  margin-top: 0;
}
.details_txt .alignleft + .aligncenter,
.details_txt .alignright + .aligncenter {
  padding-top: 28px;
}
.details_txt ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.details_txt ul li::before {
  content: "ã»";
}
.details_txt ol {
  padding-left: 25px;
}
.details_txt ol {
  counter-reset: ol_num;
}
.details_txt ol li {
  position: relative;
}
.details_txt ol li:before {
  position: absolute;
  top: 0;
  left: -25px;
  counter-increment: ol_num;
  content: counter(ol_num) ".";
}
.details_txt li + li {
  margin-top: 2px;
}
.details_txt blockquote {
  padding: 60px;
  border: 1px solid #e2e2e2;
}
.details_txt blockquote::before, .details_txt blockquote::after {
  position: absolute;
  z-index: 2;
  display: block;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1;
  pointer-events: none;
}
.details_txt blockquote::before {
  top: 24px;
  left: 60px;
  content: "â";
}
.details_txt blockquote::after {
  bottom: 10px;
  right: 60px;
  content: "â";
}
.details_txt table {
  width: 100%;
}
.details_txt thead {
  border: 0;
}
.details_txt th,
.details_txt td {
  padding: 20px;
  border-left: 1px solid #bababa;
  border-bottom: 1px solid #bababa;
  border-color: #bababa;
  line-height: 1.3;
  background: #f9f9f9;
  text-align: center;
}
.details_txt tr > *:last-child {
  border-right: 1px solid #bababa;
}
.details_txt tr:first-child > * {
  border-top: 1px solid #bababa;
}
.details_txt th {
  padding: 18px;
  font-size: 1.8rem;
}
.details_txt td {
  font-size: 1.4rem;
}
.details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table table {
  width: 100%;
}
.details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table thead {
  border: 0;
}
.details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th,
.details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td {
  padding: 20px;
  border-left: 1px solid #bababa;
  border-bottom: 1px solid #bababa;
  border-color: #bababa;
  line-height: 1.3;
  background: #f9f9f9;
  text-align: center;
}
.details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table tr > *:last-child {
  border-right: 1px solid #bababa;
}
.details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table tr:first-child > * {
  border-top: 1px solid #bababa;
}
.details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th {
  padding: 18px;
  font-size: 1.8rem;
}
.details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td {
  font-size: 1.4rem;
}
.details_txt .wp-block-flexible-table-block-table table {
  width: 100%;
}
.details_txt .wp-block-flexible-table-block-table thead {
  border: 0;
}
.details_txt .wp-block-flexible-table-block-table th,
.details_txt .wp-block-flexible-table-block-table td {
  padding: 20px;
  border-left: 1px solid #bababa;
  border-bottom: 1px solid #bababa;
  border-color: #bababa;
  line-height: 1.3;
  background: #f9f9f9;
  text-align: center;
}
.details_txt .wp-block-flexible-table-block-table tr > *:last-child {
  border-right: 1px solid #bababa;
}
.details_txt .wp-block-flexible-table-block-table tr:first-child > * {
  border-top: 1px solid #bababa;
}
.details_txt .wp-block-flexible-table-block-table th {
  padding: 18px;
  font-size: 1.8rem;
}
.details_txt .wp-block-flexible-table-block-table td {
  font-size: 1.4rem;
}
.details_txt iframe {
  display: block;
  aspect-ratio: 16/9;
  width: 100%;
  max-width: 795px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.details_txt .is-type-video figcaption {
  max-width: 795px;
  margin-left: auto;
  margin-right: auto;
}
.details_txt .wp-block-embed-youtube.alignleft,
.details_txt .wp-block-embed-youtube.alignright {
  max-width: 100%;
}
.details_txt hr {
  background-color: #e2e2e2;
  border: 0;
  height: 1px;
}
.details_txt .wp-block-simple-definition-list-blocks-list {
  display: flex;
  flex-wrap: wrap;
  padding: 13px 40px 32px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .details_txt .wp-block-simple-definition-list-blocks-list {
    flex-direction: column;
    padding: 10px 4% 20px;
  }
}
.details_txt .wp-block-simple-definition-list-blocks-list dt,
.details_txt .wp-block-simple-definition-list-blocks-list dd {
  padding: 24px 0;
  border-bottom: 1px solid #e2e2e2;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .details_txt .wp-block-simple-definition-list-blocks-list dt,
  .details_txt .wp-block-simple-definition-list-blocks-list dd {
    padding: 20px 0;
    line-height: 1.8;
  }
}
.details_txt .wp-block-simple-definition-list-blocks-list dt {
  flex-shrink: 0;
  width: 210px;
  padding-right: 10px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .details_txt .wp-block-simple-definition-list-blocks-list dt {
    width: 100%;
    padding-right: 0;
    padding-bottom: 5px;
    border-bottom: 0;
  }
}
.details_txt .wp-block-simple-definition-list-blocks-list dd {
  width: calc(100% - 210px);
}
@media screen and (max-width: 768px) {
  .details_txt .wp-block-simple-definition-list-blocks-list dd {
    width: 100%;
    padding-top: 0;
  }
}
.details_txt .wp-block-simple-definition-list-blocks-list dd .min {
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .details_txt .wp-block-simple-definition-list-blocks-list dd .min {
    font-size: 1rem;
  }
}
.details_txt .wp-block-simple-definition-list-blocks-list dd > * + * {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .details_txt .wp-block-simple-definition-list-blocks-list dd > * + * {
    margin-top: 20px;
  }
}
.details_txt .wp-block-simple-definition-list-blocks-list dd ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.details_txt .wp-block-simple-definition-list-blocks-list dd ul li::before {
  content: "ã»";
}
.details_txt .wp-block-simple-definition-list-blocks-list dd ol {
  padding-left: 25px;
}
.details_txt .wp-block-simple-definition-list-blocks-list dd ol {
  counter-reset: ol_num;
}
.details_txt .wp-block-simple-definition-list-blocks-list dd ol li {
  position: relative;
}
.details_txt .wp-block-simple-definition-list-blocks-list dd ol li:before {
  position: absolute;
  top: 0;
  left: -25px;
  counter-increment: ol_num;
  content: counter(ol_num) ".";
}
.details_txt .wp-block-simple-definition-list-blocks-list dd li + li {
  margin-top: 2px;
}
@media screen and (max-width: 768px) {
  .details_txt .alignright,
  .details_txt .alignleft {
    float: none;
    display: block;
    text-align: center;
    margin: 25px auto 0;
    padding: 0;
  }
  .details_txt .alignleft + .aligncenter,
  .details_txt .alignright + .aligncenter {
    padding-top: 0;
  }
  .details_txt .aligncenter figcaption,
  .details_txt .alignleft figcaption,
  .details_txt .alignright figcaption {
    display: block;
    margin-bottom: 0;
  }
  .details_txt * {
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .details_txt > *,
  .details_txt > * p + p {
    margin-top: 30px;
  }
  .details_txt > p + p {
    margin-top: 1.8em;
  }
  .details_txt h1 + *,
  .details_txt h2 + *,
  .details_txt h3 + *,
  .details_txt h4 + *,
  .details_txt h5 + *,
  .details_txt h6 + * {
    margin-top: 20px;
  }
  .details_txt h1,
  .details_txt h2,
  .details_txt h3 {
    margin-top: 80px;
  }
  .details_txt h4 {
    margin-top: 50px;
  }
  .details_txt h1,
  .details_txt h2 {
    font-size: 2.4rem;
    line-height: 1.4;
  }
  .details_txt h3 {
    font-size: 2.2rem;
  }
  .details_txt h4 {
    font-size: 2rem;
  }
  .details_txt h5 {
    font-size: 1.8rem;
  }
  .details_txt h6 {
    font-size: 1.6rem;
  }
  .details_txt .wp-caption-text,
  .details_txt figcaption,
  .details_txt caption {
    font-size: 1.3rem;
  }
  .details_txt th,
  .details_txt td {
    padding: 15px 10px;
  }
  .details_txt th {
    padding: 15px 10px;
    font-size: 1.5rem;
  }
  .details_txt td {
    font-size: 1.3rem;
  }
  .details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th,
  .details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td {
    padding: 15px 10px;
  }
  .details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table th {
    padding: 15px 10px;
    font-size: 1.5rem;
  }
  .details_txt .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table td {
    font-size: 1.3rem;
  }
  .details_txt .wp-block-flexible-table-block-table th,
  .details_txt .wp-block-flexible-table-block-table td {
    padding: 15px 10px;
  }
  .details_txt .wp-block-flexible-table-block-table th {
    padding: 15px 10px;
    font-size: 1.5rem;
  }
  .details_txt .wp-block-flexible-table-block-table td {
    font-size: 1.3rem;
  }
  .details_txt blockquote {
    padding: 20px;
  }
  .details_txt blockquote::before, .details_txt blockquote::after {
    font-size: 2rem;
  }
  .details_txt blockquote::before {
    top: 10px;
    left: 5px;
    content: "â";
  }
  .details_txt blockquote::after {
    bottom: 0;
    right: 5px;
    content: "â";
  }
}
.details_txt .midashi,
.details_txt #toc_container {
  width: 100% !important;
  margin: 60px 0;
  border: 0;
  background: none;
}
@media screen and (max-width: 768px) {
  .details_txt .midashi,
  .details_txt #toc_container {
    margin: 40px 0;
  }
}
.details_txt .midashi .midashi_ttl,
.details_txt .midashi .toc_title,
.details_txt #toc_container .midashi_ttl,
.details_txt #toc_container .toc_title {
  position: relative;
  padding: 10px 0 10px 30px;
  border-bottom: 1px solid #e2e2e2;
  font-family: "Akshar", "Noto Sans JP", "ã¡ã¤ãªãª", "Meiryo", "Hiragino Kaku Gothic Pro", "ãã©ã®ãè§ã´ Pro W3", "ï¼­ï¼³ ï¼°ã´ã·ãã¯", Arial, Verdana, sans-serif;
  font-size: 2.4rem;
  letter-spacing: 0.01em;
  line-height: 1.6;
  font-weight: 500;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .details_txt .midashi .midashi_ttl,
  .details_txt .midashi .toc_title,
  .details_txt #toc_container .midashi_ttl,
  .details_txt #toc_container .toc_title {
    padding: 5px 0 5px 25px;
    background-size: 14px;
    font-size: 1.8rem;
  }
}
.details_txt .midashi .midashi_ttl::before,
.details_txt .midashi .toc_title::before,
.details_txt #toc_container .midashi_ttl::before,
.details_txt #toc_container .toc_title::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: url(img/ico_midashi01.svg) no-repeat left center;
  background-size: 100%;
  transform: rotate(0deg);
}
.details_txt .midashi.contracted .toc_title::before,
.details_txt #toc_container.contracted .toc_title::before {
  transform: rotate(180deg);
}
.details_txt .midashi .midashi_list,
.details_txt .midashi .toc_list,
.details_txt #toc_container .midashi_list,
.details_txt #toc_container .toc_list {
  width: 100%;
  margin: 0;
}
@media screen and (min-width: 769px) {
  .details_txt .midashi .midashi_list,
  .details_txt .midashi .toc_list,
  .details_txt #toc_container .midashi_list,
  .details_txt #toc_container .toc_list {
    padding: 40px !important;
  }
}
@media screen and (max-width: 768px) {
  .details_txt .midashi .midashi_list,
  .details_txt .midashi .toc_list,
  .details_txt #toc_container .midashi_list,
  .details_txt #toc_container .toc_list {
    padding: 20px 10px !important;
  }
}
.details_txt .midashi .midashi_list > li > a,
.details_txt .midashi .toc_list > li > a,
.details_txt #toc_container .midashi_list > li > a,
.details_txt #toc_container .toc_list > li > a {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .details_txt .midashi .midashi_list > li > a,
  .details_txt .midashi .toc_list > li > a,
  .details_txt #toc_container .midashi_list > li > a,
  .details_txt #toc_container .toc_list > li > a {
    font-size: 1.3rem;
  }
}
.details_txt .midashi .midashi_list > li + li,
.details_txt .midashi .toc_list > li + li,
.details_txt #toc_container .midashi_list > li + li,
.details_txt #toc_container .toc_list > li + li {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .details_txt .midashi .midashi_list > li + li,
  .details_txt .midashi .toc_list > li + li,
  .details_txt #toc_container .midashi_list > li + li,
  .details_txt #toc_container .toc_list > li + li {
    margin-top: 10px;
  }
}
.details_txt .midashi .midashi_list li,
.details_txt .midashi .toc_list li,
.details_txt #toc_container .midashi_list li,
.details_txt #toc_container .toc_list li {
  padding-left: 0;
  text-indent: 0;
}
.details_txt .midashi .midashi_list li::before,
.details_txt .midashi .toc_list li::before,
.details_txt #toc_container .midashi_list li::before,
.details_txt #toc_container .toc_list li::before {
  display: none;
}
.details_txt .midashi .midashi_list li a,
.details_txt .midashi .toc_list li a,
.details_txt #toc_container .midashi_list li a,
.details_txt #toc_container .toc_list li a {
  color: #1d1d1d;
  text-decoration: none;
}
.details_txt .midashi .midashi_list li ul,
.details_txt .midashi .midashi_list li ol,
.details_txt .midashi .toc_list li ul,
.details_txt .midashi .toc_list li ol,
.details_txt #toc_container .midashi_list li ul,
.details_txt #toc_container .midashi_list li ol,
.details_txt #toc_container .toc_list li ul,
.details_txt #toc_container .toc_list li ol {
  margin-top: 10px;
  margin-left: 0;
  padding-left: 20px;
}
@media screen and (max-width: 768px) {
  .details_txt .midashi .midashi_list li ul,
  .details_txt .midashi .midashi_list li ol,
  .details_txt .midashi .toc_list li ul,
  .details_txt .midashi .toc_list li ol,
  .details_txt #toc_container .midashi_list li ul,
  .details_txt #toc_container .midashi_list li ol,
  .details_txt #toc_container .toc_list li ul,
  .details_txt #toc_container .toc_list li ol {
    margin-top: 5px;
  }
}
.details_txt .midashi .midashi_list li ul li a,
.details_txt .midashi .midashi_list li ol li a,
.details_txt .midashi .toc_list li ul li a,
.details_txt .midashi .toc_list li ol li a,
.details_txt #toc_container .midashi_list li ul li a,
.details_txt #toc_container .midashi_list li ol li a,
.details_txt #toc_container .toc_list li ul li a,
.details_txt #toc_container .toc_list li ol li a {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .details_txt .midashi .midashi_list li ul li a,
  .details_txt .midashi .midashi_list li ol li a,
  .details_txt .midashi .toc_list li ul li a,
  .details_txt .midashi .toc_list li ol li a,
  .details_txt #toc_container .midashi_list li ul li a,
  .details_txt #toc_container .midashi_list li ol li a,
  .details_txt #toc_container .toc_list li ul li a,
  .details_txt #toc_container .toc_list li ol li a {
    font-size: 1.1rem;
  }
}
.details_txt .midashi .midashi_list li ul li + li,
.details_txt .midashi .midashi_list li ol li + li,
.details_txt .midashi .toc_list li ul li + li,
.details_txt .midashi .toc_list li ol li + li,
.details_txt #toc_container .midashi_list li ul li + li,
.details_txt #toc_container .midashi_list li ol li + li,
.details_txt #toc_container .toc_list li ul li + li,
.details_txt #toc_container .toc_list li ol li + li {
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .details_txt .midashi .midashi_list li ul li + li,
  .details_txt .midashi .midashi_list li ol li + li,
  .details_txt .midashi .toc_list li ul li + li,
  .details_txt .midashi .toc_list li ol li + li,
  .details_txt #toc_container .midashi_list li ul li + li,
  .details_txt #toc_container .midashi_list li ol li + li,
  .details_txt #toc_container .toc_list li ul li + li,
  .details_txt #toc_container .toc_list li ol li + li {
    margin-top: 2px;
  }
}

.blocks-gallery-grid .blocks-gallery-item::before {
  content: none;
}

@media screen and (max-width: 896px) {
  .lHeading-wrap {
    padding: 0 5%;
  }
}
.lHeading-wrap .page_ttl {
  padding-left: calc(0.0714285714 * 40 * 1vw);
}
@media screen and (max-width: 896px) {
  .lHeading-wrap .page_ttl {
    padding-left: calc(0.2666666667 * 0 * 1vw);
  }
}
.lHeading-wrap .lHeading-wrap__en {
  font-size: calc(0.0714285714 * 170 * 1vw);
}
@media screen and (max-width: 896px) {
  .lHeading-wrap .lHeading-wrap__en {
    font-size: calc(0.2666666667 * 57 * 1vw);
  }
}
.lHeading-wrap .lHeading-wrap__en.--kids-small {
  font-size: calc(0.0714285714 * 150 * 1vw);
}
@media screen and (max-width: 896px) {
  .lHeading-wrap .lHeading-wrap__en.--kids-small {
    font-size: calc(0.2666666667 * 60 * 1vw);
  }
}
.lHeading-wrap .lHeading-wrap__en.--kids-education {
  font-size: calc(0.0714285714 * 120 * 1vw);
}
@media screen and (max-width: 896px) {
  .lHeading-wrap .lHeading-wrap__en.--kids-education {
    font-size: calc(0.2666666667 * 40 * 1vw);
  }
}
.lHeading-wrap .lHeading-wrap__en.--kids-philosophy {
  font-size: calc(0.0714285714 * 130 * 1vw);
}
@media screen and (max-width: 896px) {
  .lHeading-wrap .lHeading-wrap__en.--kids-philosophy {
    font-size: calc(0.2666666667 * 60 * 1vw);
  }
}
.lHeading-wrap .lHeading-wrap__ja {
  font-size: calc(0.0714285714 * 20 * 1vw);
}
@media screen and (max-width: 896px) {
  .lHeading-wrap .lHeading-wrap__ja {
    font-size: calc(0.2666666667 * 18 * 1vw);
  }
}
.lHeading-wrap .lHeading-wrap__ja.--kids-small {
  font-size: calc(0.0714285714 * 18 * 1vw);
}
@media screen and (max-width: 896px) {
  .lHeading-wrap .lHeading-wrap__ja.--kids-small {
    font-size: calc(0.2666666667 * 16 * 1vw);
  }
}
.lHeading-wrap .txt_box {
  width: 100%;
  max-width: 100%;
  padding-left: calc(0.0714285714 * 140 * 1vw);
}
@media screen and (max-width: 896px) {
  .lHeading-wrap .txt_box {
    margin-top: calc(0.2666666667 * 60 * 1vw);
    padding-left: calc(0.2666666667 * 0 * 1vw);
  }
}

.heading .heading-break {
  font-style: normal;
  display: inline-block;
}
@media screen and (max-width: 896px) {
  .heading .heading-break {
    display: block;
  }
}

@media screen and (max-width: 896px) {
  .nav_main .nav_main--link {
    display: flex !important;
    align-items: flex-start !important;
  }
}
@media screen and (max-width: 896px) {
  .nav_main .nav_main--link .jp .nav-text-jp {
    display: inline-block;
    margin-top: 5px;
  }
}

.details_txt figure figcaption {
  display: block !important;
}

/*# sourceMappingURL=common.css.map */
