@charset "UTF-8";
/*共通*/
/* LINE Seed Sans */
@font-face {
  font-family: "LINE Seed Sans";
  src: url("font/LINESeedSans_W_Bd.woff2") format("woff2"), url("font/LINESeedSans_W_Bd.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "LINE Seed Sans";
  src: url("font/LINESeedSans_W_He.woff2") format("woff2"), url("font/LINESeedSans_W_He.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "LINE Seed Sans";
  src: url("font/LINESeedSans_W_Rg.woff2") format("woff2"), url("font/LINESeedSans_W_Rg.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "LINE Seed Sans";
  src: url("font/LLINESeedSans_W_Th.woff2") format("woff2"), url("font/LINESeedSans_W_Th.woff") format("woff");
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: "LINE Seed Sans";
  src: url("font/LINESeedSans_W_XBd.woff2") format("woff"), url("font/LINESeedSans_W_XBd.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
/* LINE Seed Sans */
@font-face {
  font-family: "LINE Seed JP";
  src: url("font/LINESeedJP_OTF_Bd.woff2") format("woff"), url("font/LINESeedJP_OTF_Bd.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("font/LINESeedJP_OTF_Eb.woff2") format("woff"), url("font/LINESeedJP_OTF_Eb.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("font/LINESeedJP_OTF_Rg.woff2") format("woff"), url("font/LINESeedJP_OTF_Rg.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "LINE Seed JP";
  src: url("font/LINESeedJP_OTF_Th.woff2") format("woff"), url("font/LINESeedJP_OTF_Th.woff") format("woff");
  font-weight: 100;
  font-style: normal;
}
.mBottom_15 {
  margin-bottom: 15px;
}

.mBottom_30 {
  margin-bottom: 30px;
}

body {
  font-family: "LINE Seed JP", "LINE Seed Sans", "Lucida Grande", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

img {
  max-width: 100%;
  height: auto;
}

.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 450px) {
  .container {
    padding: 0 2px;
  }
}

@media screen and (min-width: 751px) {
  .sp {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  .pc {
    display: none;
  }
}

.target_hidden {
  display: none;
}

/* header */
header {
  position: fixed;
  width: 100%;
  z-index: 100;
}
@media screen and (min-width: 751px) {
  header {
    background: #e6ebee;
    height: 90px;
  }
}

.header {
  margin-top: 15px;
  display: flex;
  justify-content: flex-end;
}
@media screen and (min-width: 751px) {
  .header {
    height: 75px;
    margin-top: 0;
    padding-top: 7.5px;
    padding-top: 20px;
    position: relative;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
  }
}

.header_sns {
  display: none;
}
@media screen and (min-width: 751px) {
  .header_sns {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 751px) {
  .header_sns .icon:not(:first-of-type) {
    margin-left: min(10px, 0.7vw);
  }
}
@media screen and (min-width: 751px) {
  .header_sns .icon .icon_sns {
    width: clamp(40px, 4vw, 61px);
  }
}
@media screen and (min-width: 751px) {
  .header_sns .icon .icon_tel {
    height: clamp(30px, 2.8vw, 42px);
  }
}
@media screen and (min-width: 751px) {
  .header_sns .tel {
    font-size: clamp(1.5rem, 0.625rem + 1.87vw, 2.375rem);
    font-weight: 800;
    color: #319DC5;
  }
}

@media screen and (min-width: 751px) {
  .header_menu {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 751px) {
  .header_menu .icon:not(:first-of-type) {
    margin-left: min(30px, 2vw);
  }
}
.header_menu .icon .icon_flyer {
  display: none;
}
@media screen and (min-width: 751px) {
  .header_menu .icon .icon_flyer {
    display: inline-block;
    width: clamp(50px, 5.2vw, 78px);
  }
}
.header_menu .icon .icon_menu {
  width: clamp(40px, 8.5vw, 64px);
  height: clamp(40px, 8.5vw, 64px);
  margin-right: 15px;
  display: inline-block;
  background-image: url(../img/common/menu1.png);
  background-size: cover;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .header_menu .icon .icon_menu {
    width: clamp(45px, 3.7vw, 55px);
    height: clamp(45px, 3.7vw, 55px);
    background-image: url(../img/common/menu.png);
  }
}

.header_logo {
  display: none;
}
@media screen and (min-width: 751px) {
  .header_logo {
    width: 75px;
    width: clamp(70px, 5vw, 75px);
    display: inline-block;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
  }
}

/* sp用モーダルウィンドウ */
.menu_sp {
  height: 100vh;
  max-height: 1400px;
  width: 100%;
  padding: 40px 0 80px;
  background: #e6ebee;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  justify-items: center;
  position: absolute;
  top: 0;
  right: 0;
  transition: transform 0.7s;
  z-index: 500;
}
.menu_sp .menu_list {
  width: clamp(230px, 72vw, 350px);
  margin: 0 auto 50px;
  font-size: 31px;
  font-size: clamp(1.25rem, 1.064rem + 0.93vw, 1.938rem);
}
.menu_sp .menu_list .menuList_item {
  width: 100%;
  border-bottom: solid #ffffff 2px;
  padding-bottom: 15px;
  padding-bottom: clamp(15px, 4.2vw, 25px);
}
.menu_sp .menu_list .menuList_item:not(:first-of-type) {
  margin-top: 10px;
}
.menu_sp .logo_in {
  color: #319DC5;
  font-size: 34px;
  margin-bottom: 20px;
}
.menu_sp .logo {
  height: 80px;
}
.menu_sp .close {
  margin: 10px;
  width: clamp(40px, 8.5vw, 50px);
  height: clamp(40px, 8.5vw, 50px);
  display: inline-block;
  background-image: url(../img/common/close.png);
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
}

.menu_sp.hidden {
  opacity: 1;
  transform: translate(10000px, 0);
  transition: transform 2s;
}

.IsScrollAllowed {
  /* モーダルウィンドウを表示させた時に背景スクロールさせないように */
  overflow: hidden;
}

/* ここまでsp用モーダルウィンドウ */