@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700;900&display=swap');

/* =======================================

  CommonElements

======================================= */
html {
  height: 100%;
  font-size: 62.5%;
}
body {
  height: 100%;
  color: #444;
  font-size: 1.5rem;
  font-weight: 400;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.5;
  letter-spacing: 0.06em;
  position: relative;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}
#container {
  width: 100%;
  min-width: 1126px;
  overflow: hidden;
}
.sec_wrap {
  margin-bottom: 80px !important;
}

@media only screen and (max-width: 767px) {
  #container {
    min-width: auto;
    min-width: initial;
  }
  .sec_wrap {
    margin-bottom: 40px !important;
  }
}

@font-face {
  font-family: 'poppins';
  src:
    url('/educare/css/fonts/poppins.ttf?k4yrem') format('truetype'),
    url('/educare/css/fonts/poppins.woff?k4yrem') format('woff'),
    url('/educare/css/fonts/poppins.svg?k4yrem#poppins') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.icon {
  font-family: 'poppins';
}

.icon-arrow::before {
  content: "\e900";
}
.icon-arrow_line::before {
  content: "\e901";
}
.icon-blank::before {
  content: "\e902";
}
.icon-language::before {
  content: "\e903";
}
.icon-login::before {
  content: "\e904";
}
.icon-login_arrow::before {
  content: "\e905";
}
.icon-mail::before {
  content: "\e906";
}
.icon-pdf::before {
  content: "\e907";
}
.icon-check::before {
  content: "\e908";
}
.icon-home::before {
  content: "\e909";
}
.icon-sort::before {
  content: "\e90a";
}
.icon-building::before {
  content: "\e90b";
}
.icon-cross::before {
  content: "\e90c";
}

/* ------------------------------------
  label
------------------------------------ */
/*.label.nanny { background-color: #ff9dc7; }
.label.vip { background-color: #86bc88; }
.label.corporation { background-color: #937cf5; }
.label.childcare { background-color: #00a8c3; }
.label.temporary { background-color: #4bb7e6; }*/

.label.nursery { background-color: #00429a; }
.label.after { background-color: #90a0d1; }
.label.plus { background-color: #3dd9c7; }
.label.active { background-color: #ff9dc7; }
.label.international { background-color: #e86767; }
.label.edu { background-color: #65bfeb; }
.label.consul { background-color: #937cf5; }
.label.others { background-color: #b7b7b7; }
.label.optional01 { background-color: #e88067; }
.label.optional02 { background-color: #e5af49; }
.label.optional03 { background-color: #88dda8; }
.label.optional04 { background-color: #bdd346; }
.label.optional05 { background-color: #4598c1; }

/* ------------------------------------
  layout
------------------------------------ */
.cont_inner {
  max-width: 1126px;
  margin: 0 auto;
}
.cont_inner.narrow {
  max-width: 980px;
}

@media only screen and (max-width: 1158px) {
  .cont_inner {
    margin-right: 16px;
    margin-left: 16px;
  }
  .cont_inner.narrow {
    margin-right: auto;
    margin-left: auto;
  }
}

@media only screen and (max-width: 767px) {
  .cont_inner,
  .cont_inner.narrow {
    width: 100%;
    padding-left: 4%;
    padding-right: 4%;
    margin-left: auto;
    margin-right: auto;
    max-width: auto;
    max-width: initial;
    min-width: auto;
    min-width: initial;
  }
}

/* ------------------------------------
  common parts
------------------------------------ */
.br_pc {display: block; font-size: 0 !important;}
.br_sp {display: none !important;}
.display_pc {display: block !important;}
.display_sp {display: none !important;}
.align_r {text-align: right !important;}
.align_c {text-align: center !important;}
.align_l {text-align: left !important;}
.v_align_t {vertical-align: top !important;}
.v_align_m {vertical-align: middle !important;}
.v_align_b {vertical-align: bottom !important;}
.w5 {width: 5% !important;}
.w10 {width: 10% !important;}
.w15 {width: 15% !important;}
.w20 {width: 20% !important;}
.w25 {width: 25% !important;}
.w30 {width: 30% !important;}
.w35 {width: 35% !important;}
.w40 {width: 40% !important;}
.w45 {width: 45% !important;}
.w50 {width: 50% !important;}
.w55 {width: 55% !important;}
.w60 {width: 60% !important;}
.w65 {width: 65% !important;}
.w70 {width: 70% !important;}
.w75 {width: 75% !important;}
.w80 {width: 80% !important;}
.w85 {width: 85% !important;}
.w90 {width: 90% !important;}
.w95 {width: 95% !important;}
.w100 {width: 100% !important;}

@media only screen and (max-width: 767px) {
  .br_pc {display: none !important;}
  .br_sp {display: block !important; font-size: 0 !important;}
  .display_pc {display: none !important;}
  .display_sp {display: block !important;}
}

p {
  line-height: 2.0;
}
a {
  text-decoration: none;
  outline: none !important;
}
a.disabled {
  cursor: default;
}
img {
  max-width: 100%;
  vertical-align: middle;
}

/* .fit_img */
.fit_img {
  position: relative;
}
.fit_img img {
  opacity: 0;
  width: auto;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.fit_img.land img {
  width: auto;
  height: 100%;
}
.fit_img.port img {
  width: 100%;
  height: auto;
}

/* column  */
.clm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
.clm_2 > * {
  width: calc((100% - 16px) / 2);
  margin-right: 16px;
}
.clm_2 > *:nth-of-type(2n) {
  margin-right: 0;
}

@media only screen and (max-width: 767px) {
  .clm {
    display: block;
  }
  .clm_2 > * {
    width: 100%;
    margin-right: 0;
  }
  .clm_2 > *:not(:last-child) {
    margin-bottom: 24px;
  }
}

/* btn */
.btn {
  width: 100%;
  margin: 0 auto;
  padding: 16px 32px;
  color: #fff;
  /*line-height: 2.4;*/
  text-align: center;
  display: block;
  background-color: #435488;
  border: 1px solid #435488;
  border-radius: 4px;
  position: relative;
  -webkit-box-shadow: 0 8px 8px rgba(0,0,0, 0.08);
          box-shadow: 0 8px 8px rgba(0,0,0, 0.08);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.btn::after {
  content: "\e901";
  font-family: 'poppins';
  color: #fff;
  font-weight: normal;
  font-size: 1.0rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 15px;
  -webkit-transform: translateY(-50%) scale(0.88, 0.88);
  transform: translateY(-50%) scale(0.88, 0.88);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.btn.type_border {
  color: #435488;
  background-color: #fff;
}
.btn.type_border::after {
  color: #435488;
}
.btn[target="_blank"]::after,
.btn.type_blank::after {
  content: "\e902";
  font-size: 1.35rem;
  -webkit-transform: translateY(-50%) scale(1.0, 1.0);
  transform: translateY(-50%) scale(1.0, 1.0);
}
.btn[href$=".pdf"]::after {
  font-size: 1.35rem;
  content: "\e907";
}

/* type_vipcare */
.btn.type_vipcare {
  color: #fff;
  background-color: #5bb68d;
  border: 1px solid #5bb68d;
}
.btn.type_border.type_vipcare {
  color: #5bb68d;
  background-color: #fff;
  border: 1px solid #5bb68d;
}
.btn.type_border.type_vipcare::after {
  color: #5bb68d;
}

.btn:disabled {
  cursor: default;
  background-color: #d5d5d5;
  border: 1px solid #d5d5d5;
}
button.btn {
  font-size: 1.5rem;
}
.more_btn {
  font-family: 'Baskerville', 'Baskerville Old Face', 'Garamond', 'Times New Roman', serif;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  color: #435488;
  padding: 8px 30px;
  position: relative;
}
.more_btn::before {
  content: "";
  display: inline-block;
  height: 1px;
  width: 100%;
  background-color: #435488;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
}

.btn.backbtn{
  background-color: #7f7f7f;
  border: 1px solid rgb(110, 110, 110);
}
.btn.backbtn::after{
  right: auto;
  left: 15px;
  -webkit-transform: translateY(-50%) scale(1.0, 1.0) rotate(-180deg);
  transform: translateY(-50%) scale(1.0, 1.0) rotate(-180deg);

}


@media only screen and (max-width: 767px) {
  .btn {
    max-width: 350px;
    -webkit-transition: none;
    transition: none;
  }
  .more_btn {
    font-size: 1.2rem;
  }
}

/*-----------------------------------------
  slider
-----------------------------------------*/
.slider {
  margin: 0 auto;
}
.slider .slick-slide {
  height: auto;
}
.slider .slick-prev,
.slider .slick-next {
  width: 30px;
  height: 30px;
  background-color: #b8a697;
  border: 1px solid  #b8a697;
  border-radius: 4px;
  z-index: 1;
  -webkit-box-shadow: 0 3px 6px rgba(0,0,0, 0.16);
          box-shadow: 0 3px 6px rgba(0,0,0, 0.16);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.slider .slick-prev {
  left: -21px;
}
.slider .slick-next {
  right: -21px;
}
.slider .slick-prev::before,
.slider .slick-next::before {
  opacity: 1;
  font-family: 'poppins';
  font-size: 1.6rem;
  content: "\e901";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.slider .slick-prev::before {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
  transform: translate(-50%, -50%) rotate(180deg);
}
_:lang(x)::-moz-placeholder, .slider .slick-prev::before {
  margin-top: -1px;
}
_:lang(x)::-moz-placeholder, .slider .slick-next::before {
  margin-top: 1px;
}
.slider .slick-dots {
  bottom: 24px;
}
.slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 0 2px;
}
.slider .slick-dots li button {
  width: auto;
  height: auto;
}
.slider .slick-dots li button:before {
  content: "";
  display: block;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  background-color: #c4c4c4;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.slider .slick-dots li.slick-active button:before {
  width: 8px;
  height: 8px;
  background-color: #435488;
}


@media only screen and (min-width: 768px) {
  body:not(.tab_view) .slider .slick-prev:focus,
  body:not(.tab_view) .slider .slick-next:focus {
    background: #b8a697;
  }
  body:not(.tab_view) .slider .slick-prev:hover,
  body:not(.tab_view) .slider .slick-next:hover {
    opacity: 1;
    background-color: #fff;
    box-shadow: none;
  }
  body:not(.tab_view) .slider .slick-prev:hover::before,
  body:not(.tab_view) .slider .slick-next:hover::before {
    color: #b8a697;
  }
}

@media only screen and (max-width: 767px) {
  .slider {
    width: 100%;
  }
  .slider .slick-prev,
  .slider .slick-next {
    background: #b8a697!important;
  }
  .slider .slick-dots {
    bottom: -24px;
  }
}

/* ------------------------------------
  header
------------------------------------ */
header {
  min-width: 1126px;
  /* min-width: 1180px; */
  opacity: 0;
  width: 100%;
  padding: 0 16px;
  background: #fff;
  height: 90px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 12;
}
header h1,
header .logo {
  font-size: 2.0em;
  display: inline-block;
  margin: 20px auto 0 0;
}
header h1 img,
header .logo img {
  width: 100%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

/* .menu_btn */
header .menu_btn {
  width: 224px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
header .menu_btn li {
  position: relative;
}
header .menu_btn li:not(:last-child) {
  margin: 0 2px 0 0;
}
header .menu_btn li.recruit {
  order: 1;
}
header .menu_btn li.contact {
  order: 2;
}
header .menu_btn li.lang {
  order: 4;
}
header .menu_btn li.login {
  order: 3;
}
header .menu_btn a {
  display: block;
  width: 64px;
  height: 64px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #435488;
  background-color: #eef1f9;
}
header .menu_btn li.contact a,
header .menu_btn li.recruit a {
  width: 92px;
}
header .menu_btn li span {
  display: block;
  width: 100%;
  /*letter-spacing: 0.02em;*/
  text-align: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* Hover */
@media only screen and (min-width: 768px) {
  body:not(.tab_view) header .menu_btn a:hover {
    opacity: 1;
    color: #fff;
    background-color: #435488;
  }
  body:not(.tab_view) header .menu_btn a:hover::before {
    color: #fff;
  }
}

/* .sp_lang_area  */
.sp_lang_area {
  display: none;
}

/* .mddNav */
.mddNav {
  float: right;
}
.mddNav > ul.glonav {
  height: 90px;
  margin: 0 231px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.mddNav > ul.glonav > li {
  height: 100%;
  margin: 0 32px 0 0;
}
.mddNav > ul.glonav > li > a {
  height: 100%;
  text-align: center;
  font-size: 1.4rem;
  color: #222;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.mddNav > ul.glonav > li > a::after {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background: transparent;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.mddNav > ul.glonav > li > a small {
  display: block;
  font-family: 'Avenir','Helvetica Neue','Helvetica','Arial', sans-serif;
  font-size: 1.1rem;
  font-weight: 900;
  color: rgba(85, 85, 85, 0.3);
  margin: 8px 0 0;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.mddNav > ul.glonav > li > a .display_pc {
  display: inline-block!important;
}

/* active */
.mddNav > ul.glonav > li.active > a {
  color: #435488;
}
.mddNav > ul.glonav > li.active > a small {
  color: #435488;
}
.mddNav > ul.glonav > li.active > a::after {
  background: #435488;
}

/* sns_btn */
.mddNav > ul.sns_btn {
  display: none;
}

/* DD MENU  */
.mddNav .mddWrap {
  display: none;
  width: 100%;
  overflow: hidden;
  position: absolute;
  top: 90px;
  left: 0;
  background-color: rgba(67, 84, 136, 0.94);
}
.mddNav .mddWrap .mddInner {
  max-width: 1126px;
  margin: 0 auto;
  padding: 16px 0 32px;
}
.mddNav .mddWrap .mddInner h2 {
  width: 100%;
  font-family: 'Baskerville', 'Baskerville Old Face', 'Garamond', 'Times New Roman', serif;
  font-size: 3.2rem;
  letter-spacing: 0.02em;
  color: #fff;
  margin: 0;
}
.mddNav .mddWrap .mddInner nav {
  width: 100%;
  margin: 16px 0 -18px;
}
.mddNav .mddWrap .mddInner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
.mddNav .mddWrap .mddInner li {
  width: calc((100% - 54px) / 4);
  margin-right: 16px;
  margin-bottom: 16px;
  -webkit-box-shadow: 0 3px 6px rgba(0,0,0, 0.16);
          box-shadow: 0 3px 6px rgba(0,0,0, 0.16);
}
.mddNav .mddWrap .mddInner li:nth-of-type(4n) {
  margin-right: 0;
}
.mddNav .mddWrap .mddInner li > a {
  display: block;
  height: 100%;
  border-radius: 8px;
  background-color: #fff;
  overflow: hidden;
}
.mddNav .mddWrap .mddInner li figure .img_wrap {
  display: block;
  overflow: hidden;
}
.mddNav .mddWrap .mddInner li figure img {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.mddNav .mddWrap .mddInner li figcaption,
.mddNav .mddWrap .mddInner li > a > p {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  color: #444;
  padding: 16px 20px 16px 12px;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.mddNav .mddWrap .mddInner li figcaption::after,
.mddNav .mddWrap .mddInner li > a > p::after {
  display: block;
  content: "\e901";
  font-family: 'poppins';
  font-size: 1.0rem;
  font-weight: normal;
  color: #435488;
  position: absolute;
  top: 50%;
  right: 8px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.mddNav .mddWrap .mddInner li > a[target="_blank"] figcaption::after,
.mddNav .mddWrap .mddInner li > a[target="_blank"] > p::after { content: "\e902"; }
.mddNav .mddWrap .mddInner li figcaption .category{
  display: block;
  width: 48px;
  margin-right: 10px;
  padding: 4px 0;
  font-size: 8px;
  white-space: nowrap;
  text-align: center;
  color: #fff;
  background-color: #000;
}
.mddNav .mddWrap .mddInner li figcaption .category.nursery{ background-color: #51afcb;}
.mddNav .mddWrap .mddInner li figcaption .category.corporate{ background-color: #a77c51;}
.mddNav .mddWrap .mddInner li figcaption .category.hawaii{ background-color: #3f9d8d;}

/* Hover */
@media only screen and (min-width: 768px) {
  body:not(.tab_view) .mddNav > ul.glonav > li > a:hover {
    opacity: 1;
    color: #435488;
  }
  body:not(.tab_view) .mddNav > ul.glonav > li > a:hover small {
    color: #435488;
  }
  body:not(.tab_view) .mddNav > ul.glonav > li > a:hover::after {
    background-color: #435488;
  }
  body:not(.tab_view) .mddNav .mddWrap .mddInner li > a:hover {
    opacity: 1;
  }
  body:not(.tab_view) .mddNav .mddWrap .mddInner li > a:hover figure img {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  body:not(.tab_view) .mddNav .mddWrap .mddInner li > a:hover figcaption,
  body:not(.tab_view) .mddNav .mddWrap .mddInner li > a:hover > p {
    color: #435488;
  }
  body:not(.tab_view) .mddNav .mddWrap .mddInner li > a:not([target="_blank"]):hover figcaption::after,
  body:not(.tab_view) .mddNav .mddWrap .mddInner li > a:not([target="_blank"]):hover > p::after {
   right: 3px;
  }
}

@media only screen and (max-width: 1158px) {
  .mddNav .mddWrap .mddInner {
    margin-right: 16px;
    margin-left: 16px;
  }
}

@media only screen and (max-width: 767px) {
  header {
    min-width: auto;
    height: 70px;
  }
  header h1,
  header .logo {
    width: auto;
    margin: 10px auto;
  }
  header .menu_btn {
    width: 130px;
    top: 3px;
    right: 66px;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  header .menu_btn a {
    width: 64px !important;
    height: 64px;
  }
  header .menu_btn li.login {
    order: 1;
  }
  header .menu_btn li.login {
    order: 2;
  }
  header .menu_btn li.lang {
    display: none;
  }
  /* .sp_lang_area */
  .sp_lang_area {
    display: block;
    background-color: #f7f7f7;
    padding: 16px 4%;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .sp_lang_area > p {
    color: #435488;
    padding: 0 0 0 32px;
    position: relative;
  }
  .sp_lang_area > p::before {
    content: "\e903";
    font-family: 'poppins';
    display: block;
    font-size: 2.0rem;
    font-weight: normal;
    color: #435488;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .sp_lang_area > ul {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
  }
  .sp_lang_area > ul li {
    position: relative;
    padding: 0 16px;
    color: rgba(67, 84, 136, 0.6);
  }
  .sp_lang_area > ul li:not(:last-child) {
    padding: 0 20px 0 16px;
  }
  .sp_lang_area > ul li:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 1px;
    background-color: #707070;
    position: absolute;
    top: 50%;
    right: -8px;
    -webkit-transform: translateY(-50%) rotate(-50deg);
    transform: translateY(-50%) rotate(-50deg);
  }
  .sp_lang_area > ul li a {
    color: #435488;
    font-weight: 500;
  }
  .mddNav {
    display: none;
    float: none;
  }
  .mddNav .mddWrap .mddInner {
    padding: 0;
  }
  /* sns_btn */
  .mddNav > ul.sns_btn {
    display: block;
  }
}

/*-----------------------------------------
  sp menu btn
-----------------------------------------*/
@media only screen and (max-width: 767px) {
  .sp_menu_wrap {
    display: block;
    position: fixed;
    top: 3px;
    right: 0;
    z-index: 15;
  }
  .sp_menu_wrap .sp_menu_btn #btn_menu {
    width: 64px;
    height: 64px;
    display: block;
    position: relative;
  }
  .sp_menu_wrap .sp_menu_btn #btn_menu span:not(:nth-of-type(3)) {
    width: 30px;
    height: 3px;
    display: inline-block;
    background-color: #435488;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }
  .sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(1) {
    top: 16px;
    -webkit-transform: translateX(-50%) rotate(0);
    transform: translateX(-50%) rotate(0);
  }
  .sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(2) {
    top: 25px;
    -webkit-transform: translateX(-50%) rotate(0);
    transform: translateX(-50%) rotate(0);
  }
  .sp_menu_wrap .sp_menu_btn #btn_menu span:nth-of-type(3) {
    width: 100%;
    font-size: 1.1rem;
    color: #435488;
    text-align: center;
    position: absolute;
    bottom: 8px;
  }

  /* .menu_open  */
  .menu_open .sp_menu_btn #btn_menu span:nth-of-type(1) {
    top: 26px;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
  }
  .menu_open .sp_menu_btn #btn_menu span:nth-of-type(2) {
    top: 26px;
    -webkit-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
  }
}

@media only screen and (min-width: 768px) {
  .sp_menu_wrap {
    display: none;
  }
}

/*-----------------------------------------
  sp menu
-----------------------------------------*/
@media only screen and (max-width: 767px) {
  #sp_menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    margin: 0;
  }
  #sp_menu .mddNav {
    opacity: 0;
    position: fixed;
    top: 70px;
    width: 100%;
    max-height: 100vh;
    display: none;
    visibility: hidden;
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
    padding: 0 0 40px;
  }
  .menu_open #sp_menu .mddNav {
    opacity: 1;
    visibility: visible;
  }
  /* glonav */
  #sp_menu .mddNav > ul.glonav {
    height: auto;
    display: block;
    margin: 0 auto 32px;
    padding: 0 4%;
  }
  #sp_menu .mddNav > ul.glonav > li {
    margin: 0;
    padding: 0;
    position: relative;
  }
  #sp_menu .mddNav > ul.glonav > li > span {
    width: 50px;
    height: 50px;
    cursor: pointer;
    position: absolute;
    top: 4px;
    right: -5px;
    z-index: 1;
  }
  #sp_menu .mddNav > ul.glonav > li > span::after {
    display: block;
    content: "\e901";
    font-family: 'poppins';
    font-size: 1.0rem;
    color: #435488;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }
  #sp_menu .mddNav > ul.glonav > li.switch > span::after,
  #sp_menu .mddNav > ul.glonav > li.sp_open > span::after {
    -webkit-transform: translate(-50%, -50%) rotate(90deg) scale(-1, 1);
    transform: translate(-50%, -50%) rotate(90deg) scale(-1, 1);
  }
  #sp_menu .mddNav > ul.glonav > li.sp_open.switch > span::after {
    -webkit-transform: translate(-50%, -50%) rotate(90deg) scale(1, 1);
    transform: translate(-50%, -50%) rotate(90deg) scale(1, 1);
  }
  #sp_menu .mddNav > ul.glonav > li > a {
    display: block;
    font-size: 1.6rem;
    color: #435488;
    text-align: left;
    padding: 16px 56px 16px 0;
    position: relative;
    border-bottom: 1px solid #435488;
  }
  #sp_menu .mddNav > ul.glonav > li:not(.parent) > a::after {
    width: auto;
    content: "\e901";
    font-family: 'poppins';
    display: block;
    font-size: 1.35rem;
    font-weight: normal;
    color: #435488;
    position: absolute;
    top: 20px;
    left: auto;
    right: 12px;
    bottom: auto;
    -webkit-transform: scale(0.88, 0.88);
    transform: scale(0.88, 0.88);
  }
  #sp_menu .mddNav > ul.glonav > li.active > a::after {
    content: none;
  }
  #sp_menu .mddNav > ul.glonav > li > a small {
    display: none;
  }
  #sp_menu .mddNav > ul.glonav > li > a .display_pc {
    display: none!important;
  }

  /* sns_btn */
  #sp_menu .mddNav > ul.sns_btn {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  #sp_menu .mddNav > ul.sns_btn > li {
    margin: 0 12px;
  }

  /* .mddWrap  */
  #sp_menu .mddNav .mddWrap {
    display: none;
    position: static;
    opacity: 1 !important;
    background-color: #fff;
  }
  /* sp_open */
  #sp_menu .mddNav > ul.glonav > li.sp_open > a,
  #sp_menu .mddNav > ul.glonav > li.sp_open > span {
    display: none;
  }
  #sp_menu .mddNav .sp_open .mddWrap {
    display: block;
  }
  #sp_menu .mddNav .sp_open .mddWrap .mddInner li {
    border-bottom: 1px solid #435488;
  }
  #sp_menu .mddNav .sp_open .mddWrap .mddInner li figcaption {
    font-size: 1.6rem;
    padding: 0;
  }

  #sp_menu .mddNav .mddWrap .mddInner {
    margin: 0;
    width: 100%;
  }
  #sp_menu .mddNav .mddWrap .mddInner h2 {
    display: none;
  }
  #sp_menu .mddNav .mddWrap .mddInner nav {
    margin: 0;
  }
  #sp_menu .mddNav .mddWrap .mddInner ul {
    display: block;
  }
  #sp_menu .mddNav .mddWrap .mddInner li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
    box-shadow: none;
    border-bottom: 1px dashed #EEF1F9;
  }
  #sp_menu .mddNav .mddWrap .mddInner li:last-child {
    border-bottom: 1px solid #435488;
  }
  #sp_menu .mddNav .mddWrap .mddInner li a {
    color: #435488;
    padding: 16px 40px 16px 0;
    position: relative;
  }
  #sp_menu .mddNav .mddWrap .mddInner li a::after {
    width: auto;
    content: "\e901";
    font-family: 'poppins';
    display: block;
    font-size: 1.35rem;
    font-weight: normal;
    color: #435488;
    position: absolute;
    top: 20px;
    left: auto;
    right: 12px;
    bottom: auto;
    -webkit-transform: scale(0.88, 0.88);
    transform: scale(0.88, 0.88);
  }
  #sp_menu .mddNav .mddWrap .mddInner li a[target="_blank"]::after { content: "\e902"; }
  #sp_menu .mddNav .mddWrap .mddInner li figure img {
    display: none;
  }
  #sp_menu .mddNav .mddWrap .mddInner li figcaption,
  #sp_menu .mddNav .mddWrap .mddInner li > a > p {
    font-size: 1.4rem;
    font-weight: 400;
    color: #435488;
    padding: 0 0 0 8px;
  }
  #sp_menu .mddNav .mddWrap .mddInner li figcaption::after,
  #sp_menu .mddNav .mddWrap .mddInner li > a > p::after {
    content: none;
  }
}

