@charset "utf-8";
/* CSS Document */
html {
  scroll-behavior: smooth;
}
body {
  font-family: 'Shippori Mincho', serif;
  color: #333333;
  line-height: 1.5;
}
img {
  width: 100%;
  height: auto;
}
.img_sp {
  display: none;
}
.img_pc {
  display: block;
}
.only_sp {
  display: none;
}
.only_ssp {
  display: none;
}
/*フォント*/
.tx_up {
  text-transform: uppercase;
}
.F_c {
  font-family: 'Cinzel', serif;
  text-transform: capitalize;
}
.F_C {
  font-family: 'Cinzel', serif;
  text-transform: uppercase;
}
.F_j {
  font-family: "Jost", sans-serif;
  text-transform: capitalize;
}
.F_J {
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
}
:root {
  --80px: clamp(60px, 4.1vw, 80px);
  --60px: clamp(40px, 3.4vw, 60px);
  --50px: clamp(35px, 2.6vw, 50px);
  --40px: clamp(28px, 2.0vw, 40px);
  --35px: clamp(24px, 1.8vw, 35px);
  --30px: clamp(20px, 1.6vw, 30px);
  --27px: clamp(18px, 1.4vw, 27px);
  --25px: clamp(17px, 1.3vw, 25px);
  --23px: clamp(16px, 1.2vw, 23px);
  --20px: clamp(15px, 1.0vw, 20px);
  --18px: clamp(14px, 0.9vw, 18px);
  --16pxL: clamp(13px, 0.8vw, 16px);
  --16px: clamp(12px, 0.7vw, 16px);
}
.fs20px {
  font-size: var(--20px);
}
.fs23px {
  font-size: var(--23px);
}
.caption {
  font-size: 10px;
  text-align: end;
}
.captionL {
  font-size: 10px;
}
.container80 {
  max-width: 1450px;
  width: 70%;
  margin: 5vh auto;
}
.container80_nm {
  max-width: 1450px;
  width: 70%;
  margin: 5vh auto;
}
.container65_nm {
  max-width: 1450px;
  width: 65%;
  margin: 5vh auto;
}
.tx_alC {
  text-align: center;
}
.mb_12vh {
  margin-bottom: 12vh;
}
.mb_6vh {
  margin-bottom: 6vh;
}
/*グリッドボックス*/
.grid01 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
/*----ヘッダー--------------------



----------------------------------*/
.H_container {
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 1000;
}
.nav_box {
  background-color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.0em;
  gap: 2.0em;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.header_bar {
  display: flex;
  justify-content: flex-start;
  gap: 1.5em;
  align-items: center;
}
.top_logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
header p {
  font-size: clamp(10px, 1.2vw, 16px);
  line-height: 1.2em;
}
.drawer_hidden {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
#menu_btn_check {
  margin: 0;
  padding: 0;
}
/* ナビを固定で表示 */
.menu_content {}
/*ナビを横に並べる*/
.nav_list {
  font-family: "Jost", sans-serif;
  font-size: clamp(14px, 0.4vw + 11px, 16px);
  font-weight: 700;
  display: flex;
  justify-content: flex-end;
  gap: 1.2em;
  white-space: nowrap;
}
/*他項目*/
.nav_item {
  text-align: center;
}
.link:link:hover, .link:visited:hover {
  color: #8f5c5e;
}
.nav_item_underline {
  padding-bottom: 5px;
  position: relative;
}
.nav_item_underline::before {
  background-color: #8f5c5e;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: center top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.nav_item_underline:hover::before {
  transform: scale(1, 1);
}
/*==============ここまでヘッダー=================*/
.mv_container {
  position: relative;
}
.mv_container h2 {
  position: absolute;
	opacity:0;
  bottom: 40%;
  right: 15vw;
  line-height: 1.8em;
  font-size: clamp(18px, 0.9vw + 11px, 27px);
  animation:  logoFadeIn 3.5s ease forwards;
}
@keyframes logoFadeIn {
  to {
    opacity: 1;
  }
}
.mv_lead {
  font-size: clamp(14px, 0.4vw + 11px, 16px);
  text-align: center;
  padding: 9.0em 0;
  line-height: 1.8em;
}
/*=========フッターエントリーボタンなど==============*/
.entry {
  margin-bottom: 10vh;
}
.entry_txt {
  font-size: clamp(18px, 0.9vw + 11px, 27px);
  font-weight: bold;
  color: #e6265f;
  text-align: center;
  margin-bottom: 1.0em;
}
.entry_BTN {
  text-align: center;
  margin-bottom: 1.5em;
}
.entry_btn {
  font-size: clamp(14px, 0.4vw + 11px, 16px);
  color: #ffffff;
  display: inline-block;
  padding: 0.3em 5.0em;
  background-color: #e6265f;
  border: solid 1px #e6265f;
  transition: background-color 0.3s; /* ホバー時の変化を滑らかに */
	letter-spacing: 0.1em;
}
.entry_btn:hover {
  background-color: #ffffff;
  color: #e6265f;
}
.entry_caption {
  font-size: clamp(10px, 0.5vw + 7px, 14px);
  text-align: center;
}
.entry_caption p {
  text-align: left;
  line-height: 2.0em;
  display: inline-block;
  margin-bottom: 5.0em;
}
.inquiry_sec {
  display: flex;
  gap: 12vw;
  justify-content: center;
  padding: 4vh 20vw;
  border-top: solid 1px #333333;
  border-bottom: solid 1px #333333;
  margin-bottom: 5.0em;
}
.request_sec {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.request_btn {
  position: relative;
  font-size: clamp(16px, 0.8vw + 10px, 20px);
  color: #666464;
  line-height: 1.0em;
}
.sec_border {
  position: relative;
}
.sec_border::before {
  content: "";
  width: 1px;
  height: 2.5em;
  background-color: #333333;
  position: absolute;
  top: -0.25em;
  left: -6vw;
}
.request_txt {
  font-size: clamp(18px, 0.9vw + 11px, 27px);
  color: #e6265f;
  font-weight: 700;
  letter-spacing: 0.2em;
}
.request_inner {
  opacity: 1;
  cursor: pointer;
  /* アニメーションの速度設定 */
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.request_inner:hover {
  opacity: 0.5;
  transform: translateY(3px)
}
/*請求ボタン*/
#Button_1 span, #Button_2 span {
  writing-mode: horizontal-tb;
  font-size: var(--16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.8);
  padding-bottom: 0.2em;
  margin-bottom: 0.6em;
}
#Button_1, #Button_2 {
  writing-mode: vertical-rl;
  position: fixed;
  top: 17vh;
  right: 0px;
  font-size: var(--20px);
  letter-spacing: 0.12rem;
  color: rgb(255 255 255/0.8);
  background-image: linear-gradient(90deg, rgba(235, 112, 162, 1) 0%, rgba(210, 16, 26, 0.26) 68%, rgba(222, 68, 22, 0) 100%);
  padding: 0.5em 0.3em;
  box-shadow: -1px -1px 0 #ffffff;
  transition: .3s;
  z-index: 500;
}
#Button_2 {
  top: calc(15vh + 9em);
}
#Button_1:hover, #Button_2:hover {
  color: #ffffff;
  background-image: linear-gradient(270deg, rgba(255, 214, 218, 0.8) 0%, rgba(252, 162, 162, 0.54) 40%, rgba(255, 214, 218, 0.8) 100%);
  text-shadow: 0 0 10px #ffffff;
}
/*===========トップへ戻る========*/
#page-top {
  position: fixed;
  bottom: 110px;
  right: 1vw;
  width: 55px;
  height: 55px;
  background-color: rgba(230, 38, 95, 1);
  border-radius: 50%;
  opacity: 0.5;
  z-index: 100;
  cursor: pointer;
  /* アニメーションの速度設定 */
  transition: transform 0.3s ease;
}
#page-top a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
#page-top::before {
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: translate(-50%, -50%) rotate(-45deg);
  content: "";
  top: 50%;
  left: 50%;
}
#page-top:hover {
  background-color: rgba(230, 38, 95, 1);
  opacity: 1;
  transform: translateY(-3px)
}


