@charset "UTF-8";
body {
  font-family: source-han-sans-cjk-ja, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt" 1;
  line-height: 1.5;
  color: #333; }
  @media (max-width: 640px) {
    body {
      font-size: 1.4rem; } }
  @media (min-width: 641px) {
    body {
      font-size: 1.6rem;
      line-height: 1.75; } }

/* ------------------------
*	 display   
*/
@media (max-width: 640px) {
  .pc {
    display: none !important; }

  .tb {
    display: none !important; }

  .tb_min {
    display: none !important; } }
@media (min-width: 641px) and (max-width: 1000px) {
  .pc {
    display: none !important; }

  .sp {
    display: none !important; } }
@media (min-width: 1001px) {
  .sp {
    display: none !important; }

  .tb {
    display: none !important; }

  .tb_max {
    display: none !important; } }
.hide {
  display: none !important; }

.dp_block {
  display: block; }

.dp_inlineblock {
  display: inline-block; }

.block_center {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.sr_only {
  /* スクリーンリーダー用 */
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px; }

/* --------------------
* clearFix
*/
.clearfix:after {
  clear: both;
  display: block;
  content: ""; }

/* ------------------------
*	img
*/
/* Mouse hover */
@media (min-width: 1001px) {
  .hvropa,
  a.hvrimg img,
  .hvrIMG a img {
    opacity: 1;
    transition: opacity 0.3s linear; }

  .hvropa:hover,
  a.hvrimg:hover img,
  .hvrIMG a:hover img {
    opacity: 0.7; } }
/* --------------------
* link
*/
@media (min-width: 1001px) {
  .tel {
    text-decoration: none;
    color: inherit !important;
    cursor: default;
    pointer-events: none; }

  .tel:hover {
    text-decoration: none; } }
/* --------------------
* table
*/
.table-responsive {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }

/* --------------------
* button
*/
.btnReset {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none; }

.button {
  cursor: pointer;
  outline: none;
  appearance: none;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding: 17px 5px;
  font-weight: 500;
  line-height: 1.5;
  background-color: #24b2b2;
  color: #fff;
  text-decoration: none;
  text-align: center;
  border: solid 1px #24b2b2;
  border-radius: 31px; }
  @media (max-width: 640px) {
    .button {
      font-size: 1.6rem; } }
  @media (min-width: 641px) {
    .button {
      font-size: 1.8rem; } }
  @media (min-width: 641px) {
    .button {
      width: 360px;
      transition: .3s; }
      .button:hover {
        background-color: #fff;
        color: #24b2b2; } }

/* ===========================================
heding
=========================================== */
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

@media (max-width: 640px) {
  .cmn_heading_container {
    margin-right: calc(100% / 18 * -1);
    margin-left: calc(100% / 18 * -1); } }
@media (min-width: 641px) {
  .cmn_heading_container {
    display: flex;
    justify-content: center;
    width: 100%; } }

.cmn_heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  text-align: center;
  color: #638599;
  background: url(../2020img/common/common_heading_img.png) no-repeat 0 0; }
  @media (max-width: 640px) {
    .cmn_heading {
      padding: 7px 5% 6px;
      background-size: 90px auto; } }
  @media (min-width: 641px) and (max-width: 1000px) {
    .cmn_heading {
      padding: 15px 120px 25px;
      background-size: 90px auto; } }
  @media (min-width: 1001px) {
    .cmn_heading {
      padding: 15px 170px 25px;
      background-size: 120px auto; } }
  .cmn_heading::after {
    position: absolute;
    bottom: 0;
    height: 1px;
    background-color: #638599;
    content: ""; }
    @media (max-width: 640px) {
      .cmn_heading::after {
        width: 80%;
        left: 10%; } }
    @media (min-width: 641px) {
      .cmn_heading::after {
        left: 50%;
        width: 400px;
        margin-left: -200px; } }
  .cmn_heading--en {
    line-height: 1.25;
    font-family: poiret-one, sans-serif; }
    @media (max-width: 640px) {
      .cmn_heading--en {
        font-size: 3rem; } }
    @media (min-width: 641px) {
      .cmn_heading--en {
        font-size: 4rem; } }
  @media (max-width: 640px) {
    .cmn_heading--ja {
      font-size: 1.6rem; } }
  @media (min-width: 641px) {
    .cmn_heading--ja {
      font-size: 2rem;
      line-height: 1.5; } }

/* ===========================================
layout
=========================================== */
.headerContainer,
.footerContainer,
.main {
  position: relative;
  width: 100%; }

/* ===========================================
header
=========================================== */
.headerContainer {
  position: fixed;
  left: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 80px; }
  @media (max-width: 640px) {
    .headerContainer {
      top: 0; } }
  @media (min-width: 641px) and (max-width: 1000px) {
    .headerContainer {
      top: 0; } }
  @media (min-width: 1001px) {
    .headerContainer {
      top: calc(50vh - 240px);
      height: 480px; } }

@media (min-width: 641px) {
  .lang_btn {
    z-index: 10;
    position: relative;
    height: 100px;
    padding: 10px;
    background-color: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
    transition: .3s; }
    .lang_btn:hover {
      background-color: #def4f4; } }

@media (min-width: 641px) {
  .headerSearch-btn {
    z-index: 10;
    position: relative;
    height: 220px;
    padding: 20px 16px 20px 17px;
    border: solid 2px #e71320;
    border-left-width: 0;
    background-color: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
    transition: .3s; }
    .headerSearch-btn:hover {
      background-color: #fbdcde; } }

/* gnav button */
.menu-mobile {
  z-index: 10;
  position: relative;
  display: inline-block;
  width: 80px;
  height: 100px;
  background-color: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.25); }
  @media (min-width: 641px) {
    .menu-mobile {
      transition: .3s; }
      .menu-mobile:hover {
        background-color: #def4f4; } }
  .menu-mobile::before, .menu-mobile::after {
    position: absolute;
    top: 25px;
    left: 26px;
    display: inline-block;
    width: 28px;
    height: 51px;
    content: "";
    background: no-repeat center;
    background-size: cover;
    opacity: 1;
    transition: .5s; }
  .menu-mobile::before {
    background-image: url(../2020img/common/common_leftside_button_nav_open.png); }
  .menu-mobile::after {
    background-image: url(../2020img/common/common_leftside_button_nav_close.png); }
  .menu-mobile.menu-hidden::after {
    opacity: 0; }
  .menu-mobile.menu-active::before {
    opacity: 0; }

/* ===========================================
footer
=========================================== */
.footerContainer {
  background-color: #638599;
  color: #fff;
  text-align: center; }
  @media (max-width: 640px) {
    .footerContainer {
      padding: 35px 5% 0; } }
  @media (min-width: 641px) {
    .footerContainer {
      padding-top: 55px; } }
  .footerContainer-head {
    font-weight: 700; }
    @media (max-width: 640px) {
      .footerContainer-head {
        font-size: 2rem; } }
    @media (min-width: 641px) {
      .footerContainer-head {
        font-size: 2.4rem;
        line-height: 1.5; } }
    .footerContainer-head--en {
      font-size: .9em;
      display: block; }
  @media (max-width: 640px) {
    .footerContainer-address {
      padding: 13px 0 13px; } }
  @media (min-width: 641px) {
    .footerContainer-address {
      padding: 20px 0 50px; } }
  .footerContainer-note {
    font-weight: 500;
    font-weight: 700; }
    @media (min-width: 641px) {
      .footerContainer-note {
        line-height: 1.5; } }
    @media (max-width: 640px) {
      .footerContainer-note {
        padding-bottom: 37px;
        text-align: left; } }
    @media (min-width: 641px) {
      .footerContainer-note {
        padding-bottom: 56px; } }
  .footerContainer-copy {
    padding: 20px;
    background-color: #fff; }
    @media (max-width: 640px) {
      .footerContainer-copy {
        margin: 0 calc(100% / 18 * -1); } }
    .footerContainer-copy img {
      width: 112px;
      margin: 0 auto; }

/* ===========================================
Navi
=========================================== */
/* ------------------------
*	globalnavi
*/
.menu.menu_hide {
  display: none; }

.menu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100vh;
  -webkit-overflow-scrolling: auto;
  overflow-scrolling: auto;
  overflow-y: scroll;
  text-align: center;
  background-color: #24b2b2;
  transition: 0.6s cubic-bezier(0.3, 0.03, 0.13, 0.99);
  -webkit-transform: translateY(-115%);
  transform: translateY(-115%); }
  .menu.show-on-mobile {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    opacity: 1; }

@media (min-width: 641px) {
  .lv1 li ~ li {
    margin-top: 10px; } }
@media (min-width: 1001px) {
  .lv1 li ~ li {
    margin-top: 48px; } }
.lv1 a {
  display: inline-block;
  color: #fff;
  text-decoration: none; }
  @media (max-width: 640px) {
    .lv1 a {
      padding: 10px; } }
  @media (min-width: 641px) and (max-width: 1000px) {
    .lv1 a {
      padding: 10px; } }
  .lv1 a:hover {
    text-decoration: underline; }

/*html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}*/

/*# sourceMappingURL=common.css.map */
