@charset "UTF-8";
/* CSS Document */

/*resetcss*/
*, *::before, *::after {
  box-sizing: border-box;
  background-repeat: no-repeat;
}
html, body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, figure, figcaption, svg {
  margin: 0;
  padding: 0;
  font-weight: inherit;
}
ul,li{
  list-style: none;
}
a{
  text-decoration: none;
  color: inherit;
}
a[href^="tel:"] {
  pointer-events: all;
}
a:hover {
  opacity: 0.8;
}
img,svg{
vertical-align: bottom;
border: none;
width: 100%;
max-width:100%;
height:auto;
}
svg{
  /* fill: currentColor; */
  vertical-align: bottom;
}
address {
  font-style: normal;
}
button{
  background-color: inherit;
  border: none;
}
table {
  border-collapse: collapse;
}
button {
  appearance: none;
  border: none;
  background-color: transparent;
}
/* p {
  text-align: justify;
} */


/* Module =============================================*/
:root {
  --c-bg: #f2efed;
  --c-black: #342c28;
  --c-black2: #4f4845;
  --c-black3: #726a63;
  --c-red: #d22505;
  --c-pink: #ef7d83;
  --c-grey: #e4e1e1;
  --c-grey2: #f2f1ea;
  --c-grey3: #cacaca;
  --c-grey-txt: #aaa5a1;
  --c-gold: #9e877c;
  --c-gold-l: #e1ded7;
  --c-green: #293a35;
  --c-yellow: #ffdc00;
  /* --c-white: #fbfbfb; */
  --c-white: #f9f9f7;
  --c-white2: #efefef;
  --font-comp: 'Noto Sans JP', sans-serif;
  --font-ja: 'Noto Sans JP', sans-serif;
  --font-en: 'Noto Sans JP', sans-serif;
  /* --font-script: "Alex Brush", cursive; */
  --font-script: "Damion", cursive;
  --filter-b: invert(16%) sepia(11%) saturate(701%) hue-rotate(335deg) brightness(92%) contrast(92%);
  --filter-w: invert(100%) hue-rotate(314deg) brightness(200%);
  --filter-wg: invert(96%) sepia(8%) saturate(14%) hue-rotate(314deg) brightness(86%) contrast(111%);
  --filter-red: invert(33%) sepia(39%) saturate(3362%) hue-rotate(347deg) brightness(84%) contrast(106%);
  --inn-w: 2rem;
  --inn-wm: -2rem;

  --kv-fill-color: #fff;
}


/* lazysizes.min.js用 */
.lazyload, .lazyloading {
  opacity: 0;
}
.lazyloaded {
  opacity: 1;
  transition: opacity 1000ms;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
  position: relative;
  /* background-color: var(--color-bg); */
  line-height: 1.5;
  transition: color .6s;
  transition-timing-function: cubic-bezier(.61, .2, .81, .53);
  color: #333333;
}
/* body::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-bg);
  z-index: -100;
  transition: background-color .6s;
  cursor: pointer;
} */


@keyframes bound-anim {
  0% {
    transform: translateY(0px);
  }
  100% {
    transform: translateY(24px);
  }
}
img.easein {
  animation: .5s bound-anim ease-in infinite alternate;
}

/* .slick-dots li {
  display: none;
} */

.wide {
  width: 90%;
  margin: auto;
}
.db {
  display: block;
}
.pc {
  display: none;
}

.small {
  font-size: 0.9em;
}
.asterisk {
  position: relative;
  display: block;
  padding-left: 1.2em;
  margin-top: 0.2em;
  font-weight: 300;
}
.asterisk::before {
  content: "※";
  position: absolute;
  left: 0;
}
.wrapper {
  overflow: hidden;
  font-size: 1.2rem;
}
.hidden {
  overflow: hidden;
}

@media (min-width: 769px) {
  :root {
    --inn-w: 4rem;
    --inn-wm: -4rem;
  }
  .wrapper {
    font-size: 0.8rem;
  }
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}

/* font-size =============================================*/
html{
  /* font-size: 10px; */
  /* font-size: clamp(10px,3.125vw,16px) !important; */
  font-size: 3.125vw;
}
@media (min-width: 769px) {
  html {
    /* W768:10px */
    /* font-size: 1.302083333vw; */
    font-size: clamp(10px,1.1458333vw,16px);
  }
}


/* SECTION
========================================= */
html.smooth {
  scroll-behavior: smooth;
  scroll-padding-top: 7em;
}
.sec_bloc{
  padding: 3em 0;
}
._top0{ padding-top: 0 !important;}
._bottom0{ padding-bottom: 0 !important;}
._top_w{ padding-top: 6em;}
._bottom_w{ padding-bottom: 6em;}