@media only screen and (min-width: 768px) {
  #sp_menu {
    display: none;
  }
}

/*-----------------------------------------
  footer
-----------------------------------------*/
footer {
  position: relative;
}
footer > .cont_inner {
  padding-top: 48px;
  position: relative;
}
footer > .cont_inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #dedede;
  position: absolute;
  top: 0;
  left: 0;
}
footer .sitemap_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 0 56px;
}

/* .footer_info */
footer .footer_info {
  width: 290px;
}
footer .footer_info > a {
  display: block;
  text-align: center;
  margin: 0 0 32px;
}

/* .link_btn */
footer .link_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 0 24px;
}
footer .link_btn li {
  border-radius: 0;
  width: 50%;
}
footer .link_btn li:first-child {
  width: 100%;
  margin: 0 0 8px;
}
footer .link_btn .btn {
  font-size: 1.4rem;
  border-radius: 0;
}
footer .link_btn .btn:not(.type_border) {
  padding: 16px;
}
footer .link_btn .btn:not(.type_border)::after {
  content: none;
}
footer .link_btn .btn.type_border {
  -webkit-box-shadow: 0 3px 6px rgba(0,0,0, 0.08);
          box-shadow: 0 3px 6px rgba(0,0,0, 0.08);
}
footer .link_btn li:last-child .btn.type_border {
  border-left: none;
}
footer .link_btn .btn.type_border::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  /*-webkit-box-shadow: 0 3px 6px rgba(0,0,0, 0.08);
          box-shadow: 0 3px 6px rgba(0,0,0, 0.08);*/
  position: absolute;
  top: 0;
  left: 0;
}

