@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: url("/user_data/font/NotoSansJP-DemiLight.woff2") format("woff2"), url("/user_data/font/NotoSansJP-DemiLight.woff") format("woff"), url("/user_data/font/NotoSansJP-DemiLight.otf") format("opentype"); }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("/user_data/font/NotoSansJP-Regular.woff2") format("woff2"), url("/user_data/font/NotoSansJP-Regular.woff") format("woff"), url("/user_data/font/NotoSansJP-Regular.otf") format("opentype"); }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("/user_data/font/NotoSansJP-Medium.woff2") format("woff2"), url("/user_data/font/NotoSansJP-Medium.woff") format("woff"), url("/user_data/font/NotoSansJP-Medium.otf") format("opentype"); }
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  src: url("/user_data/font/NotoSansJP-Bold.woff2") format("woff2"), url("/user_data/font/NotoSansJP-Bold.woff") format("woff"), url("/user_data/font/NotoSansJP-Bold.otf") format("opentype"); }
/* =================================
ヘッダー&フッター リセット
================================= */
.header div, .header span, .header applet, .header object, .header iframe,
.header h1, .header h2, .header h3, .header h4, .header h5, .header h6, .header p, .header blockquote, .header pre,
.header a, .header abbr, .header acronym, .header address, .header big, .header cite, .header code,
.header del, .header dfn, .header em, .header img, .header ins, .header kbd, .header q, .header s, .header samp,
.header small, .header strike, .header strong, .header sub, .header sup, .header tt, .header var,
.header b, .header u, .header i, .header center,
.header dl, .header dt, .header dd, .header ol, .header ul, .header li,
.header fieldset, .header form, .header label, .header legend,
.header table, .header caption, .header tbody, .header tfoot, .header thead, .header tr, .header th, .header td,
.header article, .header aside, .header canvas, .header details, .header embed,
.header figure, .header figcaption, .header footer, .header header, .header hgroup,
.header main, .header menu, .header nav, .header output, .header ruby, .header section, .header summary,
.header time, .header mark, .header audio, .header video, .footer div, .footer span, .footer applet, .footer object, .footer iframe,
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6, .footer p, .footer blockquote, .footer pre,
.footer a, .footer abbr, .footer acronym, .footer address, .footer big, .footer cite, .footer code,
.footer del, .footer dfn, .footer em, .footer img, .footer ins, .footer kbd, .footer q, .footer s, .footer samp,
.footer small, .footer strike, .footer strong, .footer sub, .footer sup, .footer tt, .footer var,
.footer b, .footer u, .footer i, .footer center,
.footer dl, .footer dt, .footer dd, .footer ol, .footer ul, .footer li,
.footer fieldset, .footer form, .footer label, .footer legend,
.footer table, .footer caption, .footer tbody, .footer tfoot, .footer thead, .footer tr, .footer th, .footer td,
.footer article, .footer aside, .footer canvas, .footer details, .footer embed,
.footer figure, .footer figcaption, .footer footer, .footer header, .footer hgroup,
.footer main, .footer menu, .footer nav, .footer output, .footer ruby, .footer section, .footer summary,
.footer time, .footer mark, .footer audio, .footer video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box; }
.header article, .header aside, .header details, .header figcaption, .header figure,
.header footer, .header header, .header hgroup, .header main, .header nav, .header section, .footer article, .footer aside, .footer details, .footer figcaption, .footer figure,
.footer footer, .footer header, .footer hgroup, .footer main, .footer nav, .footer section {
  display: block; }
.header ol, .header ul, .footer ol, .footer ul {
  list-style: none; }
.header a, .footer a {
  text-decoration: none;
  color: inherit; }
.header img, .header video, .footer img, .footer video {
  max-width: 100%;
  height: auto;
  display: block; }
.header table, .footer table {
  border-collapse: collapse;
  border-spacing: 0; }
.header button, .header input, .header select, .header textarea, .footer button, .footer input, .footer select, .footer textarea {
  font: inherit;
  background: none;
  border: none;
  outline: none;
  color: inherit;
  box-sizing: border-box; }
.header *, .footer * {
  -webkit-tap-highlight-color: transparent; }

/* =================================
ヘッダー
================================= */
.shadow {
  display: none;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 999; }

