@charset "UTF-8";
/* color import setting
------------------------------------*/
/* color setting
------------------------------------*/
/* web font setting
------------------------------------*/
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 400;
  src: url("../../font/400_noto-sans-jp-r.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 500;
  src: url("../../font/500_noto-sans-jp-m.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 600;
  src: url("../../font/600_noto-sans-jp-sb.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 700;
  src: url("../../font/700_noto-sans-jp-b.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 900;
  src: url("../../font/900_noto-sans-jp-bl.woff") format("woff");
  font-display: swap;
}
/* common setting
------------------------------------*/
html {
  background: #1a0c3a;
  line-height: 1.4;
  text-align: left;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 62.5%;
  color: #fff;
}

body {
  font-size: 10px;
  font-size: 1.0rem;
  -webkit-text-size-adjust: 100%;
}

img {
  width: 100%;
  height: auto;
  line-height: 0;
  transition: transform .6s ease;
}

a:hover, a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
}
a:link, a:visited {
  text-decoration: none;
  color: #fff;
}
a[href^="tel:"] {
  pointer-events: none;
  cursor: default;
}

.onlySP {
  display: none;
}

main {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  width: 100%;
}

/* arrow button */
a.arrow {
  position: relative;
  box-sizing: border-box;
  display: block;
  border: 1px solid #fff;
  border-radius: 10px;
  background: linear-gradient(to top, #280076 0%, #5500a2 100%);
  margin: 0 auto;
  line-height: 54px;
  text-align: center;
  font-size: 18px;
}
a.arrow:before, a.arrow:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 18px;
  display: block;
  border-radius: 1.5px;
  background: #0596e5;
  width: 20px;
  height: 3px;
}
a.arrow:after {
  right: 16px;
  background: #ea258f;
  margin: -4px 0 0;
  width: 15px;
  transform: rotate(45deg);
}

/* header setting
------------------------------------*/
header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  box-sizing: border-box;
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/bg_header_pc.webp") center 0/100% 100% no-repeat;
  width: 100%;
}
header .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  position: relative;
  margin: 0 auto;
  height: 120px;
}
header .inner p {
  position: absolute;
  top: 0;
  left: 0;
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/bg_header-logo_pc.webp") center 0/100% 181px no-repeat;
  width: 54.53%;
  max-width: 818px;
  height: 181px;
  text-align: center;
}
header .inner p a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 89.48%;
  max-width: 732px;
  height: 66px;
}
header .inner p a img {
  display: inline-block;
  width: 40.71%;
  max-width: 278px;
}
header .inner p em {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 89.48%;
  max-width: 732px;
  height: 52px;
  line-height: 1;
  font-weight: 700;
  font-size: 16px;
}
header .inner nav[aria-label="headerNav"] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 0 2.66% 0 0;
  width: 51.33%;
  max-width: 770px;
  height: 92px;
}
header .inner nav[aria-label="headerNav"] ul#primaryMenu {
  display: flex;
  justify-content: flex-end;
  width: 70.12%;
  max-width: 540px;
}
header .inner nav[aria-label="headerNav"] ul#primaryMenu li {
  margin: 0 4.55% 0 0;
  white-space: nowrap;
  text-align: center;
  font-weight: 700;
  font-size: 13px;
}
header .inner nav[aria-label="headerNav"] ul#primaryMenu li small {
  display: block;
  padding: 10px 0 0;
  font-weight: 500;
  font-size: 11px;
  color: #f264cf;
}
header .inner nav[aria-label="headerNav"] ul#snsMenu {
  display: flex;
  justify-content: space-between;
  width: 16.18%;
  max-width: 110px;
}
header .inner nav[aria-label="headerNav"] ul#snsMenu li {
  width: 43.33%;
  max-width: 52px;
}
header .inner nav[aria-label="headerNav"] ul#snsMenu li img {
  filter: invert(100%) sepia(0%) saturate(7456%) hue-rotate(43deg) brightness(107%) contrast(98%);
}