/* .sns_btn */
footer .sns_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
footer .sns_btn > li:not(:last-child) {
  margin: 0 16px 0 0;
}

/* .footer_sitemap */
footer .footer_sitemap {
  width: calc(100% - 362px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
footer .footer_sitemap .row:first-child {
  width: 180px;
  margin: 0 50px 0 0;
}
footer .footer_sitemap .row:nth-child(2) {
  width: 245px;
  margin: 0 50px 0 0;
}
footer .footer_sitemap .row:last-child {
  width: calc(100% - 180px - 245px - 100px);
}
footer .footer_sitemap a {
  display: block;
  position: relative;
}
footer .footer_sitemap a[target="_blank"]::before {
  content: "\e902";
  font-family: 'poppins';
  display: block;
  font-size: 1.35rem;
  font-weight: normal;
  color: #ae8564;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
footer .footer_sitemap dt {
  margin: 0 0 24px;
}
footer .footer_sitemap dt > span {
  display: none;
}
footer .footer_sitemap dt a {
  font-size: 1.6rem;
  color: #727170;
}
footer .footer_sitemap dd {
  padding: 0 0 0 16px;
  border-left: 1px solid #d3d3d3;
}
footer .footer_sitemap dd a {
  font-size: 1.3rem;
  color: #727170;
  padding: 6px 0;
}
footer .footer_sitemap dd a[target="_blank"] {
  padding: 6px 20px 6px 0;
}
/*footer .footer_sitemap dd li:first-of-type a {
  padding: 0 20px 6px 0;
}
footer .footer_sitemap dd li:last-of-type a {
  padding: 6px 20px 0 0;
}*/
footer .footer_sitemap ul.other li {
  margin: 0 0 24px;
}
footer .footer_sitemap ul.other a {
  font-size: 1.6rem;
  color: #727170;
}

/* group_area */
footer .group_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 32px;
}
footer .group_area li {
  width: calc((100% - 80px) / 2);
  margin-right: 40px;
  border: 1px solid #EEF1F9;
}
footer .group_area li:nth-of-type(3n) {
  margin-right: 0;
}
footer .group_area li a {
  display: block;
  height: 100%;
  font-size: 1.4rem;
  line-height: 1.64;
  color: #444;
  padding: 8px;
  position: relative;
}
footer .group_area li a::after {
  content: "\e901";
  font-family: 'poppins';
  display: block;
  font-size: 1.35rem;
  font-weight: normal;
  color: #435488;
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
footer .group_area li a[target="_blank"]::after {
  content: "\e902";
}
footer .group_area li figure {
  height: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
footer .group_area li figure img {
  width: 49px;
  margin-right: 16px;
}
footer .group_area li figcaption {
  width: calc(100% - 65px);
  padding: 0 32px 0 0;
}

/* ft_menu */
footer .ft_menu {
  padding: 24px 0;
  background-color: #555;
}
footer .ft_menu .cont_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}
footer .ft_menu .certification_area {
  width: 395px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-right: 36px;
}
footer .ft_menu .certification_area > li {
  width: 190px;
}
footer .ft_menu .copy_area {
  width: calc(100% - 431px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-line-pack: center;
  align-content: center;
}
footer .ft_menu .copy_area ul {
  width: 100%;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 0 16px;
}
footer .ft_menu .copy_area li a {
  display: block;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  padding: 0 0 0 16px;
  position: relative;
}
footer .ft_menu .copy_area li a::before {
  content: "\e901";
  font-family: 'poppins';
  display: block;
  font-size: 1.0rem;
  font-weight: normal;
  color: #fff;
  position: absolute;
  top: 3px;
  left: 0;
  -webkit-transform: scale(0.7, 0.7);
  transform: scale(0.7, 0.7);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
footer .ft_menu .copy_area li a[target="_blank"]::after {
  content: "\e902";
  font-family: 'poppins';
  display: inline-block;
  font-size: 1.0rem;
  font-weight: normal;
  color: #fff;
  margin-left: 4px;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
footer .ft_menu .copy_area small {
  display: block;
  width: 100%;
  font-family: 'Baskerville', 'Baskerville Old Face', 'Garamond', 'Times New Roman', serif;
  font-size: 1.4rem;
  text-align: right;
  color: rgba(255, 255, 255, 0.4);
}
body:not(.tab_view) footer .ft_menu .copy_area li a:hover::before,
body:not(.tab_view) footer .ft_menu .copy_area li a:hover::after {
  color: #eef1f9;
}

@media only screen and (max-width: 767px) {
  footer > .cont_inner {
    padding-top: 40px;
  }
  footer .sitemap_area {
    display: block;
    margin: 0 0 40px;
  }
  footer .footer_info {
    width: 100%;
    margin: 0 0 40px;
  }
  footer .footer_info > a {
    margin: 0 0 40px;
  }
  footer .link_btn {
    max-width: 350px;
    margin: 0 auto 40px;
  }
  footer .link_btn li .btn {
    border-radius: 4px;
  }
  footer .link_btn li .btn.type_border {
    border-radius: 4px 0 0 4px;
  }
  footer .link_btn li:last-child .btn.type_border {
    border-radius: 0 4px 4px 0;
  }
  footer .sns_btn {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  footer .footer_sitemap {
    display: block;
    width: 100%;
    position: relative;
    padding-top: 8px;
  }
  footer .footer_sitemap::before {
    content: "";
    display: block;
    width: 108%;
    height: 1px;
    background-color: #ededed;
    position: absolute;
    top: 0;
    left: -4%;
    right: -4%;
  }
  footer .footer_sitemap .row {
    width: 100% !important;
  }
  footer .footer_sitemap dl {
    border-bottom: 1px solid #dedede;
  }
  footer .footer_sitemap dt {
    position: relative;
    margin: 0;
  }
  footer .footer_sitemap dt > span {
    display: block;
    width: 50px;
    height: 50px;
    cursor: pointer;
    position: absolute;
    top: 18px;
    right: -15px;
    z-index: 1;
  }
  footer .footer_sitemap dt > span::after {
    content: "\e901";
    font-family: 'poppins';
    display: block;
    font-size: 1.0rem;
    font-weight: normal;
    color: #ae8564;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(90deg);
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
  }
  footer .footer_sitemap dt.switch > span::after {
    -webkit-transform: translate(-50%, -50%) rotate(90deg) scale(-1, 1);
    transform: translate(-50%, -50%) rotate(90deg) scale(-1, 1);
  }
  footer .footer_sitemap dt a {
    font-size: 1.5rem;
    font-weight: 500;
    padding: 32px 56px 32px 0;
  }
  footer .footer_sitemap dd {
    display: none;
    padding: 0 0 0 8px;
    border-left: none;
  }
  footer .footer_sitemap dd a {
    font-size: 1.6rem;
    padding: 12px 0 !important;
    color: rgba(114, 113, 112, 0.9);
  }
  footer .footer_sitemap dd a[target="_blank"] {
    padding: 12px 30px 12px 0 !important;
  }
  /*footer .footer_sitemap dd li:first-of-type a {
    padding: 0 0 12px;
  }
  footer .footer_sitemap dd li:last-of-type a {
    padding: 12px 0 0;
  }*/
  footer .footer_sitemap ul.other li {
    border-bottom: 1px solid #dedede;
    margin: 0;
  }
  footer .footer_sitemap ul.other a {
    font-size: 1.5rem;
    font-weight: 500;
    padding: 32px 24px 32px 0;
  }
  footer .footer_sitemap ul.other a::after {
    content: "\e901";
    font-family: 'poppins';
    display: block;
    font-size: 1.0rem;
    font-weight: normal;
    color: #ae8564;
    position: absolute;
    top: 50%;
    right: 4px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  footer .footer_sitemap ul.other a[target="_blank"]::after {
    content: none;
  }
  /* group_area */
  footer .group_area {
    display: block;
  }
  footer .group_area li {
    width: 100%;
    margin-right: 0;
  }
  footer .group_area li:not(:last-child) {
    margin-bottom: 8px;
  }
  /* ft_menu */
  footer .ft_menu {
    padding: 40px 0 24px;
  }
  footer .ft_menu .certification_area {
    width: calc(100% + 16px);
    margin: 0 -8px 40px;
  }
  footer .ft_menu .certification_area > li {
    width: 48%;
  }
  footer .ft_menu .copy_area {
    display: block;
    width: 100%;
  }
  footer .ft_menu .copy_area ul {
    display: block;
    margin: 0 0 40px;
  }
  footer .ft_menu .copy_area li a {
    padding: 8px 0 8px 18px;
  }
  footer .ft_menu .copy_area li a::before {
    top: 11px;
    left: 5px;
  }
  footer .ft_menu .copy_area small {
    text-align: center;
    font-size: 1.1rem;
  }
}

/*-----------------------------------------
  contact fixed
-----------------------------------------*/
#contact_fixed {
  position: fixed;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  right: -20px;
  bottom: -24px;
  opacity: 0;
  -webkit-transition: all 0.3s ease-in;
  transition: all 0.3s ease-in;
  z-index: 10;
}
#contact_fixed.on {
  opacity: 1 !important;
}
#contact_fixed a {
  display: flex;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: #bc326c;
  color: #fff;
  font-size: 1.4rem;
  justify-content: center;
  align-items: center;
  padding-top: 24px;
}
#contact_fixed a span::before {
  font-family: 'poppins';
  content: "\e906";
  display: block;
  color: #FFF;
  line-height: normal;
  font-weight: 400;
  font-size: 3rem;
  position: absolute;
  top: 40px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
  #contact_fixed {
    width: 125px;
    height: 125px;
    right: -14px;
  }
  #contact_fixed a {
    width: 125px;
    height: 125px;
    font-size: 1.3rem;
    padding-top: 14px;
  }
  #contact_fixed a span::before {
    font-size: 2.5rem;
    top: 32px;
  }
}

/*-----------------------------------------
  page top
-----------------------------------------*/
#page_top {
  display: none;
  position: fixed;
  right: 32px;
  bottom: 40px;
  z-index: 9;
}
#page_top a {
  display: inline-block;
  font-family: 'Baskerville', 'Baskerville Old Face', 'Garamond', 'Times New Roman', serif;
  color: #ae8564;
  font-size: 1.1rem;
  font-weight: 500;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: relative;
}
#page_top a::before {
  content: "";
  width: 1px;
  height: 30px;
  display: block;
  background-color: #b8a697;
  position: absolute;
  top: -50px;
  left: 50%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

