@charset "UTF-8";
:root {
  --color-white: #ffffff;
  --color-text: #333333;
  --color-gray: #e2e3e3;
  --color-green-1: #f6faed;
  --color-green-2: #e1f4d6;
  --color-green-3: #6ac833;
  --color-green-4: #45ba00;
  --color-pink-1: #fceaf3;
  --color-pink-2: #ed6cad;
  --color-pink-3: #e52d8a;
  --color-blue-1: #e5f5fb;
  --color-blue-2: #9cddd5;
  --color-blue-3: #4cb7e4;
  --color-blue-4: #0098d8;
  --color-orange: #eaa200;
  --color-beige-1: #fcfaf0;
  --color-beige-2: #fcf9ed;
  --color-yellow-1: #fdf8e4;
  --color-yellow-2: #f1cf4c;
  --color-gold: #b2a851;
  --color-lime-1: #f1faf9;
  --color-lime-2: #4abcb9;
  --font-accent: "Poppins", sans-serif;
  --font-jp: "Zen Kaku Gothic New", sans-serif;
  --z-index-back: -1;
  --z-index-base: 1;
  --z-index-hover-menu: 10;
  --z-index-key-visual: 10;
  --z-index-swiper-button: 10;
  --z-index-modal: 80;
  --z-index-drawer-menu: 80;
  --z-index-drawer-icon: 90;
  --z-index-header: 100;
  --z-index-follow-link: 70;
}

html {
  scroll-behavior: smooth;
}
body {
  color: var(--color-text);
	font-family: "Zen Kaku Gothic New", sans-serif;
	background-color: #fff;
}

body.no-scroll {
  overflow: hidden;
}

img {
  max-inline-size: 100%;
  inline-size: auto;
}

a {
  cursor: pointer;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

.tab-show {
  display: block;
}
@media (min-width: 769px) {
  .tab-show {
    display: none;
  }
}

.tab-none {
  display: none;
}
@media (min-width: 769px) {
  .tab-none {
    display: block;
  }
}

.tab-land-show {
  display: block;
}
@media (min-width: 1023px) {
  .tab-land-show {
    display: none;
  }
}

.header__inner {
  display: grid;
  padding-block: 4px 0px;
  padding-inline: 20px;
  margin-inline: auto;
  align-items: center;
}
@media (min-width: 1023px) {
  .header__inner {
    justify-content: center;
    grid-template-columns: auto;
    grid-template-rows: auto auto;
    padding-block: 12px;
  }
}
@media (min-width: 1200px) {
  .header__inner {
    padding-block: 24px;
    grid-template-columns: auto auto;
    justify-content: space-between;
  }
}

@media (min-width: 1023px) {
  .header__logo-link {
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 1200px) {
  .header__logo-link {
    justify-content: start;
  }
}

.header__logo {
  display: flex;
  align-items: center;
  column-gap: 8px;
}
@media (min-width: 1200px) {
  .header__logo {
    flex-direction: column;
    row-gap: 4px;
  }
}

.header__logo-img {
  inline-size: 75px;
}
@media (min-width: 1023px) {
  .header__logo-img {
    inline-size: 111px;
  }
}

.header__logo-text {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
}
@media (min-width: 1023px) {
  .header__logo-text {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.7142857143;
  }
}

.header__nav {
  display: none;
  margin-block-start: 16px;
}
@media (min-width: 1023px) {
  .header__nav {
    display: flex;
    align-items: center;
  }
}
@media (min-width: 1200px) {
  .header__nav {
    margin-block-start: 0;
  }
}

.header__lists {
  display: flex;
}

.header__list {
  position: relative;
}

.header__list:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-image: linear-gradient(to bottom, #ccc 50%, transparent 50%);
  background-size: 1px 6px; /* 点線の間隔 */
  background-repeat: repeat-y;
}

.header__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  inline-size: 88px;
  padding-inline: 4px;
  row-gap: 2px;
}
@media (min-width: 1023px) {
  .header__link {
    inline-size: 120px;
    padding-inline: 8px;
  }
}

.header__link-text {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5714285714;
  text-align: center;
}
@media (min-width: 1200px) {
  .header__link-text {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4666666667;
  }
}

.header__link-text--class::after {
  content: "";
  aspect-ratio: 9/6;
  width: 9px;
  background-image: url(../img/ico_arrow_down.svg);
  background-repeat: no-repeat;
  background-position: center center;
  aspect-ratio: 1;
  display: inline-block;
}

.header__link-text--gallery {
  padding-block: 8px;
}

.header__link--class {
  position: relative;
}

.header__link-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  aspect-ratio: 9/6;
  transition: transform 0.3s;
  transform-origin: center center;
}