/* main Title setting
------------------------------------*/
#mainTitle {
  position: relative;
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/bg_main-common_pc.webp") center 0/100% 100% no-repeat;
  margin: 95px 0 0;
  width: 100%;
  height: 180px;
  text-align: center;
}
#mainTitle h1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 180px;
}
#mainTitle h1 picture {
  display: block;
  margin: 0 0 15px;
  width: 100%;
}
#mainTitle h1 picture img {
  width: auto;
  height: 35px;
}
#mainTitle h1 em strong {
  color: #ea258f;
}
#mainTitle h1 span {
  position: absolute;
  top: 180px;
  left: 0;
  box-sizing: border-box;
  display: block;
  background: #1a0c3a;
  padding: 15px;
  width: 100%;
  line-height: 1.4;
  font-weight: 700;
  font-size: 16px;
  color: #ea258f;
}

/* bread Crumbs setting
------------------------------------*/
#breadCrumbs {
  background: #f6f6f6;
  font-family: YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  color: #333;
}
#breadCrumbs ul {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 0 2.67%;
  width: 100%;
  height: 35px;
  text-align: left;
}
#breadCrumbs ul li a {
  display: block;
}
#breadCrumbs ul li a:link, #breadCrumbs ul li a:visited {
  color: #333;
}
#breadCrumbs ul li:nth-child(1) a {
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/ico_home.webp") 0 0/cover no-repeat;
  width: 13px;
  height: 13px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
#breadCrumbs ul li:has(a) {
  position: relative;
  margin: 0 28px 0 0;
}
#breadCrumbs ul li:has(a):after {
  content: '';
  position: absolute;
  top: 2px;
  right: -20px;
  display: block;
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/ico_arrow-breadcrumbs.webp") 0 0/cover no-repeat;
  width: 5px;
  height: 9px;
}

/* footer setting
------------------------------------*/
footer {
  width: 100%;
  text-align: center;
}
footer #access .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 auto;
  padding: 100px 0;
  max-width: 1060px;
}
footer #access .inner h2 {
  margin: 0 auto 50px;
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
}
footer #access .inner h2 span {
  display: block;
  margin: 0 auto 15px;
  width: 129px;
}
footer #access .inner h2 em {
  color: #ea258f;
}
footer #access .inner iframe {
  border-radius: 10px;
  margin: 0 25px;
  width: 480px;
  height: 300px;
}
footer #access .inner ul {
  margin: 0 25px;
  width: 480px;
  text-align: left;
  line-height: 2.0;
  font-weight: 700;
  font-size: 14px;
}
footer #access .inner ul li {
  position: relative;
  padding: 0 0 0 30px;
}
footer #access .inner ul li a {
  display: block;
}
footer #access .inner ul li a:link, footer #access .inner ul li a:visited {
  text-decoration: underline;
  color: #0596e5;
}
footer #access .inner ul li:not(:last-child) {
  margin: 0 0 20px;
}
footer #access .inner ul li:before {
  content: '';
  position: absolute;
  left: 0;
  display: block;
  width: 20px;
}
footer #access .inner ul li:nth-child(1):before {
  top: 2px;
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/ico_marker.webp") center 0/100% 100% no-repeat;
  height: 24px;
}
footer #access .inner ul li:nth-child(2):before {
  top: 4px;
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/ico_time.webp") center 0/100% 100% no-repeat;
  height: 20px;
}
footer #access .inner ul li:nth-child(3):before {
  top: 2px;
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/ico_tel.webp") center 0/100% 100% no-repeat;
  height: 25px;
}
footer #about {
  background: url("/wp/wp-content/themes/keio-estation/assets/img/common/bg_footer_pc.webp") center 0/cover no-repeat;
  width: 100%;
}
footer #about .inner {
  margin: 0 auto;
  padding: 90px 0 30px;
  max-width: 1120px;
}
footer #about .inner dl {
  width: 640px;
  margin: 0 auto 80px;
}
footer #about .inner dl dt {
  margin: 0 0 20px;
}
footer #about .inner dl dt img {
  width: auto;
  height: 21px;
}
footer #about .inner dl dd ul {
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0 1.78%;
  padding: 30px 30px 20px;
}
footer #about .inner dl dd ul li {
  margin: 0 15px 10px;
}
footer #about .inner dl dd ul li:nth-child(1) img {
  height: 31px;
}
footer #about .inner dl dd ul li:nth-child(2) img {
  height: 24px;
}
footer #about .inner dl dd ul li:nth-child(3) img {
  height: 36px;
}
footer #about .inner h2 {
  margin: 0 auto 60px;
  width: 277px;
}
footer #about .inner #linkContact {
  margin: 0 auto 70px;
}
footer #about .inner #linkContact li a {
  width: 300px;
}
footer #about .inner #corporateInfo {
  display: flex;
  justify-content: space-between;
}
footer #about .inner #corporateInfo li {
  box-sizing: border-box;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0 1.78%;
  padding: 25px 15px 20px;
  width: 46.42%;
}
footer #about .inner #corporateInfo li h3 {
  margin: 0 0 20px;
  font-weight: 700;
  font-size: 14px;
}
footer #about .inner #corporateInfo li:nth-child(1) h3 {
  color: #ea258f;
}
footer #about .inner #corporateInfo li:nth-child(2) h3 {
  color: #0596e5;
}
footer #about .inner #corporateInfo li picture {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  height: 66px;
}
footer #about .inner #corporateInfo li picture img {
  width: auto;
  height: 35px;
}
footer #about .inner #corporateInfo li p {
  padding: 15px 0 0;
  text-align: left;
  line-height: 2;
  font-size: 12px;
}
footer #about .inner small {
  display: block;
  padding: 50px 0 0;
  width: 100%;
  line-height: 1.5;
  font-weight: 300;
  font-size: 10px;
}