.header {
  position: fixed;
  z-index: 9999;
  padding: 0 px-to-rem(55px);
  box-sizing: border-box;
  width: 100%;
  height: px-to-rem(80px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: .5s;
  background: rgba(0, 0, 0, 0.55); }
  .header.hide {
    z-index: -1;
    transform: translateY(-160%); }
  .header h1 {
    width: 100%;
    max-width: 158px; }
  .header .right_area {
    display: flex;
    align-items: center;
    justify-content: flex-end; }
  .header .sp-menu {
    display: none;
    cursor: pointer; }
    .header .sp-menu i {
      width: 32px;
      height: 20px;
      display: block;
      position: relative;
      margin: 0 auto; }
    .header .sp-menu span {
      transition: all 0.3s;
      width: 20px;
      height: 1px;
      background: #fff;
      position: absolute;
      left: 0;
      right: 0;
      margin: auto; }
      .header .sp-menu span.top {
        top: 0; }
      .header .sp-menu span.middle {
        top: 0;
        bottom: 0; }
      .header .sp-menu span.bottom {
        bottom: 0; }
    .header .sp-menu.open .top {
      transform: rotate(-45deg);
      bottom: 0; }
    .header .sp-menu.open .middle {
      background: rgba(255, 255, 255, 0); }
    .header .sp-menu.open .bottom {
      transform: rotate(45deg);
      top: 0; }
  .header ul {
    display: flex;
    justify-content: center;
    column-gap: 45px;
    font-size: 22px;
    font-weight: 400;
    letter-spacing: 0;
    text-align: left; }
    .header ul a {
      color: #fff; }
  .header .sub_ul {
    display: none;
    background: rgba(0, 0, 0, 0.55);
    padding: 15px 25px;
    margin-left: -23px;
    position: absolute;
    top: 80px;
    font-size: 14px; }
    .header .sub_ul li {
      margin-bottom: 10px; }
      .header .sub_ul li:last-of-type {
        margin-bottom: 0; }
  .header .close {
    display: none;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    padding: 12px 0;
    color: #fff;
    margin: 30px auto 0;
    text-align: center;
    border: 1px solid #fff; }
    .header .close:hover {
      opacity: .5;
      transition: all .2s ease-in; }

/*@media screen and (max-width: 768px) {
  .header {
    width: 100%;
    height: px-to-rem(55px);
		padding: 0 px-to-rem(20px);
		background: rgba(0, 0, 0, 0.5);
    h1 {
      max-width: px-to-rem(100px);
    }
    .sp-menu {
			display: inherit;
    }
    .header-sitemap {
			background: rgba(0, 0, 0, 0.5);
			position: fixed;
      top: px-to-rem(55px);
			right: 0;
			z-index: -1;
			padding: px-to-rem(25px) px-to-rem(55px);
			box-sizing: border-box;
			transition: all 0.3s;
			animation: hs-fadeIn 0.5s ease;
			transform: translateX(100%);
			width: 100%;
			max-width: px-to-rem(270px);
			height: 100vh;
      overflow-y: scroll;
			&.open {
				transform: translateX(0);
			}
    }
    .scroll-wrap {
      overflow-y: scroll;
      box-sizing: border-box;
      padding-bottom: px-to-rem(30px);
    }
    ul {
			display: block;
      li {
        margin-bottom: px-to-rem(12px);
      }
    }
		.sub_ul{
			display: block;
			position: static;
			background: 0;
			padding: 0;
			padding-left: 1em;
			margin-top: px-to-rem(5px);
			margin-left: 0;
		}
    .close {
			display: block;
    }
  }
}*/
/* =================================
フッター
================================= */
.footer {
  margin-top: 100px;
  padding-top: 15px;
  position: relative;
  background-color: #e9dfc5;
  z-index: 1;
  color: #030304;
  font: inherit;
  line-height: 1.8;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  letter-spacing: 0;
  text-size-adjust: none; }
  .footer:before {
    content: "";
    position: absolute;
    top: -80px;
    left: 50%;
    z-index: -1;
    transform: translate(-50%, 0);
    width: 120%;
    height: 330px;
    background-color: #e9dfc5;
    border-radius: 50% 50% 0 0; }
  .footer a {
    color: inherit;
    text-decoration: none; }
    .footer a:hover {
      text-decoration: none;
      opacity: .5;
      transition: all .2s ease-in; }
  .footer .inner {
    max-width: 1110px;
    width: 90%;
    margin: 0 auto; }
  .footer strong {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 15px;
    display: block; }
  .footer .box_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 50px;
    margin-bottom: 50px;
    border-bottom: 1px solid #fff; }
    .footer .box_wrap dt, .footer .box_wrap dd {
      line-height: 1.3; }
    .footer .box_wrap dd {
      font-size: 14px;
      margin-bottom: 8px; }
  .footer .order_area {
    margin: 0 auto 105px;
    width: max-content; }
    .footer .order_area strong {
      margin-bottom: 20px; }
    .footer .order_area dl {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      margin-bottom: 8px; }
      .footer .order_area dl:last-of-type {
        margin-bottom: 0; }
    .footer .order_area dt {
      width: 160px;
      display: flex;
      align-items: center;
      justify-content: flex-start; }
    .footer .order_area .ico_wrap {
      width: 41px;
      display: inline-block;
      margin-right: 8px; }
    .footer .order_area em {
      font-size: 14px;
      font-style: inherit;
      color: inherit;
      margin: 0; }
    .footer .order_area .dl_internet .ico_wrap img {
      max-width: 41px; }
    .footer .order_area .dl_internet dd {
      font-size: 16px;
      font-weight: 500; }
    .footer .order_area .dl_tel .ico_wrap {
      text-align: right; }
      .footer .order_area .dl_tel .ico_wrap img {
        max-width: 18px;
        margin-left: auto; }
    .footer .order_area .flex_wrap {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      line-height: 1; }
      .footer .order_area .flex_wrap img {
        max-width: 42px;
        margin-right: 3px; }
      .footer .order_area .flex_wrap span {
        font-size: 36px;
        font-weight: 600; }
    .footer .order_area .txt_sub {
      font-size: 12px; }
  .footer .bnr_area {
    margin-bottom: 25px; }
    .footer .bnr_area p {
      font-size: 16px;
      font-weight: 300;
      text-align: center;
      margin-bottom: 8px; }
    .footer .bnr_area span {
      display: inline-block; }
    .footer .bnr_area ul {
      display: flex;
      align-items: center;
      justify-content: center;
      column-gap: 3%; }
    .footer .bnr_area li {
      border-radius: 8px;
      border-width: 3px;
      border-style: solid;
      width: 29%;
      min-width: 315px;
      background: #fff;
      text-align: center;
      padding: 3px 0;
      box-sizing: border-box; }
    .footer .bnr_area .border_g {
      border-color: #288985; }
    .footer .bnr_area .border_b {
      border-color: #88b02a; }
    .footer .bnr_area img {
      width: auto;
      height: 60px;
      margin: 0 auto; }
  .footer .copy_area {
    padding: 45px 0;
    text-align: center;
    color: #fff;
    font-size: 11px;
    letter-spacing: .1em;
    background: #278682 url("https://left-u-up.com/upload/sodatu_images/hp/common_new/footer_bg.png") repeat-x center bottom/250px; }

@media print, screen and (max-width: 768px) {
  .footer {
    margin-top: 100px;
    padding-top: 0; }
    .footer:before {
      top: -80px;
      width: 200%;
      height: 330px; }
    .footer .box_wrap {
      padding-bottom: 30px;
      margin-bottom: 30px;
      flex-wrap: wrap;
      row-gap: 30px; }
      .footer .box_wrap .box {
        width: 45%; }
    .footer .order_area {
      margin-bottom: 60px; }
      .footer .order_area strong {
        margin-bottom: 15px; }
      .footer .order_area dl {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 12px; }
      .footer .order_area dt {
        width: 100%; }
      .footer .order_area .ico_wrap {
        width: auto; }
      .footer .order_area .flex_wrap span {
        font-size: 30px; }
    .footer .bnr_area {
      margin-bottom: 20px; }
      .footer .bnr_area ul {
        flex-direction: column;
        column-gap: 0;
        grid-row-gap: 15px; }
      .footer .bnr_area li {
        width: 100%;
        max-width: 280px;
        min-width: auto;
        padding: 5px 0; }
      .footer .bnr_area img {
        height: 50px; }
    .footer .copy_area {
      padding: 30px 5%;
      background-size: 180px; } }