.header__class-lists {
  background: var(--color-white);
  border-radius: 8px;
  padding-inline: 12px;
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  left: 50%;
  transform: translateX(-50%);
  width: max-content;
  border: 1px solid;
  padding-block: 8px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: var(--z-index-hover-menu);
}

.header__link--class:hover .header__class-lists {
  opacity: 1;
  visibility: visible;
}

.header__class-list:not(:last-child) {
  background-image: repeating-linear-gradient(to right, #333 0 50%, transparent 50% 100%);
  background-position: bottom;
  background-size: 6px 1px;
  background-repeat: repeat-x;
}

.header__class-link {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.375;
  display: flex;
  column-gap: 8px;
  padding-inline: 12px;
  padding-block: 8px;
}

.header__class-link::before {
  content: "";
  inline-size: 8px;
  block-size: auto;
  background-image: url(../img/ico_star.svg);
  background-repeat: no-repeat;
  background-position: center center;
  aspect-ratio: 1;
  display: block;
}

.header__cta {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4375;
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
@media (min-width: 1200px) {
  .header__cta {
    max-inline-size: 400px;
    margin-inline: auto;
  }
}

.header__cta-top {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4375;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 8px;
  max-inline-size: 300px;
}
@media (min-width: 1023px) {
  .header__cta-top {
    max-inline-size: 400px;
  }
}

.header__cta-top::before {
  content: "";
  inline-size: 16px;
  block-size: auto;
  background-image: url(../img/ico_arrow_yellow.svg);
  aspect-ratio: 1;
  display: block;
}

.header__cta-button {
  display: flex;
  align-items: center;
  column-gap: 12px;
  padding-block: 8px;
  padding-inline: 12px;
  color: var(--color-white);
  background-color: var(--color-blue-3);
  border-radius: 100vmax;
  font-weight: bold;
}
@media (min-width: 1023px) {
  .header__cta-button {
    padding-block: 16px;
    padding-inline: 24px;
  }
}

.header__cta-button::before {
  content: "";
  inline-size: 20px;
  block-size: auto;
  background-image: url(../img/ico_lesson.svg);
  aspect-ratio: 1;
  display: block;
}

.drawer-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
  padding-inline-start: 12px;
  border: none;
  background-color: transparent;
  cursor: pointer;
  block-size: 92px;
  inline-size: 92px;
  border: 6px solid var(--color-green-2);
  border-right: none;
  border-radius: 100vmax 0 0 100vmax;
  position: fixed;
  top: 40px;
  right: 0;
  z-index: var(--z-index-drawer-icon);
  background: var(--color-white);
  color: var(--color-text);
}
@media (min-width: 1023px) {
  .drawer-icon {
    display: none;
  }
}

@media (max-width: 768px){
	.drawer-icon{
		top: 10px;
		block-size: 78px;
		inline-size: 84px;
	}
	.drawer-icon__bars{
		margin-top: 5px;
	}
	
}

.drawer-icon__bars {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
}

.drawer-icon__bar {
  inline-size: 35px;
  block-size: 3px;
  border-radius: 100vmax;
  background-color: var(--color-green-3);
  display: block;
  transition: transform 0.3s;
}

.js-open .drawer-icon__bar--bar1 {
  transform: translate(0px, 4px) rotate(30deg);
}

.js-open .drawer-icon__bar--bar2 {
  transform: translate(0px, -5px) rotate(-30deg);
}

.drawer-icon-text {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7142857143;
  text-transform: uppercase;
  font-family: var(--font-accent);
  letter-spacing: 0.2em;
  transition: opacity 0.3s;
}

.js-open .drawer-icon-text {
  opacity: 0;
  visibility: hidden;
}

.drawer-icon-text--close {
  position: absolute;
  bottom: 22px;
  visibility: hidden;
 margin: 8px 0px -10px 0px;
	 
}

.js-open .drawer-icon-text--close {
  opacity: 1;
  visibility: visible;
}

.drawer-menu {
  position: fixed;
  inset: 0 0 0 0;
  top: 0;
  left: 0;
  background-color: var(--color-green-2);
  z-index: var(--z-index-drawer-menu);
  padding: 36px;
  padding-inline: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
  height: 100svh;
  overscroll-behavior: contain;
  /* safe-area は内側要素へ移動するため、ここからは外す */
  /* padding-top: calc(20px + env(safe-area-inset-top)); */
  /* padding-bottom: calc(20px + env(safe-area-inset-bottom)); */
}
@media (min-width: 1200px) {
  .drawer-menu {
    display: none;
  }
}

.drawer-menu.js-open {
  opacity: 1;
  visibility: visible;
}

.drawer-menu.js-open {
  opacity: 1;
  visibility: visible;
}

.drawer-menu__inner {
  background: var(--color-white);
  border-radius: 12px;
  padding-block: 30px;
  padding-inline: 20px;
  block-size: 100%;
  max-block-size: 100%;
  overflow-y: auto;
}

.drawer-menu__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 15px;
}