/* ------------------------------------------------------------------------
	Ajustment For Window 1200 
------------------------------------------------------------------------ */
@media screen and (max-width: 1200px) {
  main {
    box-sizing: border-box;
  }

  /* footer setting
  ------------------------------------*/
  footer #access .inner iframe {
    margin: 0 auto 25px;
  }
  footer #access .inner ul {
    margin: 0 auto 25px;
  }
}
/* ------------------------------------------------------------------------
	Ajustment For Small PC Window 
------------------------------------------------------------------------ */
@media screen and (max-width: 1024px) {
  /* header setting
  ------------------------------------*/
  header .inner nav ul#primaryMenu li {
    font-size: 12px;
  }
  header .inner nav ul#primaryMenu li small {
    font-size: 10px;
  }
  header .inner nav ul#snsMenu {
    width: 13.18%;
  }
  header .inner nav ul#snsMenu li {
    width: 43.33%;
  }
}
/* ------------------------------------------------------------------------
	Ajustment For Smart Phone 
------------------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  /* common setting
  ------------------------------------*/
  html {
    min-width: 100vw;
  }

  body {
    min-width: 100vw;
    min-height: 100%;
  }
  body.modeNav {
    overflow: hidden !important;
    position: fixed;
    /* only iOS */
    height: auto;
  }

  .onlyPC {
    display: none;
  }

  .onlySP {
    display: block;
  }

  main {
    max-width: 100vw;
  }

  a:hover, a:hover img {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
  }
  a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }

  /* arrow button */
  a.arrow {
    border: 0.26667vw solid #fff;
    border-radius: 1.6vw;
    width: 74.666667vw;
    height: 17.333333vw;
    line-height: 16.8vw;
    font-size: 3.466667vw;
  }
  a.arrow:before, a.arrow:after {
    right: 4.8vw;
    border-radius: 0.333vw;
    width: 5.2vw;
    height: 0.6666667vw;
  }
  a.arrow:after {
    right: 4.2666667vw;
    margin: -1.0666667vw 0 0;
    width: 3.733333vw;
  }

  /* header setting
  ------------------------------------*/
  header {
    background: url("/wp/wp-content/themes/keio-estation/assets/img/common/bg_header_sp.webp") center 0/100% 100% no-repeat;
    padding: 0;
    width: 100vw;
    min-width: 100vw;
    height: 32.266667vw;
  }
  header .inner {
    width: 100vw;
  }
  header .inner p {
    left: 50%;
    background: none;
    margin: 3.333333vw 0 0 -19.8666667vw;
    width: 39.733333vw;
    max-width: 39.733333vw;
    height: auto;
  }
  header .inner p a {
    margin: 0 0 7.3333333vw;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  header .inner p a img {
    width: 100%;
    max-width: 100%;
  }
  header .inner p em {
    width: 100%;
    max-width: 100%;
    height: auto;
    font-size: 2.666667vw;
  }
  header .inner nav[aria-label="headerNav"] ul#primaryMenu {
    position: absolute;
    opacity: 0;
    top: 0;
    right: -100vw;
    z-index: 0;
    box-sizing: border-box;
    display: block;
    background: rgba(0, 0, 0, 0.9);
    margin: 0;
    padding: 22vw 0 0;
    width: 100vw;
    height: 100vh;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
    text-align: center;
    color: #000;
    overflow: scroll;
  }
  header .inner nav[aria-label="headerNav"] ul#primaryMenu > li {
    border-bottom: 0.26667vw solid #333;
    margin: 0 auto;
    width: 91.466667vw;
  }
  header .inner nav[aria-label="headerNav"] ul#primaryMenu > li:first-child {
    border-top: 0.26667vw solid #333;
  }
  header .inner nav[aria-label="headerNav"] ul#primaryMenu > li a {
    display: block;
    padding: 4vw 0;
    width: 100%;
    font-size: 4.2666667vw;
  }
  header .inner nav[aria-label="headerNav"] ul#primaryMenu > li a small {
    padding: 2.4vw 0 0;
    font-size: 2.4vw;
  }
  header .inner nav[aria-label="headerNav"] ul#snsMenu {
    display: none;
  }
  header .inner nav[aria-label="headerNav"] > button {
    position: absolute;
    top: 4.4vw;
    right: 3.2vw;
    z-index: 1;
    border: 0.53333vw solid #fff;
    border-radius: 50%;
    box-sizing: border-box;
    box-shadow: 0 0 1.33333vw 0 rgba(0, 0, 0, 0.3);
    background: black;
    width: 13.3333333vw;
    height: 13.3333333vw;
  }
  header .inner nav[aria-label="headerNav"] > button:before {
    content: '';
    position: absolute;
    top: 0.4vw;
    left: 0.4vw;
    display: block;
    border-radius: 50%;
    background-image: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 50%);
    width: 11.466667vw;
    height: 11.466667vw;
    opacity: 0.5;
  }
  header .inner nav[aria-label="headerNav"] > button i {
    display: block;
    position: absolute;
    border-radius: 0.4vw;
    height: 0.6666667vw;
    transition: all 0.3s;
  }
  header .inner nav[aria-label="headerNav"] > button i:nth-child(1) {
    top: 5.2vw;
    left: 3.733333vw;
    background: #ea258f;
    width: 4.8vw;
  }
  header .inner nav[aria-label="headerNav"] > button i:nth-child(2) {
    top: 6.6666667vw;
    left: 4.5333333vw;
    background: #0596e5;
    width: 3.333333vw;
  }
  header .inner nav[aria-label="snsNav"] ul {
    position: absolute;
    top: 6.5333333vw;
    left: 2.533333vw;
    display: flex;
    justify-content: space-between;
    width: 20.266667vw;
  }
  header .inner nav[aria-label="snsNav"] ul li {
    width: 9.3333333vw;
  }
  header .inner nav[aria-label="snsNav"] ul li img {
    filter: invert(100%) sepia(0%) saturate(7456%) hue-rotate(43deg) brightness(107%) contrast(98%);
  }

  body.modeNav header .inner {
    height: 100vh;
  }
  body.modeNav header .inner nav[aria-label="headerNav"] ul#primaryMenu {
    right: 0;
    opacity: 1;
  }
  body.modeNav header .inner nav[aria-label="headerNav"] button i:nth-child(1) {
    transform: translateY(0.75vw) rotate(45deg);
    width: 5.3333333vw;
  }
  body.modeNav header .inner nav[aria-label="headerNav"] button i:nth-child(2) {
    left: 3.733333vw;
    transform: translateY(-0.75vw) rotate(-45deg);
    width: 5.3333333vw;
  }

  /* main Title setting
  ------------------------------------*/
  #mainTitle {
    background: url("/wp/wp-content/themes/keio-estation/assets/img/common/bg_main-common_sp.webp") center 0/100% 100% no-repeat;
    margin: 21.333333vw 0 0;
    height: 37.333333vw;
  }
  #mainTitle h1 {
    height: 37.333333vw;
  }
  #mainTitle h1 picture {
    margin: 0 0 3.2vw;
  }
  #mainTitle h1 picture img {
    height: 9.2vw;
  }
  #mainTitle h1 span {
    top: 37.333333vw;
    padding: 4vw;
    font-size: 3.6vw;
  }

  /* bread Crumbs setting
  ------------------------------------*/
  #breadCrumbs ul {
    box-sizing: border-box;
    width: 100vw;
    padding: 0 4vw;
    height: 9.3333333vw;
    font-size: 2.4vw;
  }
  #breadCrumbs ul li:nth-child(1) a {
    width: 3.466667vw;
    height: 3.466667vw;
  }
  #breadCrumbs ul li:has(a) {
    margin: 0 5.4666667vw 0 0;
  }
  #breadCrumbs ul li:has(a):after {
    top: 1vw;
    right: -3.3333333vw;
    width: 0.6666667vw;
    height: 1.2vw;
  }

  /* footer setting
  ------------------------------------*/
  footer #access .inner {
    padding: 18vw 0;
    max-width: 100%;
  }
  footer #access .inner h2 {
    margin: 0 auto 10vw;
    width: 100%;
    font-size: 3.733333vw;
  }
  footer #access .inner h2 span {
    margin: 0 auto 4vw;
    width: 34.4vw;
  }
  footer #access .inner iframe {
    border-radius: 1.3333333vw;
    margin: 0 auto 6vw;
    width: 86.666667vw;
    height: 53.333333vw;
  }
  footer #access .inner ul {
    margin: 0 auto;
    width: 86.666667vw;
    line-height: 2.0;
    font-size: 3.2vw;
  }
  footer #access .inner ul li {
    padding: 0 0 0 5.0666667vw;
  }
  footer #access .inner ul li:not(:last-child) {
    margin: 0 0 5.3333333vw;
  }
  footer #access .inner ul li:before {
    width: 2.666667vw;
  }
  footer #access .inner ul li:nth-child(1):before {
    top: 1.8vw;
    height: 3.2vw;
  }
  footer #access .inner ul li:nth-child(2):before {
    top: 2.1vw;
    height: 2.666667vw;
  }
  footer #access .inner ul li:nth-child(3):before {
    top: 1.8vw;
    height: 3.333333vw;
  }
  footer #about {
    background: url("/wp/wp-content/themes/keio-estation/assets/img/common/bg_footer_sp.webp") center 0/cover no-repeat;
  }
  footer #about .inner {
    padding: 16vw 0 6.6666667vw;
    max-width: 86.666667vw;
  }
  footer #about .inner dl {
    width: 100%;
    margin: 0 auto 12vw;
  }
  footer #about .inner dl dt {
    margin: 0 0 20px;
  }
  footer #about .inner dl dt img {
    width: auto;
    height: 21px;
  }
  footer #about .inner dl dd ul {
    display: block;
    border-radius: 1.333vw;
    margin: 0;
    padding: 8vw 0 2vw;
  }
  footer #about .inner dl dd ul li {
    margin: 0 2vw 6vw;
  }
  footer #about .inner dl dd ul li img {
    width: auto;
  }
  footer #about .inner dl dd ul li:nth-child(1) img {
    height: 6.1333333vw;
  }
  footer #about .inner dl dd ul li:nth-child(2) img {
    height: 4.8vw;
  }
  footer #about .inner dl dd ul li:nth-child(3) img {
    height: 7.2vw;
  }
  footer #about .inner h2 {
    margin: 0 auto 10vw;
    width: 55.733333vw;
  }
  footer #about .inner #linkContact {
    margin: 0 auto 13.3333333vw;
  }
  footer #about .inner #linkContact li a {
    width: 74.666667vw;
  }
  footer #about .inner #corporateInfo {
    display: block;
  }
  footer #about .inner #corporateInfo li {
    border-radius: 1.3333333vw;
    margin: 0 0 2.666667vw;
    padding: 4vw 3.333333vw 3.333333vw;
    width: 100%;
  }
  footer #about .inner #corporateInfo li h3 {
    margin: 0 0 3.2vw;
    font-size: 3vw;
  }
  footer #about .inner #corporateInfo li picture {
    height: 16vw;
  }
  footer #about .inner #corporateInfo li picture img {
    height: 4.6666667vw;
  }
  footer #about .inner #corporateInfo li p {
    padding: 3.333333vw 0 0;
    line-height: 1.5;
    font-size: 2.4vw;
  }
  footer #about .inner small {
    padding: 4.8vw 0 0;
    font-size: 2.4vw;
  }
}