@media only screen and (max-width: 767px) {
  #page_top {
    right: 3%;
    bottom: 3%;
  }
}

/* ------------------------------------
  modal
------------------------------------ */
.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
}
.modal_bg {
  background: rgba(0,0,0,0.5);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal_content {
  width: 92%;
  border-radius: 28px;
  padding: 40px 16px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-box-shadow: 0 3px 6px rgba(0,0,0, 0.16);
          box-shadow: 0 3px 6px rgba(0,0,0, 0.16);
}
.modal_content .title {
  font-size: 1.6rem;
  font-weight: 500;
  color: #ae8564;
  text-align: center;
  margin: 0 0 24px;
}
.modal_content .title + p {
  line-height: 1.86;
  text-align: center;
  margin: 0 0 32px;
}
.modal_content ul li {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.modal_content ul li:not(:last-child) {
  margin-bottom: 16px;
}
.modal_content ul li a {
  display: block;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #896a51;
  padding: 16px 48px 16px 16px;
  border: 1px solid #ae8564;
  border-radius: 4px;
  position: relative;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.modal_content ul li a::after {
  content: "\e905";
  font-family: 'poppins';
  color: #896a51;
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.modal_content ul li a[target="_blank"]::after {
  content: "\e902";
  font-size: 1.35rem;
}
.modal_content > .btn {
  font-family: 'Helvetica Neue','Helvetica','Arial', sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.14;
  max-width: 135px;
  padding: 8px;
  border-radius: 5px;
  border: 1px solid #fff;
  position: absolute;
  left: 50%;
  bottom: -50px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.modal_content > .btn::after {
  content: none;
}
.modal_content > .btn > span {
  display: block;
  padding: 0 0 0 20px;
  position: relative;
}
.modal_content > .btn > span::before,
.modal_content > .btn > span::after {
  content: "";
  display: block;
  width: 14px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: calc(50% - 1px);
}
.modal_content > .btn > span::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.modal_content > .btn > span::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.modal_content ul > li {
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  color: #896a51;
}
.modal_content ul li > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
.modal_content ul li > ul li {
  margin: 8px 0 0 !important;
  max-width: none;
  width: 48.5%;
}

/* Hover */
@media only screen and (min-width: 768px) {
  body:not(.tab_view) .modal_content ul li a:hover {
    opacity: 1;
    border: 1px solid #435488;
  }
  body:not(.tab_view) .modal_content ul li a:hover::after {
    color: #435488;
  }
  body:not(.tab_view) .modal_content > .btn:hover {
    opacity: 1;
    border: 1px solid #435488;
  }
  body:not(.tab_view) .modal_content > .btn:hover > span::before,
  body:not(.tab_view) .modal_content > .btn:hover > span::after {
    background-color: #435488;
  }
}

@media only screen and (max-width: 767px) {
  .modal_content ul li {
    max-width: auto;
    max-width: initial;
  }
}

@media only screen and (max-width: 420px) {
  .modal_content ul li a {
    font-size: 1.4rem;
    letter-spacing: 0.03em;
  }
}

/*-----------------------------------------
  Hover
-----------------------------------------*/
a,
header h1,
header .logo,
.mddNav > ul > li > a::after,
#page_top a {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

@media only screen and (min-width: 768px) {
  body:not(.tab_view) a:hover {
    opacity: 0.6;
    color: #435488;
  }
  body:not(.tab_view) #page_top a:hover {
    opacity: 1;
  }
  body:not(.tab_view) .btn:hover,
  body:not(.tab_view) .btn.backbtn:hover {
    opacity: 1;
    color: #435488;
    background-color: #EEF1F9;
    border: 1px solid #EEF1F9;
    box-shadow: none !important;
  }
  body:not(.tab_view) .btn:hover::after,
  body:not(.tab_view) .btn.backbtn:hover::after {
    color: #435488;
  }
  body:not(.tab_view) .btn:not([target="_blank"]):not(.type_blank):not([href$=".pdf"]):not(:disabled):hover::after {
    right: 10px;
  }
  body:not(.tab_view) .btn.backbtn:not([target="_blank"]):not(.type_blank):not([href$=".pdf"]):not(:disabled):hover::after {
    left: 10px;
    right: auto;
  }
  /* vipcare */
  body:not(.tab_view) .btn.type_vipcare:hover {
    color: #5bb68d;
    background-color: #ddfff0;
    border: 1px solid #ddfff0;
  }
  body:not(.tab_view) .btn.type_vipcare:hover::after {
    color: #5bb68d;
  }
  body:not(.tab_view) .btn:disabled:hover {
    cursor: default;
    background-color: #d5d5d5;
    border: 1px solid #d5d5d5;
    color: #fff;
    -webkit-box-shadow: 0 8px 8px rgba(0,0,0, 0.08) !important;
            box-shadow: 0 8px 8px rgba(0,0,0, 0.08) !important;
  }
  body:not(.tab_view) .btn:disabled:hover::after {
    color: #fff;
  }
  /*body:not(.tab_view) .btn.type_border:hover {
    color: #fff;
    background-color: #435488;
  }
  body:not(.tab_view) .btn.type_border:hover::after {
    color: #fff;
  }*/
  body:not(.tab_view) #page_top a:hover::before {
    top: -60px;
  }
  body:not(.tab_view) footer .footer_info > a:hover {
    opacity: 0.6;
  }
  body:not(.tab_view) footer .footer_sitemap dt a.disabled:hover {
    color: #727170;
  }
  body:not(.tab_view) footer .footer_sitemap a:hover {
    opacity: 1;
  }
  body:not(.tab_view) footer .footer_sitemap a[target="_blank"]:hover::before {
    color: #435488;
  }
  body:not(.tab_view) footer .footer_sitemap ul.other a:hover {
    color: #435488;
  }
  body:not(.tab_view) footer .group_area li a:hover {
    opacity: 1;
    background: #EEF1F9;
  }
  body:not(.tab_view) footer .ft_menu .copy_area li a:hover {
    opacity: 1;
    color: #EEF1F9;
  }
  body:not(.tab_view) footer .ft_menu .copy_area li a:hover::before {
    color: #EEF1F9;
  }
}

/*-----------------------------------------
  ClearFix
-----------------------------------------*/
.clear::before,
.clear::after,
header::before,
header::after {
  content: '';
  display: table;
}
.clear::after,
header::after {
  clear: both;
}
.clear,
header {
  *zoom: 1;
}