.drawer-menu__logo-img {
  inline-size: 111px;
}

.drawer-menu__logo-text {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7142857143;
  text-align: center;
}

.drawer-menu__lists {
  margin-block-start: 16px;
}

.drawer-menu__list {
  position: relative;
}

.drawer-menu__link {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  padding-inline: 8px;
  padding-block: 16px;
  column-gap: 6px;
  min-block-size: 44px;
  background-image: repeating-linear-gradient(to right, #ccc 0 50%, transparent 50% 100%);
  background-position: bottom;
  background-size: 6px 1px;
  background-repeat: repeat-x;
}

.drawer-menu__link--class {
  cursor: pointer;
  position: relative;
}

.drawer-menu__link-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.375;
  position: relative;
}

.drawer-menu__link-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  aspect-ratio: 9/6;
  transition: transform 0.3s;
  transform-origin: center center;
}

.drawer-menu__link-arrow.js-open {
  transform: rotate(180deg);
}

.drawer-menu__class-wrap {
  grid-column: 1/3;
  max-block-size: 0px;
  overflow: hidden;
  transition: max-block-size 0.3s;
  transform-origin: top;
}

.drawer-menu__class-wrap.js-open {
  max-block-size: 100%;
 max-block-size: 230px;
}

.drawer-menu__class-inner {
  padding-inline: 8px;
  padding-block: 20px 12px;
}

.drawer-menu__class-lists {
  background-color: var(--color-green-2);
  border-radius: 4px;
  padding-inline: 12px;
}

.drawer-menu__class-list:not(:last-child) {
  background-image: repeating-linear-gradient(to right, var(--color-white) 0 50%, transparent 50% 100%);
  background-position: bottom;
  background-size: 6px 1px;
  background-repeat: repeat-x;
}

.drawer-menu__class-link {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4666666667;
  display: flex;
  column-gap: 8px;
  padding-inline: 12px;
  padding-block: 13px;
}

.drawer-menu__class-link::before {
  content: "";
  inline-size: 8px;
  block-size: auto;
  background-image: url(../img/ico_star.svg);
  background-repeat: no-repeat;
  background-position: center center;
  aspect-ratio: 1;
  display: block;
}

.drawer-menu__cta {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4375;
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  margin-block-start: 24px;
}

.drawer-menu__cta-top {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4375;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 8px;
}

.drawer-menu__cta-top::before {
  content: "";
  inline-size: 16px;
  block-size: auto;
  background-image: url(../img/ico_arrow_yellow.svg);
  aspect-ratio: 1;
  display: block;
}

.drawer-menu__cta-button {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 12px;
  padding-block: 10px;
  padding-inline: 12px;
  color: var(--color-white);
  background-color: var(--color-blue-3);
  border-radius: 27px;
  font-weight: bold;
}

.drawer-menu__cta-button::before {
  content: "";
  inline-size: 20px;
  block-size: auto;
  background-image: url(../img/ico_lesson.svg);
  aspect-ratio: 1;
  display: block;
}

.drawer-menu__sns {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 16px;
  margin-block-start: 30px;
}

.drawer-menu__sns-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.375;
}

.footer__bg {
  position: relative;
  overflow: hidden;
}

.footer__bg::after {
  bottom: -20px;
  background: url(../img/bg_wave_bottom.png);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  block-size: auto;
  position: absolute;
  inline-size: calc(100% + 4px);
  aspect-ratio: 1440/103;
  left: 0;
}
@media (min-width: 1023px) {
  .footer__bg::after {
    bottom: -40px;
  }
}

.footer__bg-img {
  block-size: auto;
  inline-size: 100%;
}

.footer__inner {
  padding-inline: 40px;
  padding-block-start: 44px;
  position: relative;
}
@media (min-width: 769px) {
  .footer__inner {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    column-gap: 16px;
    max-inline-size: 1140px;
    margin-inline: auto;
    padding-inline: 20px;
    padding-block: 0 20px;
    margin-block-start: 18px;
  }
}