/*=========レスポンシブ=====================



=======SP対応・ブレイクポイント768px=========*/

@media (max-width: 768px) {
  .container80 {
  max-width: 1450px;
  width: 80%;
  margin: 5vh auto;
}
.container80_nm {
  max-width: 1450px;
  width: 80%;
  margin: 5vh auto;
}
  .only_sp {
    display: inline;
  }
  .only_ssp {
    display: none;
  }
  .only_sp {
    display: inline;
  }
  .img_sp {
    display: inline-block;
  }
  .img_pc {
    display: none;
  }
  /*フォントサイズ*/ :root {
    --80px: clamp(60px, 10.4vw, 80px);
    --40px: clamp(30px, 5.2vw, 40px);
    --35px: clamp(23px, 4.6vw, 35px);
    --30px: clamp(20px, 3.9vw, 30px);
    --27px: clamp(18px, 3.5vw, 27px);
    --23px: clamp(16px, 2.9vw, 23px);
    --20px: clamp(16px, 2.6vw, 20px);
    --18px: clamp(15px, 2.3vw, 18px);
    --16pxL: clamp(14px, 2.2vw, 16px);
    --16px: clamp(12px, 2.1vw, 16px);
  }
  /*ーーーーーーーーーー

ハンバーガーメニュー

ーーーーーーーーーーー*/
  .nav_list {
    display: block; /*ナビを縦に並べる*/
    width: 100vw;
    background-color: none;
    margin: 0;
  }
      .menu_btn {
        position: fixed;
        border-radius: 0 0 0 30px;
        top: 15px;
        right: 13px;
        display: flex;
        height: 55px;
        width: 55px;
        justify-content: center;
        align-items: center;
        z-index: 1000;
	}
  /* メニュー開いたらMENU文字を消す */
  #menu_btn_check:checked ~ .menu_btn::after {
    content: none;
  }
  #menu_btn_check:checked ~ .menu_btn {
    filter: none;
  }
  .menu_btn span, .menu_btn span:before, .menu_btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #533d3e;
    position: absolute;
  }
  .menu_btn span:before {
    bottom: 8px;
  }
  .menu_btn span:after {
    top: 8px;
  }
  #menu_btn_check:checked ~ .menu_btn span {
    background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
  }
  #menu_btn_check:checked ~ .menu_btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    background-color: #ffffff;
  }
  #menu_btn_check:checked ~ .menu_btn span {
    background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
  }
  #menu_btn_check:checked ~ .menu_btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    background-color: #ffffff;
  }
  #menu_btn_check:checked ~ .menu_btn span::after {
    top: 0;
    transform: rotate(-45deg);
    background-color: #ffffff;
  }
  :checked ~ .menu_btn span::after {
    top: 0;
    transform: rotate(-45deg);
    background-color: #ffffff;
  }
  #menu_btn_check {
    display: none;
  }
  .menu_content ul {
    padding: 10vh 10vw;
    margin-bottom: 5.0em;
  }
  .menu_content ul li {
    list-style: none;
  }
  .menu_content ul li a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding-top: 15px;
    text-align: center;
    position: relative;
    color: #ffffff;
  }
  /*×でメニューをを外へ出す*/
  .menu_content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%; /*leftの値を変更してメニューを画面外へ*/
    z-index: 900;
    transition: all 0.5s; /*アニメーション設定*/
    background-image: none;
    background-color: rgba(198, 165, 167, 0.9);
  }
  #menu_btn_check:checked ~ .menu_content {
    left: 0; /*メニューを画面内へ*/
  }
  .link {
    display: inline-block;
    margin-bottom: 5.0em;
  }
  .link:link:hover, .link:visited:hover {
    color: #8f5c5e;
  }
  .nav_item_underline::before {
    background-color: #8f5c5e;
    bottom: 0em;
    width: 50%;
    position: absolute;
    left: 25%;
  }
  .nav_box {
  padding: 1.2em 2.0em;
}
  .menu_header {
    display: block;
    text-align: center;
  }
  .menu_header img {
    width: 210px;
  }
  .shop_name {
    color: #ffffff;
    margin-top: 10px;
    font-size: 12px;
    letter-spacing: 0.1em;
  }
  #menu_btn_check ~ .menu_content .menu_header {
    opacity: 1;
    transform: translateY(-22vh);
  }
  .header_bar {
    display: flex;
    gap: 0.5em;
    align-items: start;
    flex-direction: column;
  }
  .header_bar img {
    width: 180px;
  }
  header .headtx {
    text-align: center;
    font-size: 4.2rem;
    color: #ffffff;
    background-color: #001144;
    padding: 2.0rem 0;
    border-top: 7px solid;
    border-bottom: 7px solid;
    border-image: linear-gradient(to right, #ba7802, #f5d06f, #ba7802);
    border-image-slice: 1;
    margin-bottom: 5vh;
    margin-top: -0.5rem;
  }
	.mv_lead {
    font-size: clamp(14px, 0.4vw + 11px, 16px);
    text-align: center;
    padding: 3em 0;
    line-height: 2.4em;
  /*資料請求*/
  /*#Button_1,#Button_2{

  top: 10vh;

}

#Button_2 {

  top: calc(8vh + 9em);

}*/
  #Button_1, #Button_2 {
    display: none;
  }
  /*topへ戻るボタン*/
  #page-top {
    width: 56px;
    height: 56px;
    right: 16px;
    bottom: 60px;
  }
/*  .mv_container h2 {
    position: absolute;
    bottom: 36%;
    right: 6%;
    font-weight: bold;
    font-size: clamp(13px, 2.4vw, 18px);
  }*/
  .Entry {
    font-size: var(--16px);
  }

@media (max-width: 568px) {
  .only_sp {
    display: inline;
  }
  .only_ssp {
    display: inline;
  }
  .container80 {
  max-width: 1450px;
  width: 85%;
  margin: 5vh auto;
}
.container80_nm {
  max-width: 1450px;
  width: 85%;
  margin: 5vh auto;
}
  .request_txt {
    font-size: 16px;
    margin-bottom: 0.8em;
  }
  .request_btn {
    font-size: 14px;
  }
  .jdeco_flex {
    display: flex;
    flex-direction: column;
  }
  .detail {
    text-indent: 0.5em;
    font-weight: bold;
    font-size: var(--16px);
  }
  .entry_caption p {
    text-align: left;
    line-height: 2.0em;
    display: inline-block;
    padding: 0 5%;
  }
  header p {
    font-size: 10px;
  }
}