@charset "UTF-8";
.noto-sans {
  font-family: "Noto Sans JP", sans-serif !important;
  font-optical-sizing: auto;
  font-style: normal;
}

.poppins {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.oswald {
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/*ディスプレイ初期値設定*/
/*以下、サイト固有の設定*/
/*サイト共通の間隔*/
/*英語用font読み込み指定*/
/*
@font-face {
	font-family: 'General Sans';
	src: url("../font/GeneralSans-Regular.otf") format("otf");
    font-weight: normal;
    font-style: normal;
}
@font-face {
	font-family: 'General Sans';
	src: url("../font/GeneralSans-Semibold.otf") format("otf");
    font-weight: bold;
    font-style: normal;
}
*/
/*
Theme Name: template1.01
Description: template1.01　全ページカスタマイズテーマです。
*/
/* ------------ */
/* デザイン共通 */
/* ------------ */
* {
  /*	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;*/
}

@media screen and (max-width: 1024px) {
  .pc_on {
    display: none !important;
  }
  .sp_on {
    display: block !important;
  }
}
@media print, screen and (min-width: 1025px) {
  .pc_on {
    display: block !important;
  }
  .sp_on {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (min-width: 1024px) {
  .tb_none {
    display: none !important;
  }
  .tb_disp {
    display: block !important;
  }
}
/* ------ */
/* コンテンツ装飾 */
/* ------ */
.f90 {
  font-size: clamp(50px, 1.989rem + 4.85vw, 90px);
  line-height: 1;
}

.f50 {
  font-size: clamp(34px, 1.67rem + 1.94vw, 50px);
  line-height: 1;
}

.f46 {
  font-size: clamp(32px, 1.602rem + 1.7vw, 46px);
  line-height: 1;
}

.f42 {
  font-size: clamp(30px, 1.534rem + 1.45vw, 42px);
  line-height: 1;
}

.f40 {
  font-size: clamp(25px, 1.136rem + 1.82vw, 40px);
  line-height: 1;
}

.f38 {
  font-size: clamp(25px, 1.466rem + 1.21vw, 38px);
}

.f36 {
  font-size: clamp(20px, 1.341rem + 1.21vw, 36px);
}

.f32 {
  font-size: clamp(20px, 0.909rem + 1.45vw, 32px);
}

.f30 {
  font-size: clamp(18px, 1.33rem + 0.73vw, 30px);
}

.f28 {
  font-size: clamp(18px, 1.205rem + 0.73vw, 28px);
}

.f26 {
  font-size: clamp(16px, 0.716rem + 1.21vw, 26px);
}

.f24 {
  font-size: clamp(17px, 0.864rem + 0.85vw, 24px);
}

.f22 {
  font-size: clamp(16px, 0.83rem + 0.73vw, 22px);
}

.f20 {
  font-size: clamp(16px, 0.886rem + 0.48vw, 20px);
}

.f18 {
  font-size: clamp(14px, 0.761rem + 0.48vw, 18px);
}

.f17 {
  font-size: clamp(13px, 0.699rem + 0.48vw, 17px);
}

.f16 {
  font-size: clamp(13px, 0.727rem + 0.36vw, 16px);
}

.f15 {
  font-size: clamp(13px, 0.756rem + 0.24vw, 15px);
}

.f14 {
  font-size: clamp(12px, 0.693rem + 0.24vw, 14px);
}

.f13 {
  font-size: clamp(11px, 0.631rem + 0.24vw, 13px);
}

.txt_lh02 {
  line-height: 2;
}

.txt_lh014 {
  line-height: 1.4;
}

.bg_sc_color {
  background-color: #FFF8FB;
}

.txt_or01 {
  color: #DF001C;
}

.txt_red01 {
  color: #D10F28;
}

.txt_wt01 {
  color: #fff;
}

.mail_ttl01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.mail_ttl01 .en {
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  font-size: clamp(13.5px, 0.773rem + 0.3vw, 16px);
}
.mail_ttl01 .en .num {
  font-size: clamp(16px, 0.83rem + 0.73vw, 22px);
}
.mail_ttl01 .en .num:after {
  content: "|";
  display: inline-block;
  padding-left: 12.5px;
  margin-right: 12.5px;
  font-weight: 300;
}
.mail_ttl01 .jp {
  font-size: clamp(16px, 0.886rem + 0.48vw, 20px);
}

.bg_fff {
  background-color: #fff;
}

.bg_f3f7f8 {
  background-color: #f3f7f8;
}

.bg_fixed {
  position: relative;
  /*min-height: 100vh;*/
  height: 100%;
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
  /*min-height: 100vh;*/
}
@media (max-width: 1020px) and (min-width: 768px) {
  .bg_fixed {
    min-height: inherit;
    background-attachment: local;
    /*padding: 100px 0;*/
    height: auto;
    background-size: cover;
    background-position: 57% bottom;
    padding: 0;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .bg_fixed {
    min-height: inherit;
    background-attachment: scroll;
    /*padding: 100px 0;*/
    height: auto;
  }
}

/* ------ */
/* ボタン（BTN） */
/* ------ */
.bnr_flex li a {
  position: relative;
}
.bnr_flex li a:hover figure img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
}
.bnr_flex li a figure {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 10px;
  aspect-ratio: 3/2;
}
.bnr_flex li a figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 0;
}

.h_btn01 {
  position: relative;
  background-color: #47472e;
  color: #fff;
  border-radius: 100px;
  display: block;
  margin: auto 5px;
  padding: 5px 15px;
  font-weight: bold;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 150px;
  height: 30px;
}
.h_btn01 a {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  line-height: 1.5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 14px;
}
.h_btn01:hover {
  opacity: 1;
  background-color: #f6ac00;
}
@media (max-width: 1024px) {
  .h_btn01 {
    display: none;
  }
}
.h_btn01.recruit_btn {
  background-color: #F89246;
}
.h_btn01.contact_btn {
  background-color: #00173a;
}

.h_btn02 {
  position: relative;
  background-color: #00B7BD;
  color: #fff;
  border-radius: 6px;
  display: block;
  margin: auto 5px;
  padding: 5px 15px;
  font-weight: bold;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  height: 50px;
}
.h_btn02 span {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  line-height: 1.5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: 14px;
}
.h_btn02:hover {
  opacity: 1;
  background-color: #f6ac00;
}
@media (max-width: 1024px) {
  .h_btn02 {
    display: none;
  }
}
.h_btn02.recruit_btn {
  background-color: #F89246;
}
.h_btn02.contact_btn {
  background-color: #00173a;
}

.tel_btn {
  text-align: center;
}
.tel_btn a {
  font-size: 32px;
  font-weight: bold;
  font-family: "Poppins", sans-serif;
}
.tel_btn p {
  font-size: 13px;
}

/******************************/
/* #アンカーリンク */
/******************************/
a.anchor {
  /* ヘッダー高さ+少し余白 */
  /*display: block;
  padding-top: 100px;
  margin-top: -100px;*/
  display: block;
  position: relative;
  top: -100px;
  visibility: hidden;
}

/* ------ */
/* テキストリンク（text-link） */
/* ------ */
/* ------ */
/* 表 */
/* ------ */
/* ------ */
/* レイアウト */
/* ------ */
/* アンカーーメニュー */
/* --- */
.unkmenu {
  max-width: 1000px;
  margin: 0 auto 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
}
@media (max-width: 1024px) {
  .unkmenu {
    padding: 0 5%;
  }
}
@media (max-width: 767px) {
  .unkmenu {
    display: block;
  }
}
@media (max-width: 1024px) {
  .unkmenu.cul4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.unkmenu.cul4 li {
  width: calc(25% - 15px);
}
@media (max-width: 1024px) {
  .unkmenu.cul4 li {
    width: calc(50% - 10px);
  }
}
.unkmenu li {
  width: calc(33.3333333333% - 15px);
}
@media (max-width: 767px) {
  .unkmenu li {
    width: 100%;
    margin-bottom: 5px;
  }
  .unkmenu li:last-child {
    margin-bottom: 0;
  }
}
.unkmenu li a {
  position: relative;
  display: block;
  font-size: 16px;
  font-weight: bold;
  padding: 20px 20px 20px;
  background-color: #F89246;
  color: #0C0C0C;
  border-radius: 10px;
}
.unkmenu li a:before {
  content: "\f358";
  font-family: "Font Awesome 6 Free";
  position: absolute;
  margin: 0 auto;
  right: 15px;
  font-weight: bold;
  color: #0C0C0C;
}
.unkmenu li a:hover {
  background-color: #eea56d;
}

/*******************/
/*　FAQ レイアウト　　　　*/
/*******************/
/*******************/
/*　テキスト関連　　　　*/
/*******************/
/*最大2行まで*/
.limit_text_2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.6;
}

.limit_text_1 {
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-height: 1.6;
}

/*******************/
/*　SINGLE　　　　*/
/*******************/
.single_price .price_txt {
  font-size: 24px;
  font-weight: 500;
  color: #cf2020;
}
@media (max-width: 767px) {
  .single_price .price_txt {
    font-size: 18px;
  }
}

/*******************/
/*　テーブル　　　　*/
/*******************/
/*******************/
/*　テーブル(DL)　　　　*/
/*******************/
/***************/
/*******************/
/*　アコーディオン　　　　*/
/*******************/
/*******************/
/*　text　　　*/
/*******************/
.text_infoarea {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .text_infoarea {
    padding: 0 30px;
  }
}

/*******************/
/*　リスト　　　*/
/*******************/
/* ------ */
/* SNS ICON */
/* ------ */
ul.links_sns {
  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;
  margin-left: 15px;
}
ul.links_sns li {
  margin-right: 7.2px;
}
ul.links_sns li:last-child {
  margin-right: 0;
}
ul.links_sns li a {
  font-weight: 400;
}
ul.links_sns li a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
ul.links_sns li a::before {
  display: block;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
}
ul.links_sns li a.text_link_run {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
ul.links_sns li a.text_link_run::before {
  margin-right: 5px;
}
ul.links_sns li a.map_icon::before {
  background-image: url(../images/icon/map_icon.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.line_icon::before {
  background-image: url(../images/icon/sns/line.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.ig_icon::before {
  background-image: url(../images/icon/sns/insta.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.fb_icon::before {
  background-image: url(../images/icon/sns/fb.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.tw_icon::before {
  background-image: url(../images/icon/sns/x_icon.svg);
  width: 26px;
  height: 26px;
}
ul.links_sns li a.youtube_icon::before {
  background-image: url(../images/icon/sns/youtube.svg);
  width: 26px;
  height: 26px;
}

/* ---- */
/* main */
/* ---- */
@media print, screen and (min-width: 1025px) {
  main {
    position: relative;
  }
}
@media print, screen and (max-width: 1024px) {
  #wrapper {
    width: 100%;
    position: relative;
  }
}
/* ---- */
/* 会社概要area */
/* ---- */
/* ---- */
/* 製品案内area */
/* ---- */
/* ---- */
/* 会社案内共通 */
/* ---- */
/* ---- */
/* ギャラリーarea */
/* ---- */
/***************************/
/* ---- */
/* ご利用案内area */
/* ---- */
/* ---- */
/* add_area */
/* ---- */
/* ------ */
/* Mail form */
/* ------ */
/* ---------- */
/* #Copyright */
/* ---------- */
/* -------- */
/* #page_top */
/* -------- */
/* BTN */
/* TEXT-LINK */
/* ------ */
/* アニメーション */
/* ------ */
/* アニメーション */
/* ------ */
/**
<div class="js-scroll-fall smooth_left">
文字が滑らかに表示される
</div>
**/
.smooth_left {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  /*font-size: 36px;*/
  /*font-weight: bold;*/
  -webkit-transition: 0.75s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.75s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: clip-path;
  transition-property: clip-path;
  /*line-height: 1;
   height: 40px;
   margin-top: 15px;*/
}
@media (max-width: 767px) {
  .smooth_left {
    -webkit-transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
    transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  }
}
.smooth_left.delay {
  -webkit-transition: 1s 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1s 1s cubic-bezier(0.37, 0, 0.63, 1);
}

.smooth_left.is-animated {
  clip-path: inset(0);
}

.smooth_right {
  clip-path: inset(0 0 0 100%);
  display: inline-block;
  /*font-size: 36px;*/
  /*font-weight: bold;*/
  -webkit-transition: 0.75s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.75s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: clip-path;
  transition-property: clip-path;
  /*line-height: 1;
   height: 40px;
   margin-top: 15px;*/
}
@media (max-width: 767px) {
  .smooth_right {
    -webkit-transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
    transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  }
}
.smooth_right.delay {
  -webkit-transition: 1s 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1s 1s cubic-bezier(0.37, 0, 0.63, 1);
}

.smooth_right.is-animated {
  clip-path: inset(0);
}

/*　animation: fadeleft 0.5s;*/
/* animation-fill-mode: forwards; */
/* ------ */
/*******************************
/* SWIPER ZOOM
*******************************/
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
@-webkit-keyframes fadeleft {
  0% {
    opacity: 0;
    left: -70px;
  }
  85% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
@keyframes fadeleft {
  0% {
    opacity: 0;
    left: -70px;
  }
  85% {
    opacity: 0.4;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
@media (max-width: 767px) {
  @-webkit-keyframes fadeleft {
    0% {
      opacity: 0;
      top: -70px;
    }
    85% {
      opacity: 0.4;
    }
    100% {
      opacity: 1;
      top: 0;
    }
  }
  @keyframes fadeleft {
    0% {
      opacity: 0;
      top: -70px;
    }
    85% {
      opacity: 0.4;
    }
    100% {
      opacity: 1;
      top: 0;
    }
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes fadeup {
  0% {
    opacity: 0;
    -webkit-transform: translateY(60px);
            transform: translateY(60px);
  }
  30% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
/******************************/
/* おしらせ */
/******************************/
/******************************/
/* サムネイル一覧 */
/******************************/
#main_visual01 {
  width: 100%;
  overflow: hidden;
  height: calc(100vh - 143px);
  position: relative;
  background-image: url(../images/mv/mv_pc.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
@media (max-width: 1280px) {
  #main_visual01 {
    background-image: url(../images/mv/mv_sp.jpg);
    height: auto;
    padding-top: 170rem;
  }
}
@media (max-width: 1024px) {
  #main_visual01 {
    height: 170vh;
    padding-top: 0;
  }
}
@media (max-width: 767px) {
  #main_visual01 {
    height: 100vh;
    padding-top: 0;
  }
}
#main_visual01 img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#main_visual01 img.border10 {
  border-radius: 10px;
}
#main_visual01 img.border06 {
  border-radius: 6px;
}
#main_visual01 img.border20 {
  border-radius: 20px;
}
#main_visual01 .mv_box {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 5%;
  width: 50%;
}
@media (max-width: 1280px) {
  #main_visual01 .mv_box {
    top: auto;
    bottom: 5%;
    width: 90%;
    right: auto;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
/*# sourceMappingURL=css_map/style.css.map */