.footer__inner::before {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 122/111;
  width: 86px;
  right: 60px;
  top: 20px;
  background: url(../img/img_bard.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .footer__inner::before {
    display: none;
  }
}

.footer__inner::after {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 80/79;
  width: 80px;
  right: 20px;
  top: -50px;
  background: url(../img/ico_decoration_1.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .footer__inner::after {
    display: none;
  }
}

.footer__info {
  background-image: repeating-linear-gradient(to right, #ccc 0 50%, transparent 50% 100%);
  background-position: bottom;
  background-size: 6px 1px;
  background-repeat: repeat-x;
  padding-block-end: 24px;
}
@media (min-width: 769px) {
  .footer__info {
    background-image: none;
    padding-block-end: 0;
  }
}

.footer__info-logo img {
  aspect-ratio: 111/79;
  inline-size: 134px;
  block-size: auto;
}

.footer__info-name {
  margin-block-start: 16px;
}
@media (min-width: 769px) {
  .footer__info-name {
    margin-block-start: 24px;
  }
}

.footer__info-jp {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.footer__info-en {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-green-3);
}

.footer__contact {
  margin-block-start: 24px;
}
@media (min-width: 769px) {
  .footer__contact {
    display: none;
  }
}

.footer__tel {
  color: var(--color-green-3);
  font-family: var(--font-accent);
}

.footer__tel-text {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.7777777778;
}

.footer__tel-number {
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
  margin-inline-start: 4px;
  margin-block-start: 8px;
}

.footer__hours {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}

.footer__info-address {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7142857143;
  margin-block-start: 12px;
}

.footer__links-top {
  display: none;
}
@media (min-width: 769px) {
  .footer__links-top {
    display: flex;
    background-image: repeating-linear-gradient(to right, var(--color-green-3) 0 50%, transparent 50% 100%);
    background-position: bottom;
    background-size: 6px 1px;
    background-repeat: repeat-x;
    padding-block: 20px 20px;
    column-gap: 24px;
  }
}
@media (min-width: 1200px) {
  .footer__links-top {
    column-gap: 52px;
  }
}

.footer__links-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
	padding-bottom: 8px;
}

.footer__about-lists {
  margin-block-start: 4px;
}


.footer__link--bar {
  display: flex;
  align-items: center;
  column-gap: 4px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
}

.footer__link--bar::before {
  content: "";
  display: block;
  width: 13px;
  height: 2px;
  background-color: var(--color-green-3);
  flex-shrink: 0;
}

.footer__anchor-link {
  display: flex;
  column-gap: 4px;
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
	padding-bottom: 10px;
}

.footer__about-link,
.footer__class-link{
	padding-bottom: 8px;
}

.footer__anchor-link::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 16px;
  height: auto;
  background: url(../img/ico_arrow_green_mini.svg);
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
  margin-block-start: 10px;
}

.footer__sister-school {
  padding-block-start: 20px;
}

.footer__sister-school-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.75;
  color: var(--color-blue-3);
}

.footer__sister-school-link {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7142857143;
}
@media (min-width: 769px) {
  .footer__sister-school-link {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.75;
  }
}

.footer__sister-school-link::after {
  content: "";
  display: inline-block;
  aspect-ratio: 14/12;
  width: 14px;
  height: auto;
  background: url(../img/ico_link.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-inline-start: 8px;
}

.footer__copyright-wrap {
  text-align: center;
  margin-block-start: 32px;
  padding-block-end: 15px;
}
@media (min-width: 769px) {
  .footer__copyright-wrap {
    margin-block-start: 30px;
  }
}

.footer__copyright {
  font-size: 11px;
  font-weight: 500;
  line-height: 2.5454545455;
	color: #8d8c8c;
}

.footer__page-top-sp {
  display: flex;
  justify-content: center;
  overflow: hidden;
  block-size: 60px;
  margin-block-start: 8px;
}
@media (min-width: 769px) {
  .footer__page-top-sp {
    display: none;
  }
}

.common-main {
  position: relative;
}

.common-inner {
  max-inline-size: 1040px;
  margin-inline: auto;
}

.common-title {
  text-align: center;
}

.common-title__jp {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .common-title__jp {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
	    font-family: var(--font-jp);
  }
}

.common-title__en {
display: block;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-green-3);
  font-family: var(--font-accent);
  letter-spacing: 0.05em;
}

.common-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: 4px;
  border-radius: 100vmax;
  column-gap: 20px;
  max-inline-size: 200px;
  inline-size: 100%;
  font-family: var(--font-accent);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7777777778;
  background: var(--color-white);
	padding: 10px ;
}
@media (any-hover: hover) {
  .common-button:hover {
    opacity: 1;
  }
}