.c_wide{
  max-width: 1400px;
  margin: 0 auto;
}
.c_wide_narrow{
  max-width: 960px;
  margin: 0 auto;
}
.c_inner{
  padding: 0 var(--inn-w);
}
.max600{ max-width: 600px; margin: 0 auto; }
.max800{ max-width: 60em; margin: 0 auto; }
.max900{ max-width: 66.25em; margin: 0 auto; }
.max1000{ max-width: 72.5em; margin: 0 auto; }
.max1100{ max-width: 78.75em; margin: 0 auto; }
.max1200{ max-width: 85em; margin: 0 auto; }
.max1300{ max-width: 91.25em; margin: 0 auto; }
.max1400{ max-width: 1400px; margin: 0 auto; }
.en{
  font-family: var(--font-en);
}
.ja{
  font-family: var(--font-ja);
}
.script {
  /* font-family: "Yellowtail", cursive; */
  font-family: "Playwrite US Trad", cursive;
}
.page_ttl,
.sec_ttl{
  font-size: 1rem;
  padding: 2em 0;
}
.page_ttl{
  margin-bottom: 2em;
}
.page_ttl .en,
.sec_ttl .en{
  font-size: 5em;
  font-weight: 700;
  line-height: 1.05;
}
.sec_ttl{
  position: relative;
  width: fit-content;
}
/* .sec_ttl .en{
  width: fit-content;
} */
.sec_ttl .script {
  position: absolute;
  left: 54%;
  bottom: -.1em;
  display: block;
  font-size: 2.5em;
  font-weight: 300;
  color: var(--c-yellow);
  transform: rotateZ(-12deg) skew(-15deg, 0);
  transform-origin: left bottom;
  white-space: nowrap;
}
.page_ttl .en{
  font-size: 5.5em;
  font-weight: 400;
}
.page_ttl .ja,
.sec_ttl .ja{
  display: block;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.7;
  color: var(--c-gold);
  margin-top: .3em;
}
.sec_ttl .ja._line2{
  margin-top: .3em;
  line-height: 1.6;
}
.sec_ttl._small .en{
  font-size: 3.4em;
  line-height: 1.05;
}
.sec_ttl._small,
.sec_ttl._s{
  font-size: 1rem;
  padding: 1rem 0;
}
.sec_ttl._s .en{
  display: block;
  font-size: 3.8em;
  line-height: 1.2;
}
.sec_ttl._small .ja,
.sec_ttl._s .ja{
  display: block;
  font-size: 1.1em;
  font-weight: 500;
  margin-top: 0.2em;
}
.sec_sub,
.sec_sub_txt{
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
.sec_sub{
  font-size: 1.3rem;
  padding: 1em 0;
}
.sec_sub_txt{
  font-size: 1.2rem;
  padding: .5em 0;
}
.sec_copy {
  font-size: 1.7em;
  font-weight: 500;
  line-height: 1.7;
  padding: .5em 0;
}
.sec_desc,.sec_desc_txt{
  line-height: 1.8;
}
.sec_desc{
  font-size: 1.2em;
  padding: .5em 0;
}
.sec_desc_txt{
  font-size: 1.1em;
  padding: .5em 0;
}
.sec_txt{
  padding: .5em 0;
  line-height: 1.7;
}
.sec_desc p,.sec_desc_txt p,.sec_txt p,.sec_sub p{
  padding: .2em 0;
}
.sec_text {
  font-size: .95em;
  color: var(--c-black3);
  padding: 0 0 2em;
}
.sec_text p {
  line-height: 1.8;
  padding: .2em 0;
}
.block_wrap{
  padding: 1.5rem 0;
}
.txt_wrap{
  padding: 2rem 0;
}
._bright{
  background-color: var(--c-white);
  color: var(--c-black);
}

.img_box{
  width: 100%;
  aspect-ratio: 4/3;
}
.img_box img,
.cover{
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.left,
.left-center {
  text-align: left;
}
.center-left {
  text-align: center;
}
.center {
  text-align: center;
}
._center,
._center-left{
  margin: 0 auto;
}

@media (min-width: 769px) {

  html.smooth {
    scroll-padding-top: 10em;
  }
  .c_inner_pc{
    padding: 0 var(--inn-w);
  }
  .sec_bloc{
    padding: 4em 0;
  }
  ._top_w{ padding-top: 6em;}
  ._bottom_w{ padding-bottom: 6em;}
  .sec_ttl{
    font-size: 1.1rem;
  }
  .page_ttl .en {
    font-size: 6.5em;
  }
  .sec_ttl{
    width: fit-content;
  }
  .sec_ttl .en{
    width: fit-content;
  }
  .sec_ttl .script {
    right: -30%;
  }
  .sec_ttl .ja{
    font-size: 1em;
  }
  .sec_ttl._small .en{
    font-size: 2.8em;
  }
  /* .page_ttl .en {
    font-size: 5em;
    font-weight: 300;
  } */
  .sec_ttl_s{
    font-size: 3.4rem;
  }
  .sec_sub{
    font-size: 1.5em;
  }
  /* .sec_desc{
    font-size: 1.05rem;
  } */
  .pc_flex{
    display: flex;
    justify-content: space-between;
  }
  .left-center {
    text-align: center;
  }
  .center-left {
    text-align: left;
  }
  .center {
    text-align: center;
  }
  ._center-left{
    margin: 0 auto 0 0;
  }
}/* 769 */


/* BUTTON ===================== */
.sq_btn {
  font-size: 1.6rem;
  border: solid 1px;
  display: block;
  width: 12em;
  text-align: center;
  padding: .68em 0 .8em;
  margin: .5em auto;
  font-weight: 500;
  color: currentColor;
}

/* padding top and bottom */
.ptb05{ padding-top: .5em; padding-bottom: .5em;}
.ptb1{ padding-top: 1em; padding-bottom: 1em;}
.ptb2{ padding-top: 2em; padding-bottom: 2em;}
.ptb3{ padding-top: 3em; padding-bottom: 3em;}
.ptb4{ padding-top: 4em; padding-bottom: 4em;}
.ptb5{ padding-top: 5em; padding-bottom: 5em;}
.ptb6{ padding-top: 6em; padding-bottom: 6em;}
.ptb7{ padding-top: 7em; padding-bottom: 7em;}
.ptb8{ padding-top: 8em; padding-bottom: 8em;}
.ptb9{ padding-top: 9em; padding-bottom: 9em;}

/* padding left and right */
.plr05{ padding-left: .5em; padding-right: .5em;}
.plr1{ padding-left: 1em; padding-right: 1em;}
.plr2{ padding-left: 2em; padding-right: 2em;}
.plr3{ padding-left: 3em; padding-right: 3em;}
.plr4{ padding-left: 4em; padding-right: 4em;}
.plr5{ padding-left: 5em; padding-right: 5em;}
.plr6{ padding-left: 6em; padding-right: 6em;}
.plr7{ padding-left: 7em; padding-right: 7em;}
.plr8{ padding-left: 8em; padding-right: 8em;}
.plr9{ padding-left: 9em; padding-right: 9em;}

/* mt */
.mt05{ margin-top: .5em;}
.mt1{ margin-top: 1em;}
.mt2{ margin-top: 2em;}
.mt3{ margin-top: 3em;}
.mt4{ margin-top: 4em;}
.mt5{ margin-top: 5em;}
.mt6{ margin-top: 6em;}
.mt7{ margin-top: 7em;}
.mt8{ margin-top: 8em;}
.mt9{ margin-top: 9em;}

/* mb */
.mb05{ margin-bottom: .5em;}
.mb1{ margin-bottom: 1em;}
.mb2{ margin-bottom: 2em;}
.mb3{ margin-bottom: 3em;}
.mb4{ margin-bottom: 4em;}
.mb5{ margin-bottom: 5em;}
.mb6{ margin-bottom: 6em;}
.mb7{ margin-bottom: 7em;}
.mb8{ margin-bottom: 8em;}
.mb9{ margin-bottom: 9em;}

/* font-size */
.fz1{font-size:1em;}
.fz11{font-size:1.1em;}
.fz12{font-size:1.2em;}
.fz13{font-size:1.3em;}
.fz14{font-size:1.4em;}
.fz15{font-size:1.5em;}
.fz16{font-size:1.6em;}
.fz17{font-size:1.7em;}
.fz18{font-size:1.8em;}
.fz19{font-size:1.9em;}
.fz20{font-size:2em;}


/* header ================================ */

.header_wrapper{
  display: none;
}

.pc_nav{
  display: none;
}

.header{
  position: fixed;
  /* position: absolute; */
  top: 0;
  z-index: 100;
  width: 100%;
  color: var(--c-black);
}
.reverse .header{
  color: var(--c-white);
}
.head_logo, .sp-logo {
  width: 7.5em;
  margin: 1.7em .8em 0;
  transition: opacity .5s;
}

.sp_nav.sp .Menu {
  color: var(--c-black);
}

#overlay-button.active {
  background: none;
}

#overlay-button {
  /* position: fixed; */
  position: absolute;
  right: 0;
  top: 0;
  width: 5em;
  height: 5.8em;
  z-index: 5;
  cursor: pointer;
  user-select: none;
  background: var(--c-yellow);
}
#overlay-button::after {
  content: "";
  position: absolute;
  right: 99.8%;
  display: block;
  width: 2em;
  height: 100%;
  background-color: var(--c-yellow);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

