@charset "UTF-8";
/*------------------------------------------------------------------------
// Base
  ├ reset
  └ base
------------------------------------------------------------------------*/
/*----------------------------------------
	reset
----------------------------------------*/
:root {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*,
::before,
::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  border-style: solid;
  border-width: 0;
}

* {
  font-size: inherit;
  line-height: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header, hgroup, main, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
}

header, footer, article, section, aside, hgroup, main, nav, menu, figure, figcaption {
  display: block;
}

span, small, strong, em, b, i {
  color: inherit;
}

html {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

li {
  list-style: none;
}

img {
  width: 100%;
  height: auto;
  border: 0;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

hr {
  margin: 1em 0;
  padding: 0;
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid var(--gray);
}

input, select {
  vertical-align: middle;
}

input, textarea {
  margin: 0;
  padding: 0;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

address {
  font-style: normal;
}

q::before,
q::after {
  display: none;
}

:root {
  --mainColor: #ff8900;
  --subColor: #f66401;
  --subColor2: #ff9402;
  --textColor: #000000;
  --gray: #e9e9e9;
  --lightGray: #fafafa;
  --blueGray: #97a2b7;
  --white: #ffffff;
  --black: #000000;
  --ygreen: #6EB944;
  --green: #007B28;
  --pink: #E36787;
  --pink2: #B1325B;
  --type01_main: #00499f;
  --type01_sub: #d1e0f3;
  --type02_main: #f08300;
  --type02_sub: #fff3d0;
  --type03_main: #004f52;
  --type03_sub: #e5f1df;
  --font_sans: "Zen Kaku Gothic New", serif;
  --font_serif: "Zen Old Mincho", serif;
  --font_e: "Jost", sans-serif;
  --leading-trim: calc((1em - 1lh) / 2);
  --width: 1200px;
  --width_lg: 1366px;
  --sp-gutter: calc(25 / 375 * 100vw);
  --pc-gutter: 18px;
}

/* html,Body
----------------------------------------*/
html {
  height: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 10.4vw;
}
@media (min-width: 768px) {
  html {
    scroll-padding-top: min(6.6666666667vw, 80px);
  }
}

body {
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom: 20vw;
  color: var(--textColor);
  font-size: 16px;
  font-size: 4.2666666667vw;
  font-family: var(--font_sans);
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.75;
  word-wrap: break-word;
  word-break: normal;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body * {
  word-wrap: break-word;
  word-break: normal;
}
@media (min-width: 768px) {
  body {
    padding-bottom: 0;
    font-size: 18px;
    font-size: 1.5vw;
  }
}
@media (min-width: 1201px) {
  body {
    font-size: 18px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

/*Font
----------------------------------------*/
.sans {
  font-family: var(--font_sans);
}

[lang=en],
.font_e {
  font-family: var(--font_e);
  font-optical-sizing: auto;
  font-style: normal;
}

/* Links
----------------------------------------*/
a {
  text-decoration: underline;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/*------------------------------------------------------------------------
// Modules
------------------------------------------------------------------------*/
/*----------------------------------------
	Common Layout
----------------------------------------*/
/* main
-----------------------*/
main {
  max-width: 1080px;
  margin: auto;
}

/* container
-----------------------*/
.container {
  padding-inline: 3.3333333333vw;
}
@media (min-width: 768px) {
  .container {
    max-width: var(--width);
    margin-inline: auto;
    padding-inline: min(1.5vw, 18px);
  }
}

/* section title
-----------------------*/
.section-title {
  display: grid;
  gap: 1.3333333333vw;
  margin-bottom: 4vw;
  text-align: center;
}
.section-title .sub-title {
  color: var(--mainColor);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 2.1333333333vw;
}
.section-title .main-title {
  font-weight: 800;
  font-size: 3.4666666667vw;
  line-height: 1.3846;
}
@media (min-width: 768px) {
  .section-title {
    gap: min(1.6666666667vw, 20px);
    margin-bottom: min(5vw, 60px);
  }
  .section-title .sub-title {
    margin-block: var(--leading-trim);
    font-size: min(2.1666666667vw, 26px);
  }
  .section-title .main-title {
    margin-block: var(--leading-trim);
    font-size: min(3.1666666667vw, 38px);
  }
}

/*----------------------------------------
	Header
----------------------------------------*/
.header {
  height: min(22.6666666667vw, 170px);
  padding-top: min(5.3333333333vw, 60px);
  background: var(--white);
  text-align: center;
}
.header__logo {
  width: min(33.6vw, 212px);
  margin: auto;
}
.header__text {
  font-size: min(3.8666666667vw, 23px);
}

/*----------------------------------------
	Menu
----------------------------------------*/
.menu {
  padding-block: 4vw;
}
.menu__title {
  color: #595757;
  text-align: center;
  font-weight: bold;
  font-size: 5.3333333333vw;
  letter-spacing: 0.1em;
}
.menu__list {
  width: 66.6666666667vw;
  margin: auto;
}
.menu__list a:hover {
  opacity: 0.8;
}
@media (min-width: 768px) {
  .menu__title {
    font-size: min(4.9074074074vw, 53px);
  }
  .menu__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: min(84.6296296296vw, 914px);
  }
}

/*----------------------------------------
	MV
----------------------------------------*/
.mv {
  width: 100%;
  aspect-ratio: 750/520;
  padding-top: 2.6666666667vw;
  background: url(../img/bg_mv_sp.jpg) center bottom/cover no-repeat;
  color: var(--white);
  text-align: center;
}
.mv__text01 {
  font-family: sans-serif;
  font-weight: 900;
  font-size: 6.6666666667vw;
  line-height: 1;
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}
.mv__text02 {
  margin-top: 1.3333333333vw;
  font-weight: bold;
  font-size: 3.7333333333vw;
  line-height: 1.4;
  text-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}
@media (min-width: 768px) {
  .mv {
    aspect-ratio: 1080/450;
    width: 100vw;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: url(../img/bg_mv_pc.jpg) center bottom/cover no-repeat;
    padding-top: 5%;
    padding-left: 5%;
  }
  .mv__inner {
    width: 50%;
  }
  .mv__text01 {
    font-size: 5vw;
  }
  .mv__text02 {
    font-size: 2.5925925926vw;
  }
}

/*----------------------------------------
	Section
----------------------------------------*/
.section__title {
  margin-block: 1.3333333333vw;
  text-align: center;
  font-weight: bold;
  font-size: 6vw;
  line-height: 1.2;
  letter-spacing: 0.06em;
}
@media (min-width: 768px) {
  .section__title {
    margin-block: 20px;
    font-size: min(4.9074074074vw, 53px);
    letter-spacing: -0.02em;
  }
}

/*カラーバリエーション*/
.section.--type01 .section__title {
  color: var(--type01_main);
  letter-spacing: 0.06em;
}
.section.--type02 .section__title {
  color: var(--type02_main);
}
.section.--type03 .section__title {
  color: var(--type03_main);
}

/*----------------------------------------
	Probrem
----------------------------------------*/
.probrem__inner {
  padding: 1.3333333333vw 4vw 4vw;
}
.probrem__text01 {
  text-align: center;
  font-size: 4vw;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.probrem__title {
  margin-block: 0.8em;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-weight: bold;
  font-size: 5.3333333333vw;
  line-height: 1.2;
  letter-spacing: 0.1em;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #fff100));
  background: linear-gradient(transparent 70%, #fff100 70%);
}
.probrem__checklist {
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.probrem__checklist li {
  font-size: 4vw;
}
.probrem__checklist li::before {
  content: "";
  display: inline-block;
  width: 4.8vw;
  height: 4.2666666667vw;
  background: url(../img/icon_check.png) 0 0/contain no-repeat;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .probrem__inner {
    padding: min(1.8518518519vw, 20px) min(4.6296296296vw, 50px);
  }
  .probrem__text01 {
    font-size: min(2.8703703704vw, 31px);
  }
  .probrem__title {
    font-size: min(4.9074074074vw, 53px);
  }
  .probrem__checklist li {
    font-size: min(2.8703703704vw, 31px);
  }
  .probrem__checklist li::before {
    width: min(4.2592592593vw, 46px);
    height: min(3.3333333333vw, 36px);
  }
}

/*----------------------------------------
	Case
----------------------------------------*/
.case {
  position: relative;
  margin-bottom: 10.6666666667vw;
  margin-inline: 2.6666666667vw;
  padding: 2.6666666667vw;
  background: var(--white);
  border: 5px solid var(--white);
  -webkit-box-shadow: 3px 5px 8px rgba(0, 0, 0, 0.5), 0 0 0 3px #ba9400 inset;
          box-shadow: 3px 5px 8px rgba(0, 0, 0, 0.5), 0 0 0 3px #ba9400 inset;
  line-height: 1.2;
}
.case__probrem {
  margin-bottom: 2.6666666667vw;
}
.case__probrem-title {
  margin-bottom: 0.5em;
  font-weight: bold;
  font-size: 4.6666666667vw;
  letter-spacing: 0.06em;
}
.case__probrem-text {
  font-size: 3.7333333333vw;
}
.case::after {
  position: absolute;
  left: 50%;
  bottom: -10.6666666667vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  display: block;
  width: 8.5333333333vw;
  height: 5.3333333333vw;
  background-position: 0 0;
  background-size: contain;
  background-repeat: no-repeat;
}
.case__solution-text {
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .case {
    margin-bottom: min(10.6481481481vw, 115px);
    padding: min(2.7777777778vw, 30px);
    border: 10px solid var(--white);
  }
  .case__probrem {
    margin-bottom: min(2.7777777778vw, 30px);
  }
  .case__probrem-title {
    font-size: min(3.2407407407vw, 35px);
  }
  .case__probrem-text {
    font-size: min(2.037037037vw, 22px);
    line-height: 1.5;
  }
  .case::after {
    bottom: max(-10.6481481481vw, -115px);
    width: min(8.5185185185vw, 92px);
    height: min(5.5555555556vw, 60px);
  }
  .case__solution-text {
    font-size: min(2.037037037vw, 22px);
    line-height: 1.5;
  }
}

/*カラーバリエーション*/
.case.--type01::after {
  background-image: url(../img/icon_arrow01.svg);
}
.case.--type01 .case__probrem-title {
  color: var(--type01_main);
}
.case.--type02::after {
  background-image: url(../img/icon_arrow02.svg);
}
.case.--type02 .case__probrem-title {
  color: var(--type02_main);
}
.case.--type03::after {
  background-image: url(../img/icon_arrow03.svg);
}
.case.--type03 .case__probrem-title {
  color: var(--type03_main);
}

/*----------------------------------------
	Support
----------------------------------------*/
.support {
  padding: 5.3333333333vw;
}
.support__title {
  margin-bottom: 0.5em;
  line-height: 1.2;
  font-size: 4vw;
  font-weight: normal;
}
.support__title strong {
  display: inline-block;
  font-size: 5.3333333333vw;
  letter-spacing: 0.06em;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, var(--white)));
  background: linear-gradient(transparent 70%, var(--white) 70%);
}
.support__lead {
  font-size: 4vw;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .support {
    padding: min(1.8518518519vw, 20px) min(8.3333333333vw, 90px);
  }
  .support__title {
    font-size: min(2.8703703704vw, 31px);
  }
  .support__title strong {
    font-size: min(4.9074074074vw, 53px);
  }
  .support__lead {
    font-size: min(2.8703703704vw, 31px);
  }
}
.support__point {
  width: 90%;
  margin-block: 1.3333333333vw 2.6666666667vw;
  margin-inline: auto;
  background: var(--white);
  border: 2px solid;
}
.support__point-text {
  text-align: center;
  font-size: 4vw;
  font-weight: bold;
  letter-spacing: 0.02em;
  line-height: 1.2;
}
@media (min-width: 768px) {
  .support__point {
    margin-block: min(1.8518518519vw, 20px) min(3.7037037037vw, 40px);
  }
  .support__point-text {
    font-size: min(2.7777777778vw, 30px);
  }
}
.support__comment-title {
  margin-bottom: 4vw;
  border-radius: 100px;
  color: var(--white);
  background: var(--gray);
  text-align: center;
  font-weight: bold;
  font-size: 5.3333333333vw;
  font-family: var(--font_serif);
  line-height: 1.2;
}
.support__comment-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2vw;
}
.support__comment-ph {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 33.0666666667vw;
}
.support__comment-body {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.support__comment-stitle {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: var(--white);
  font-size: 4vw;
  letter-spacing: 0.04em;
}
.support__comment-text {
  font-family: var(--font_serif);
  font-size: 3.7333333333vw;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .support__comment-title {
    max-width: 735px;
    margin-inline: auto;
    margin-bottom: min(2.7777777778vw, 30px);
    font-size: min(4.3518518519vw, 47px);
  }
  .support__comment-stitle {
    font-size: min(2.8703703704vw, 31px);
  }
  .support__comment-text {
    font-size: min(2.5925925926vw, 28px);
  }
  .support__comment-ph {
    width: min(33.3333333333vw, 360px);
  }
}

/*カラーバリエーション*/
.support.--type01 {
  background: var(--type01_sub);
}
.support.--type01 .support__title {
  color: var(--type01_main);
}
.support.--type01 .support__point {
  color: var(--type01_main);
}
.support.--type01 .support__comment-title {
  background: var(--type01_main);
}
.support.--type01 .support__comment-stitle {
  color: var(--type01_main);
}
.support.--type02 {
  background: var(--type02_sub);
}
.support.--type02 .support__title {
  color: var(--type02_main);
}
.support.--type02 .support__point {
  color: var(--type02_main);
}
.support.--type02 .support__comment-title {
  background: var(--type02_main);
}
.support.--type02 .support__comment-stitle {
  color: var(--type02_main);
}
.support.--type03 {
  background: var(--type03_sub);
}
.support.--type03 .support__title {
  color: var(--type03_main);
}
.support.--type03 .support__point {
  color: var(--type03_main);
}
.support.--type03 .support__comment-title {
  background: var(--type03_main);
}
.support.--type03 .support__comment-stitle {
  color: var(--type03_main);
}

/*----------------------------------------
	Footer
----------------------------------------*/
.footer {
  padding: 4vw 2.6666666667vw;
  background: #dcdddd;
}
.footer__inner {
  max-width: 1080px;
  margin-inline: auto;
}
.footer__logo {
  width: 33.6vw;
  margin-inline: auto;
}
.footer__text {
  font-size: 3.8666666667vw;
  text-align: center;
  letter-spacing: 0.04em;
}
.footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3333333333vw 0;
  width: 70%;
  margin-top: 4vw;
  margin-inline: auto;
  line-height: 1.4;
  font-size: 3.0666666667vw;
}
.footer__menu li {
  padding: 0 0.5em;
  line-height: 1;
}
.footer__menu li:not(:last-child) {
  border-right: 1px solid;
}
.footer__menu a {
  color: inherit;
  text-decoration: none;
}
.footer__menu a:hover {
  text-decoration: underline;
}
@media (min-width: 768px) {
  .footer {
    padding: min(2.7777777778vw, 30px) min(1.8518518519vw, 20px);
  }
  .footer__logo {
    width: min(18.5185185185vw, 200px);
  }
  .footer__text {
    font-size: min(2.037037037vw, 22px);
  }
  .footer__menu {
    width: 100%;
    gap: 10px;
    margin-top: min(2.7777777778vw, 30px);
    font-size: min(1.7592592593vw, 19px);
  }
}

/*----------------------------------------
	Banner
----------------------------------------*/
.banner {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 2.6666666667vw;
  background: var(--white);
  border-top: 1px solid #DFDFDF;
}
@media (min-width: 768px) {
  .banner {
    bottom: auto;
    top: 0;
    border-top: 0;
    border-bottom: 1px solid #DFDFDF;
    padding: 15px;
    translate: 0 -100%;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .banner.is-active {
    translate: 0 0;
  }
}

.banner-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3333333333vw;
}
.banner-list a {
  display: block;
  border: 2px solid var(--white);
}
.banner-list a:hover, .banner-list a:focus {
  border-color: #AC1E31;
}
.banner-list a.--yoga:hover, .banner-list a.--yoga:focus {
  border-color: #13767C;
}
@media (min-width: 768px) {
  .banner-list {
    max-width: 1080px;
    margin-inline: auto;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }
}

/*----------------------------------------
	Shop
----------------------------------------*/
.shoplist {
  padding: 5.3333333333vw;
}
.shoplist__title {
  position: relative;
  width: 95%;
  margin: 0 auto 2.6666666667vw;
  text-align: center;
}
.shoplist__title > span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 4em;
  background: var(--ygreen);
  border-radius: 8px;
  color: var(--white);
  text-align: center;
  letter-spacing: 0.15em;
  font-size: 4vw;
  -webkit-box-shadow: 6px 6px 0 var(--green);
          box-shadow: 6px 6px 0 var(--green);
}
.shoplist__title::before {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: -1;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #A2A2A2;
}
@media (min-width: 768px) {
  .shoplist {
    padding: min(3.7037037037vw, 40px) min(5.5555555556vw, 60px);
  }
  .shoplist__title {
    margin: 0 auto min(1.8518518519vw, 20px);
  }
  .shoplist__title > span {
    font-size: min(2.7777777778vw, 30px);
  }
}

/*店舗情報レイアウト*/
.shop {
  display: grid;
  gap: 2.6666666667vw;
  padding-block: 2.6666666667vw;
}
.shop + .shop {
  border-top: 2px solid #A2A2A2;
}
@media (min-width: 768px) {
  .shop {
    grid-template-columns: 1fr min(33.5185185185vw, 362px);
    gap: min(4.6296296296vw, 50px);
    padding-block: min(1.8518518519vw, 20px);
  }
}

.shop__info .name {
  font-size: 4vw;
}
.shop__info .data {
  font-size: 3.2vw;
}
.shop__info .data > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1em;
}
.shop__info .data dt {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.5em;
  text-align: justify;
  text-justify: inter-ideograph;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.shop__info .data dt::after {
  position: absolute;
  right: 0;
  content: "：";
}
@media (min-width: 768px) {
  .shop__info .name {
    font-size: min(2.7777777778vw, 30px);
  }
  .shop__info .data {
    font-size: min(2.2222222222vw, 24px);
  }
}

.shop__access {
  display: grid;
  gap: 5.3333333333vw;
}
@media (min-width: 768px) {
  .shop__access {
    gap: min(1.8518518519vw, 20px);
  }
}

.shop__btn {
  display: block;
  width: 90%;
  max-width: 320px;
  margin: auto;
  padding: 10px;
  background: var(--pink);
  border-radius: 8px;
  -webkit-box-shadow: 6px 6px 0 var(--pink2);
          box-shadow: 6px 6px 0 var(--pink2);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.shop__btn .shopname {
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}
.shop__btn .gohp {
  width: 80%;
  margin: 8px auto 0;
}
.shop__btn:hover, .shop__btn:focus {
  opacity: 0.7;
}

.shop__map {
  width: 86.4vw;
  aspect-ratio: 362/270;
  overflow: hidden;
}
.shop__map iframe {
  aspect-ratio: 362/270;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  .shop__map {
    width: 100%;
  }
}

/*------------------------------------------------------------------------
// Utilitiy
------------------------------------------------------------------------*/
/*----------------------------------------
	Utilities
----------------------------------------*/
/*margin*/
.u-mt0 {
  margin-top: 0 !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-ml0 {
  margin-left: 0 !important;
}

.u-mr0 {
  margin-right: 0 !important;
}

/*padding*/
.u-pt0 {
  padding-top: 0 !important;
}

.u-pb0 {
  padding-bottom: 0 !important;
}

.u-pl0 {
  padding-left: 0 !important;
}

.u-pr0 {
  padding-right: 0 !important;
}

/*width*/
.u-w10per {
  width: 10% !important;
}

.u-w20per {
  width: 20% !important;
}

.u-w30per {
  width: 30% !important;
}

.u-w40per {
  width: 40% !important;
}

.u-w50per {
  width: 50% !important;
}

.u-w60per {
  width: 60% !important;
}

.u-w70per {
  width: 70% !important;
}

.u-w80per {
  width: 80% !important;
}

.u-w90per {
  width: 90% !important;
}

.u-w100per {
  width: 100% !important;
}

/*responsive margin*/
.u-mt-xs {
  margin-top: 3.6231884058vw;
}

.u-mt-sm {
  margin-top: 7.2463768116vw;
}

.u-mt-md {
  margin-top: 10.8695652174vw;
}

.u-mt-lg {
  margin-top: 14.4927536232vw;
}

.u-mt-xl {
  margin-top: 19.3236714976vw;
}

@media (min-width: 768px) {
  .u-mt-xs {
    margin-top: 15px;
  }
  .u-mt-sm {
    margin-top: 30px;
  }
  .u-mt-md {
    margin-top: 45px;
  }
  .u-mt-lg {
    margin-top: 60px;
  }
  .u-mt-xl {
    margin-top: 80px;
  }
}
/*image*/
.u-img-full {
  max-width: none;
  width: 100%;
}

/*float*/
.u-fl {
  float: left;
}

.u-fr {
  float: right;
}

.u-clear {
  clear: both;
}

/*align-text*/
.u-ta__l {
  text-align: left !important;
}

.u-ta__c {
  text-align: center !important;
}

.u-ta__r {
  text-align: right !important;
}

/*align-block*/
.u-block__l {
  float: none;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.u-block__c {
  float: none;
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-block__r {
  float: none;
  margin-left: auto !important;
  margin-right: 0 !important;
}

/*display*/
.u-sp {
  display: block;
}

.u-pc {
  display: none;
}

@media (min-width: 768px) {
  .u-sp {
    display: none;
  }
  .u-pc {
    display: block;
  }
}
.u-hidden {
  visibility: hidden;
}

/* for screen reader
ーーーーーーーーーーーーーーーーーーーーーーーー*/
.u-vhidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  margin: -1px;
}

/* for keybord
ーーーーーーーーーーーーーーーーーーーーーーーー*/
.skipLink {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.skipLink:active, .skipLink:focus {
  position: static;
  opacity: 1;
  overflow: visible;
  height: auto;
  font-size: inherit;
}

/*----------------------------------------
	Animation
----------------------------------------*/
/*FadeInUp
------------------------------*/
.js-effect {
  opacity: 0;
}
.js-effect.aniOn {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
          animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.js-effect.a-fadeInLtoR.aniOn {
  -webkit-animation-name: fadeInLtoR;
          animation-name: fadeInLtoR;
}
.js-effect.a-fadeInRtoL.aniOn {
  -webkit-animation-name: fadeInRtoL;
          animation-name: fadeInRtoL;
}
.js-effect.a-showLtoR.aniOn {
  -webkit-animation-name: showLtoR;
          animation-name: showLtoR;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInRtoL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInRtoL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLtoR {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInLtoR {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes showLtoR {
  0% {
    width: 0;
  }
  100% {
    width: 300px;
  }
}
@keyframes showLtoR {
  0% {
    width: 0;
  }
  100% {
    width: 300px;
  }
}
/*------------------------------------------------------------------------
// Print Style
------------------------------------------------------------------------*/
@media print {
  .js-effect {
    opacity: 1 !important;
  }
}/*# sourceMappingURL=styles.css.map */