@media (any-hover: hover) {
  .common-button:hover::after {
    transform: translateX(6px);
  }
}
.common-button::after {
  background: url(../img/ico_arrow_black.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  block-size: auto;
  inline-size: 20px;
  aspect-ratio: 20/17;
  display: block;
  transition: transform 0.3s;
}

.common-button--green {
  border: 2px solid var(--color-green-3);
}

.common-button--blue {
  border: 2px solid var(--color-blue-3);
}

.common-button--pink {
  border: 2px solid var(--color-pink-2);
}

.common-button--orange {
  border: 2px solid var(--color-orange);
}

.common-button--lime {
  border: 2px solid var(--color-lime-2);
}

.fix-button-wrap {
  position: sticky;
  bottom: 20px;
  z-index: var(--z-index-follow-link);
}

.fix-button-absolute {
  position: absolute;
  bottom: 30px;
  right: 20px;
}

.fix-button-absolute__sns {
  position: absolute;
  bottom: 120px;
  left: 20px;
}

@media (min-width: 1023px) {
  .fix-button-absolute {
    bottom: 64px;
  }
}

.follow__link {
  border-radius: 100vmax;
  display: flex;
  flex-direction: column;
  row-gap: 26px;
  inline-size: 44px;
  border: 1px solid var(--color-text);
  align-items: center;
  padding-block: 30px 36px;
  background: var(--color-white);
  opacity: 0;
  transition: opacity 0.8s;
  transition-delay: 1s;
}
@media (min-width: 1023px) {
  .follow__link {
    display: flex;
  }
}
@media (min-width: 1200px) {
  .follow__link {
    inline-size: 57px;
  }
}
@media (max-width: 1200px) {
  .follow__link {
      display: none;
  }
}


.follow__link.js-show {
  opacity: 1;
}

.follow__link::before {
  content: "";
  background-color: var(--color-text);
  display: inline-block;
  height: 44px;
  margin-top: -60px;
  width: 1px;
}

.follow__text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.375;
  writing-mode: vertical-rl;
  margin-block-end: 4px;
}

.follow__sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 18px;
}

.pagetop__link {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: var(--color-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media (min-width: 769px) {
  .pagetop__link {
    margin-block-start: 140px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    display: block;
  }
}

.pagetop__link.js-show {
  opacity: 1;
  visibility: visible;
}

.pagetop__link::after {
  background: url(../img/pagetop_sp.svg) center/cover no-repeat;
  content: "";
  display: block;
  height: 75px;
  width: 25px;
  margin-block-start: 4px;
  animation: yurayura 2s linear infinite;
  transform-origin: top center;
}
@media (min-width: 769px) {
  .pagetop__link::after {
    background: url(../img/pagetop.svg);
  }
}

@keyframes yurayura {
  0%, 100% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
  }
}
.js-fade-in {
  opacity: 0;
  transition: opacity 0.8s ease-in;
}
.js-fade-in.js-show {
  opacity: 1;
}

.js-fade-in--delay-2s {
  transition-delay: 0.2s;
}

.js-fade-in--delay-4s {
  transition-delay: 0.4s;
}

@media (min-width: 481px) {
  .sp-none {
    display: none;
  }
	.pc-none{
		display: block;
	}	
}

.sp-show {
  display: none;
}

@media (min-width: 481px) {
  .sp-show {
    display: block;
  }
}


@media (min-width: 769px) {
  .tab-none {
    display: none;
  }
}

.tab-show {
  display: none;
}
@media (min-width: 769px) {
  .tab-show {
    display: block;
  }
}/*# sourceMappingURL=common.css.map */


@media(max-width: 480px){
	.sp-none{
		display: block;
	}
	
	.pc-none{
		display: none;
	}
}
._under{
	background-color: #f6faed;
	text-align: center;
	padding: 100px 0;
}
.inner{
	width: calc(100% - 30px);
	margin: auto;
	max-width: 1000px;
}
.fv__heading{
	font-size: 28px;
    font-weight: 700;
    line-height: 2;
}
.page{
	margin: 60px 0 120px;
}
.page img{
	height: auto;
  max-width: 100%;
}
.page p,.page{
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.08em;
}
.fv__heading>.common-title__en{
       font-size: 16px;
    }
@media (max-width: 769px) {
._under{
	padding: 50px 0;
}
.fv__heading{
	font-size: 18px;
}	
.page{
	margin: 30px 0 50px;
}	
}