#overlay-button span {
  height: 2px;
  width: 2.5em;
  border-radius: 2px;
  background-color: white;
  position: absolute;
  top: 0;
  left: 0;
  right: .5em;
  bottom: .2em;
  display: block;
  transition: opacity .3s ,transform .2s;
  margin: auto;
}
#overlay-button span:before {
  top: -.65em;
  visibility: visible;
}
#overlay-button span:after {
  top: .65em;
}
#overlay-button span:before, #overlay-button span:after {
  height: 2px;
  width: 2.5em;
  border-radius: 2px;
  background-color: #fff;
  position: absolute;
  content: "";
  transition: opacity .3s ,transform .2s;
}

#overlay-button:hover span, 
#overlay-button:hover span:before, 
#overlay-button:hover span:after {
  background: #fff;
}
input[type=checkbox] {
  display: none; 
}

input[type=checkbox]:checked ~ #overlay {
  visibility: visible; 
}
input[type=checkbox]:checked ~ #overlay-button ,
input[type=checkbox]:checked ~ #overlay-button::after {
  background-color: transparent;
}
/* input[type=checkbox]:checked ~ #overlay-button:before{
  background: #D83646;
}
input[type=checkbox]:checked ~ #overlay-button:before{
  background: #D83646;
} */
input[type=checkbox]:checked ~ #overlay-button:hover span, input[type=checkbox]:checked ~ #overlay-button span {
  background: transparent;
}
input[type=checkbox]:checked ~ #overlay-button span:before {
  transform: rotate(45deg) translate(.45em, .45em);
  background-color: #000;
}
input[type=checkbox]:checked ~ #overlay-button span:after {
  transform: rotate(-45deg) translate(.45em, -.45em);
  background-color: #000;
}

.black{
/*	background: rgb(216, 54, 70,0.8);*/
/*	background: #D83646;*/
	    background: rgba(216, 54, 70,0.8);
}

#overlay {
  height: 100vh;
  padding-bottom: 12rem;
  width: 100vw;
  background-color: #ffdc00fa;
  z-index: 2;
  visibility: hidden;
  position: fixed;
  top: 0;
  overflow: scroll;
}

.spnav{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  padding-left: 0;
  list-style-type: none;
  padding-top: 5rem;
}
.spnav>li {
  width: 100%;
  padding: 1.2em;
  text-align: left;
}
.spnav>li>a {
  position: relative;
  display: block;
  width: fit-content;
  margin: auto;
  text-decoration: none;
  font-weight: 500;
}
/* .spnav li a:hover {
    opacity: 0.5;
} */
.navslide{
	padding-top: 3rem;
}

.spnav .en{
  display: block;
  width: fit-content;
  font-family: var(--font-en);
  font-size: 2.2em;
  font-weight: 700;
  line-height: 1.35;
  padding-bottom: 0;
  margin: auto;
}
.spnav .ja{
  display: block;
  font-size: 1.1em;
  font-weight: 700;
  text-align: center;
  opacity: .8;
}
/* .sp-logo{
	    position: absolute;
    width: 25%;
    top: 2%;
    left: 5%;
} */

/* .sp_nav_item_list{
  display: flex;
  flex-wrap: wrap;
  gap: 7%;
} */
.sp_nav_item_list li {
  width: 100%;
  margin-bottom: .1em;
}
.sp_nav_item_list li p{
  /* font-size: 1.1em; */
  font-weight: 600;
  padding: .2em 0;
}

.sp_nav_item_list .course-detail-ttl {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 1.5em;
  width: 4em;
  height: fit-content;
  margin: auto;
}
.sp_nav_item_list .course_item a {
  padding: 1.1em 0;
  padding-left: 7.2em;
}
.sp_nav_item_list .course-ttl-txt,
.sp_nav_item_list .course-s-txt{
  text-align: left;
}
.sp_nav_item_list .course-s-txt{
  font-size: 1em;
}

.cssacc{
  display: none;
}
.cssacc_label {
  position: absolute;
  left: 110%;
  /* right: 0; */
  top: 0;
  bottom: 0;
  z-index: 5;
  margin: auto;
  display: block;
  width: 1.8em;
  height: 1.8em;
  font-size: 1.6em;
  font-weight: 100;
  /* border: 1px solid #000; */
  border-radius: 50%;
  background-image: url(/imgs/icon_plus_circle.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: transform .2s , border .5s;
}
.cssacc_label + a{
  display: block;
  width: fit-content;
  margin: auto;
}
.cssacc:checked + a .cssacc_label {
  transform: rotateZ(135deg);
}
.accshow{
  /* margin-bottom: 1em; */
  overflow: hidden;
  /* padding-left: 1.5rem; */
  height: 0;
  opacity: 0;
  transition: opacity 0.8s;
}
.cssacc:checked ~ .accshow {
  transform: translateY(0);
  height: auto;
  opacity: 1;
  /* padding-bottom: 1em; */
  padding: 2em 0 0;
}
.accshow .en{
  display: none;
}
.accshow a{
  display: block;
  padding: .2em 0;
}


.nav-contact-wp {
  padding-top: 3rem;
  font-weight: bold;
}
.nav-contact-ttl {
  font-size: 1.2em;
  text-align: center;
}
.nav-mail {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  padding: 1.5rem;
  margin: 1rem auto 1.5rem;
  border: solid 1px;
}
.nav-contact-txt {
  font-size: 1.05rem;
  font-weight: 400;
  text-align-last: left;
  margin: auto;
}
.nav-mail::after {
  content: '';
  display: inline-block;
  border-style: solid;
  border-width: 10px 0 10px 14px;
  border-color: transparent transparent transparent #333;
  display: inline-block;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}

[data-page="course_otonarelax"] .head_logo_img{
  filter: var(--filter-w);
}

.header{
  transition: transform .3s ease-out;
}
.header.hidden{
  transform: translateY(-100%);
}

/* lang_btn ============ */
.lang_btn_wrap{
  display: block;
  width: fit-content;
  font-size: 1em;
  font-weight: 500;
  color: currentColor;
  padding: .8em 0 0;
}
.header .lang_btn_wrap{
  margin-right: 1em;
  margin-left: auto;
}
.lang_btn,.slash{
  opacity: .5;
  transition: opacity .5s;
}
/* .lang_btn.inactive{
  pointer-events: none;
  opacity: 1;
} */
[lang="ja"] .lang_btn[href="/"]{
  pointer-events: none;
  opacity: 1;
}
[lang="en"] .lang_btn[href="/en/"]{
  pointer-events: none;
  opacity: 1;
}
.lang_btn:hover{
  opacity: 1;
}

[lang="en"] .spnav .ja,
[lang="en"] .nav-contact-wp{
  display: none;
}
[lang="en"] .sp_nav_item_list .course-s-txt {
  font-size: 0.85em;
  max-width: 20em;
}

@media (max-width: 768px) {
  body._panel_open {
    overflow: hidden;
  }
}/*  */

@media (min-width: 769px) {
  .header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    
    background-color: #ffffffbb;
    backdrop-filter: blur(4px);
  }
  .reverse .header {
    background-color: transparent;
    backdrop-filter: none;
  }

  .head_logo{
    width: 7.5em;
    margin: 1.2em 1.5em;
  }
  .pc_nav{
    position: relative;
    display: block;
    padding-right: .5em;
    margin-left: auto;
  }
  [data-page="history"] .pc_nav ,
  [data-page="map_contents"] .pc_nav {
    color: #000;
  }
  /* #nav-pc-2{
    width: 100%;
    display: flex;
    justify-content: space-between;
  }	 */
  .top-logopc{
    display: block;
    width: 160px;
    padding-left: 3rem;
  }

  /*ナビゲーションを横並びに*/
  .pc_nav_list{
    list-style: none;
    display: flex;
    justify-content: center;
  }


  /*下の階層のulや矢印の基点にするためliにrelativeを指定*/
  .pc_nav_list li{
    position: relative;
  }

  /*ナビゲーションのリンク設定*/
  .pc_nav_list li a{
    display: block;
    text-decoration: none;
    padding: 1.6em 1.35em ;
    /* font-size: 1.2em; */
    font-weight: 600;
    line-height: 1.4;
    transition: opacity .3s;
    text-align: center;

    font-size: .85em;
  }

  .pc_nav_accordion{
    display: block;
  }
  .pc_nav_accordion li a{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 0.9rem;
    text-align: center;
    padding: 1.3em;
    margin: .2em;
    background-color: #fff;
    transition: background-color .5s;
  }

  .pc_nav_list > li > a:hover{
    opacity: 0.7;
  }

  .pc_nav .en{
    font-size: 1.35em;
    font-weight: 800;
  }
  .pc_nav .ja{
    display: block;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: .9em;
    font-weight: 500;
  }

  /*== 2・3階層目の共通設定 */

  /*下の階層を持っているulの指定*/
  .pc_nav li.has-child ul{
    position: absolute;
    left: 50%;
    top: 4em;
    z-index: 4;
    /* background: #fff; */
    color: #D83646;
    min-width: 14em;
    visibility: hidden;
    opacity: 0;
    font-weight: 600;
    transition: all .3s;
    transform: translate(-50%, 0);
  }

  /*hoverしたら表示*/
  .pc_nav li.has-child:hover > ul,
  .pc_nav li.has-child ul li:hover > ul,
  .pc_nav li.has-child:active > ul,
  .pc_nav li.has-child ul li:active > ul{
    visibility: visible;
    opacity: 1;
  }

  /*ナビゲーションaタグの形状*/
  .pc_nav li.has-child ul li a{
    color: var(--c-black);
  }

  .pc_nav li.has-child ul li:last-child a{
    border-bottom:none;
  }

  .pc_nav_accordion a:hover,
  .pc_nav_accordion a:active{
    background-color:var(--c-yellow);
    opacity: .95;
  }

  .header .lang_btn_wrap {
    border: 1px solid;
    padding: .4em .7em .42em;
    margin: .35em 1.5em 0 0.5em;
  }

  [lang="en"] .pc_nav .ja{
    display: none;
  }
}/*  */

@media (min-width: 960px) {
  .pc_nav {
    padding-right: 1.5em;
  }
  .pc_nav_list > li > a {
    padding: 1.5em 1.7em ;
  }
}


/* footer ==================== */
.footer-wp {
  background: #f1f1f1;
  border-top: solid 2px #fff;
  padding: 4em 0 8em;
}
.footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 1em;
}
.footer-list {
  display: block;
  text-align: center;
  width: 33.333%;
  padding: 2em 0;
  line-height: 1.2;
}
.f-nav-spen {
  font-weight: 700;
  font-size: 1.8rem;
}
.f-nav-ja {
  display: block;
  font-size: 1rem;
  margin-top: .2em;
}
.footer-logo {
  width: 8em;
  display: block;
  margin: 3em auto;
}
.footer-txt {
  font-size: 1.1em;
  line-height: 1.7;
  padding: 2em 0;
}
.foot_copyright {
  text-align: center;
  padding-top: 3rem;
}

[lang="en"] .f-nav-ja{
  display: none;
}
@media (min-width: 769px) {

  .footer-list {
    width: 12%;
  }
  .f-nav-spen {
    font-size: 1.4em;
  }
  .f-nav-ja {
    font-size: 0.9em;
  }
  .footer-logo {
    width: 6em;
  }
  .footer-wide {
    width: 75%;
    margin: auto;
  }
  .foot_copyright {
    padding-top: 5rem;
  }
  .footer-txt {
    font-size: 1em;
  }

}/*  */


/* BREADCRUMS ================================= */
.breadcrumbs {
  text-align: right;
  padding: 2em 0;
  line-height: 1;
  width: 100%;
  margin: 0 auto;
}
.breadcrumbs ol{
  font-size: 10px;
}
.breadcrumbs li{
  position: relative;
  display: inline-block;
  margin: 0.3em 0;
}
.breadcrumbs li a{
  display: inline;
  margin: 0.2em 0 0.2em 0;
  padding: 0;
  line-height: 1.3;
}
.breadcrumbs li:not(:last-child) {
  padding-right: 1.5em;
}
.breadcrumbs li:not(:last-child)::after {
  position: absolute;
  display: inline;
  content: ">";
  right: .4em;
  top: 0;
  bottom: 0;
  height: fit-content;
  margin: auto;
  color: currentColor;
}
.breadcrumbs li h1{
  display: inline;
  font-size: inherit;
  font-weight: normal;
}
@media (min-width: 769px) {
  .breadcrumbs li{
    display: inline;
  }
}/* 769 */



/* TOP - KEYVIS ===========================*/
.top_keyvis{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1.4;
  z-index: 1;
  /* overflow: hidden; */
  margin-bottom: 6em;
}
.top_keyvis_img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top_keyvis::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 4em;
  color: #000;
  background-color: var(--c-yellow);
  z-index: 1;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
}

/*top*/
.ttl-gp {
  /* margin: 0 auto 40px; */
  width: 100%;
  height: 105%;
  text-align: center;
  overflow: hidden;
  position: absolute;
  top: 0;
  z-index: 1;
}
.ttl-gp div {
  height: 100%;
  margin: 0;
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  line-height: 1em;
  animation: scrollttl-gp 30s linear infinite;
}
.ttl {
  width: 370rem;
  height: 100%;
  font-weight: bold;
}
.ttl img{
  width: 100%;
  height: 100%;
  /* object-fit: contain; */
}
@keyframes scrollttl-gp {
  0% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(-100%)
  }
}
.course-detail {
  padding-top: 2.5rem;
}
/* .spot-inner {
  padding-top: 8rem;
} */
.spot-inner span {
  right: 20%;
}

@media (min-width: 769px) {
  .ttl {
    width: 500vw;
  }
  .top_keyvis{
    aspect-ratio: 5 / 3;
  }
  .top_keyvis::after {
    height: 8em;
  }

}/*  */


/*回転*/
#ball {
  position: relative;
  z-index: 1;
  width: 12em;
  margin: -4.5em 1.5em 0em auto;
  animation: 6s linear infinite rotation1;
}
@keyframes rotation1 {
  0%   { transform: rotate(0); }
  100% { transform: rotate(360deg); }
}
@keyframes rotation2 {
  0%   { transform: rotateX(0); }
  100% { transform: rotateX(360deg); }
}
@keyframes rotation3 {
  0%   { transform: rotateY(0); }
  100% { transform: rotateY(360deg); }
}
@media (min-width: 769px) {
  #ball {
    width: 14em;
    margin: 18em 3.5em -26em auto;
  }

  [lang="en"] #ball {
    margin: 18em 3.5em -21em auto;
  }
}


/* TOP - COURSE ===========================*/
.top_course_sec{
  margin-bottom: 2em;
}
.course-ttl-txt {
  text-align: center;
  color: white;
  font-weight: 600;
  font-size: 1.4em;
}
.course_item {
  display: block;
  position: relative;
  margin-bottom: .5px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: unset;
}
.course-item1 { background-image: url("/images/course/koreandp-sp.jpg"); }
.course-item2 { background-image: url("/images/course/harajukusd-sp.jpg"); }
.course-item3 { background-image: url("/images/course/popkawaii-sp.jpg"); }
.course-item4 { background-image: url("/images/course/otona-sp.jpg"); }

.course_item a{
  display: block;
  padding: 2em 0 2em;
  transition: background-color .5s;
}
.course_item:hover a{
  opacity: .9;
}
.course-item1:hover a{  background-color: #3dc864; }
.course-item2:hover a{  background-color: #ffa2c8; }
.course-item3:hover a{  background-color: #3bb4d3; }
.course-item4:hover a{  background-color: #333333; }

.course-detail-ttl {
  width: 7em;
  aspect-ratio: 1 / 1;
  margin: auto;
}
.course-s-txt {
  text-align: center;
  font-size: 1.15em;
  padding-top: 1.5rem;
  color: #fff;
}
.arrow-right {
  width: 3em;
  height: fit-content;
  position: absolute;
  right: 5%;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform .2s;
}
.course_item:hover .arrow-right{
  transform:translateX(.4em)
}

[data-page="course_bestharajuku"] .course-item1 ,
[data-page="course_popkawaii"]  .course-item2 ,
[data-page="course_koreatrip"]  .course-item3 ,
[data-page="course_otonarelax"]  .course-item4 {
  display: none;
}

@media (min-width: 769px) {

  .course-detail-wp {
    position: relative;
  }
  .ball-abso {
    position: absolute;
    region-break-after: 0;
    top: -10%;
  }
  .ball-abso {
    position: absolute;
    right: 10%;
    top: -10%;
    width: 60%;
    z-index: 1;
  }

  /*course*/
  .course-access-wp {
    background-color: #fff9d9;
    margin: 15rem 0 0rem;
    padding: 5rem 0 10rem;
    position: relative;
  }
  .course-detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .course_item {
    width: calc(50% - .25px);
    font-size: 1.05em;
  }
  .course_item a{
    padding: 4em 0;
  }
  
  [data-page="course_bestharajuku"] .course_item,
  [data-page="course_popkawaii"] .course_item,
  [data-page="course_koreatrip"] .course_item,
  [data-page="course_otonarelax"] .course_item{
    width: calc(33.33% - .25px);
    font-size: .9em;
    a {
      padding: 3em 0;
    }
  }

  .course-access-wp .kasou-ttl-wp {
    position: inherit;
  }
  .arrow-right {
    width: 4em;
  }

}/*  */



/* TOP - SPOT ===========================*/
.slider{
  opacity: 0;
  transition: opacity .5s;
}
.slider.slick-initialized{
  opacity: 1;
}
.slider.slick-dotted.slick-slider ,
.pick-slider.slick-dotted.slick-slider {
  margin-bottom: 2em;
}
.slider .slick-dots ,
.pick-slider .slick-dots {
  bottom: -2.5em;
}
.slider .slick-dots li,
.pick-slider .slick-dots li{
  margin: 0;
}

.spot_ttl_wrap{
  padding-top: 3em;
}
.spot_ttl{
  font-size: 2.4em;
  font-weight: bold;
  padding: .2em 0;
}
.spot_desc{
  font-size: 1.3em;
  line-height: 1.8;
  padding: .5em 0;
  font-weight: bold;
}
.spot_back {
  background-color: var(--c-yellow);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 3rem 2.5em;
  margin: 3em 0;
  position: relative;
}
.spot-ttl2{
  font-size: 2rem;
  font-weight: bold;
  padding: 1rem 0;
  margin-bottom: .5em;
}
.spot-ttl2 span{
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--c-black3);
}
[lang="en"] .spot-ttl2.sp {
  font-size: 1.5rem;
}
[lang="en"] .spot-ttl2 span{
  display: none;
}
.spot-txt2{
  font-size: 1.05em;
  line-height: 1.7;
  padding: 1.5em 0;
}
.spot_slider{
  max-width: 72.5em;
  margin: 0px auto;
}
.spot_slider .sq_btn{
  font-size: 1em;
  margin-bottom: 1em;
}
.spot_slider .slick-prev::before {
  content: url(/images/left.svg);
}
.spot_slider .slick-next::before {
  content: url(/images/right.svg);
}
.spot_slider .slick-prev, 
.spot_slider .slick-next{
  width: 15px;
}
.spot_slider .slick-prev {
  left: -7%;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.spot_slider .slick-next{
  right: -7%;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.spot_slider .slick-prev:before, 
.spot_slider .slick-next:before{
  opacity: 1;
}
.spot-img {
  width: 100%;
  aspect-ratio: 3/2;
}
.spot-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 769px) {

  .spot_ttl_wrap{
    font-size: 1.1em;
  }
  .slider .slick-dots {
    bottom: -3em;
  }

  .slide-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
  }
  .spot_back {
    padding: 7em 8em 5em;
  }
  .slide-detail1 {
    width: 55%;
  }
  .slide-detail2 {
    width: 40%;
    padding-left: 1em;
  }
  .spot-img {
    aspect-ratio: 4/3;
  }
  .spot-ttl2{
    padding-top: 0;
  }
  .spot-txt2{
    padding-top: 0;
  }
  .spot_slider .sq_btn {
    margin-left: 0;
  }
  .slider .slick-prev {
    width: 2.3%;
  }
  .slider .slick-next {
    width: 2.3%;
  }

}/*  */



/* TOP - MAP ===========================*/
.street-map-wp {
  padding: 3em 0;
}
.street-map {
  background: url(/images/street-map-sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 8rem 2em 7rem;
  margin: 1.5rem 0 0;
  position: relative;
  color: #fff;
}
.street-map-txt {
  font-size: 1.6rem;
  text-align: center;
  padding: 2em 0;
  color: #fff;
}
/* .street-map-btn {
  color: #fff;
  border: solid 1px;
  display: block;
  padding: 1rem 0;
  width: 40%;
  text-align: center;
  margin-top: 3rem;
} */

@media (min-width: 769px) {
  .map-txt-img {
    width: 40em;
    margin: 2rem auto;
    display: block;
  }
  .street-map {
    padding: 6rem 2em 5rem;
  }

}/*  */


/* TOP - about ===========================*/
.top_about_sec{
  margin-bottom: 2em;
}
.top_about_img_box_wrap{
  position: relative;
  padding: 0 2em;
  margin: 3em auto;
  max-width: 88em;
}
.top_about_ttl{
  position: relative;
  margin-top: -3.5em;
}
.about_kazari{
  position: absolute;
  top: -.5em;
  left: 0;
  width: 100%;
}
.about-yellow-bg1 {
  position: absolute;
  z-index: -1;
  bottom: -3em;
  left: 0;
  display: block;
  width: 11rem;
  height: 13rem;
  background: var(--c-yellow);
}
.about-yellow-bg2 {
  position: absolute;
  z-index: -1;
  top: 3em;
  right: 0;
  display: block;
  width: 13rem;
  height: 21rem;
  background: var(--c-yellow);
}
/* .about-yellow-bg2 {
  background: #FFDC00;
  display: block;
  width: 40%;
  height: 25vh;
  position: absolute;
  z-index: -1;
  bottom: 10rem;
} */

@media (min-width: 769px) {
  .top_about_img_box_wrap {
    padding: 3em 0;
    margin-bottom: 0;
    overflow: hidden;
  }
  .top_about_img_box {
    display: block;
    width: 50%;
    margin: auto;
    overflow: hidden;
  }
  .about_kazari {
    position: absolute;
    top: 6%;
    left: 0;
    right: 0;
    width: 73%;
    margin: auto;
    pointer-events: none;
  }
  .about-yellow-bg1 {
    bottom: 0;
    left: 0;
    width: 60%;
    height: 67%;
  }
  .about-yellow-bg2 {
    top: 0;
    right: 0;
    width: 40%;
    height: 70%;
  }
}/*  */


/* pick up ========================= */
@media (max-width: 768px) {
  .pick-slider{
    opacity: 0;
    transition: opacity .5s;
  }
  .pick-slider.slick-initialized{
    opacity: 1;
  }
}

/* .pick-up {
  padding-bottom: 8rem;
} */
.pick_up_ttl {
  position: relative;
  width: fit-content;
  font-style: italic;
  /* padding-top: 4rem; */
  font-size: 1em;
  font-weight: bold;
  margin: 0 auto .3em;
}
.pick_up_ttl .ja{
  font-size: 2.2em;
}
.pick_up_ttl .script {
  position: absolute;
  left: 74%;
  bottom: -.6em;
  display: block;
  font-size: 1.7em;
  font-weight: 300;
  color: var(--c-yellow);
  transform: rotateZ(-12deg) skew(-15deg, 0);
  transform-origin: left bottom;
  white-space: nowrap;
}

.pick-up-ttl {
  width: fit-content;
  font-size: 3em;
  font-style: italic;
  font-weight: bold;
  text-align: center;
  padding-bottom: 0;
  margin: 0 auto;
  border-bottom: solid 4px #FFDC00;
}
.pick-up-ttl-ja {
  font-style: italic;
  padding-top: 3rem;
  font-size: 1.6rem;
  font-weight: bold;
  position: relative;
}
.pick-up-ttl-ja span {
  position: absolute;
  width: 20%;
  left: 10%;
  top: 82%;
}
.pick_up_block {
  padding: 4em 0 0;
}
.pick-slide {
  padding-top: .5rem;
  /* margin-top: 1em; */
}
.pick-store-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 1.8em;
  padding: 1.5rem 0;
}
.pick-store-txt {
  font-size: 1rem;
  line-height: 2;
  min-height: 8em;
}
.pick-box {
  position: relative;
  display: block;
  padding: 4.5rem 3rem;
  /* margin: 0 .5em; */
  /* background: url(/images/bc-gray.svg); */
  /* background-color: #f2f2f2; */
  /* clip-path: polygon(0% 10%, 225% -13%, 87% 120%, 0% 127%); */
  background-size: cover;
  background-repeat: no-repeat;
}
.pick-box::before ,
.pick-box::after {
  content: "";
  position: absolute;
  /* left: 0;
  right: 0;
  top: 0;
  bottom: 0; */
  inset: 0;
  margin: auto;
  display: block;
  width: 97%;
  height: 98%;
  clip-path: polygon(0 4%, 100% 0%, 100% 96%, 0% 100%);
}
.pick-box::before {
  background-color: #f2f2f2;
  z-index: -1;

}
.pick-box::after {
  background-color: var(--c-yellow);
  z-index: -2;
  transition: width .5s , height .5s;
}
._culture .pick-box::before ,
._culture .pick-box::after {
  clip-path: polygon(0 0, 100% 4%, 100% 100%, 0% 96%);
}

.pick-box:hover{
  opacity: 1;
}
.pick-box:hover::after {
  width: 100%;
  height: 100%;
}

.culuture-box {
  position: relative;
  display: block;
  padding: 6rem 3rem 7rem;
  background: url(/images/culuture-back.svg);
  background-size: cover;
  background-repeat: no-repeat;
}
.culuture-box h4 {
  font-size: 1.8rem;
}

.pick-up .slick-next,
.pick-up .slick-prev{
  display: none !important;
}
.recruit-wp .slick-next ,
.recruit-wp .slick-prev {
  display: none !important;
}

@media (min-width: 769px) {
  
  .pick-box, .culuture-box {
    width: 32%;
    margin: 0;
  }
  .pick-flex {
    display: flex;
    justify-content: center;
  }
  .pick-store-ttl {
    font-size: 1.5em;
  }
  .pick-store-txt {
    font-size: 0.85em;
  }
  .pick-flex {
    display: flex;
    justify-content: space-between;
  }
  /* .pick-box {
    background: url(/images/bc-gray-pc.svg);
    background-size: cover;
    background-repeat: no-repeat;
  }
  .pick-box:hover {
    background: url(/images/bc-gray-pc-ho.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
  } */
  /* .culuture-box h4 {
    font-size: 1.2rem;
  } */
  /* .culuture-box {
    background: url(/images/bc-gray-pc2.svg);
    background-size: cover;
    background-repeat: no-repeat;
  }
  .culuture-box:hover {
    background: url(/images/bc-gray-pc-ho2.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 1;
  } */
  .pick-up-ttl {
    width: 17%;
    margin: auto;
    font-size: 3rem;
  }
  .pick-up-ttl-ja span {
    position: absolute;
    width: 9%;
    left: 5%;
    top: 65%;
  }
  .culut span {
    width: 16%;
    top: -35%;
  }
  .culut {
    padding-top: 8rem;
  }
  .pick-up-ttl-ja {
    padding: 4rem 0 2rem;
  }

}/*  */



/* TOP history ======================= */
.top-ttl-wp {
  text-align: center;
  padding:6rem 0 0;
}
.history-en {
  font-size: 5rem;
  font-weight: 700;
  position: relative;
}
.top-reta {
  position: relative;
}
.history-en span {
  position: absolute;
  top: 0;
  right: 0%;
  width: 60%;
}
.history-ttl1 {
  font-weight: bold;
  border-bottom: solid .3em #ffdc00;
  width: 5.5em;
  margin: auto;
}
.history-ttl3 {
  writing-mode: vertical-rl;
  text-align: center;
  margin: .2em auto;
  font-family: 'Noto Serif JP';
  font-size: 5em;
  font-weight: 700;
}
.history-ttl2 {
  font-family: 'Noto Serif JP';
  font-weight: 200;
  position: absolute;
  width: fit-content;
  writing-mode: vertical-rl;
  left: 7em;
  right: 0;
  top: -.3em;
  font-size: 1.7em;
  line-height: 1.3;
  margin: auto;
}
.history-ttl2 .itukara {
  padding-top: 1.5em;
}
.history-top-img {
  width: 100%;
  padding-top: 0%;
  margin: auto;
}
.history-txt-gp {
  padding: 4rem 0;
}
.history-txt1 {
  font-size: 1.8rem;
}
.history-txt2 {
  line-height: 2;
  padding: 2rem 0;
}

@media (min-width: 769px) {
 
  /*	historu*/
  .history-wp {
    display: flex;
  }
  .history-box1 {
    width: 50%;
  }
  .history-txt-gp {
    padding: 22rem 0 0;
    width: 50%;
    padding-left: 4rem;
  }
  .history-en span {
    position: absolute;
    top: 0;
    right: 10%;
    width: 50%;
  }
  .history-wp .spot-btn {
    display: block;
    width: 40%;
  }
  /* .history-ttl1 {
    font-weight: bold;
    border-bottom: solid 4px #ffdc00;
    width: 14%;
    margin: auto;
    text-align: center;
  } */
  /*	access*/
  /* .access-img {
    width: 80%;
    margin: 4rem auto 5rem;
  } */
  .course-access-wp .kasou-ttl span {
    position: absolute;
    top: 0;
    right: 10%;
    width: 50%;
  }
  .course-access-wp {
    margin: 8rem 0 0rem;
    padding-bottom: 8rem;
  }
  .top-ttl-wp {
    text-align: center;
    padding: 6rem 0 0;
  }
}/*  */




/* TOP ACCESS =======================*/

.course-access-wp {
  background-color: #fff9d9;
  /* margin: 15rem 0 10rem; */
  margin: 10rem 0 0rem;
  padding: 6rem 0 5em;
  position: relative;
}
.access-img {
  width: 100%;
  aspect-ratio: 3 / 2;
  margin-bottom: 4em;
}
.access-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.course-access-wp .sec_ttl {
  margin-top: -11em;
  margin-bottom: 2em;
}
@media (min-width: 769px) {
  .course-access-wp .sec_ttl {
    padding-left: 5em;
    margin-top: -1em;
  }
  .access-img {
    aspect-ratio: initial;
    /* width: 80%;
    margin: auto; */
  }
}


/* TOP RECRUIT =======================*/
.recruit-ttl {
  text-align: center;
  font-size: 2rem;
  font-style: italic;
  font-weight: bold;
  position: relative;
  margin-bottom: 1em;
}
.recruit-wp {
  padding: 5rem 0;
  background: #f2f2f2;
}
.recruit-box {
  background: rgb(255, 255, 255);
  padding: 3rem 2rem;
}

@media (min-width: 769px) {
  
  /*	求人情報*/
  .pick-store-ttl {
    padding: 1rem 0;
  }
  .recruit-box {
    background: rgb(255, 255, 255);
    padding: 2rem 2rem;
    display: block;
    width: 30%;
    margin: 1%;
  }
  .recruit-flex {
    display: flex;
    justify-content: center;
    padding-top: 3rem;
  }

}/*  */



/* TOP CONTACT =======================*/
.contact {
  /* background: #f2f2f2; */
  padding: 5rem 0;
}
.contact-box {
  border: solid 1px var(--c-grey3);
  padding: 2.5rem 2.5em;
}
.contact-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  padding: .3em 0;
}
.contact-txt {
  font-size: 1.15em;
  padding-top: 1.5rem;
}
.mail {
  display: block;
  text-align: center;
  margin: 3rem auto 0;
  background: #FFDC00;
  padding: 2rem 2rem 2rem 0;
  font-weight: bold;
  border-radius: 7px;
  font-size: 1.5em;
  letter-spacing: 1.5px;
  position: relative;
}
.mail::after {
  content: '';
  display: inline-block;
  border-style: solid;
  border-width: 10px 0 10px 14px;
  border-color: transparent transparent transparent #333;
  display: inline-block;
  width: 0;
  height: 0;
  position: absolute;
  top: 50%;
  right: 27%;
  transform: translateY(-50%);
}

@media (min-width: 769px) {

  /*	contct */
  .contact-ttl {
    font-size: 1.8rem;
    text-align: left;
    padding-top: 0;
  }
  .contact-txt {
    padding-top: 1rem;
  }
  .contact-box {
    display: flex;
    align-items: flex-end;
    width: 93%;
    padding: 3.5rem;
    margin: auto;
  }
  .contact-box1 {
    width: 50%;
  }
  .contact-box2 {
    width: 50%;
    padding-left: 12%;
  }
  .mail {
    /* margin: 1rem 3rem 0; */
    padding: 2rem 1rem 2rem 0;
  }
  .mail::after {
    border-width: 14px 0 14px 17px;
  }

}/*  */