@charset "UTF-8";
/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

/* フォントを遊戯フォント→ヒラギノ→メイテオ */
body {
  -webkit-text-size-adjust: 100%;
  line-height: 1;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  color: #231815; }

b, strong, .bold {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif; }

a.mail { color: #7F4F21; } 

/* IEだけに適応 */
_:lang(x)::-ms-backdrop, .selector {
  font-family: "Segoe UI", Meiryo, sans-serif; }

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

/* smallの色の調整 */
small {
  font-family: Roboto, Arial, Helvetica, Tahoma, Verdana; }

/*box-sizingを全ブラウザに対応*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/*画像を縦に並べた時に余白が出ないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
  font-family: 'object-fit: cover;'; }

/*縦方向の揃え位置を中央揃えに指定しています*/
input, select {
  vertical-align: middle; }

/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none; }

/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

/*テキストに打ち消し線が付くようにしています*/
del {
  text-decoration: line-through; }

/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

/* ----------------------------------------------------------------------
 【テキスト】スクロールして出現するアニメーション
---------------------------------------------------------------------- */
.text_in_07s {
  opacity: 0;
  transition: ease-out .7s;
  transform: translate(0, 50px); }

.text_in_1s {
  opacity: 0;
  transition: ease-out 1s;
  transform: translate(0, 50px); }

.text_in_15s {
  opacity: 0;
  transition: ease-out 1.5s;
  transform: translate(0, 50px); }

.text_in_2s {
  opacity: 0;
  transition: ease-out 2s;
  transform: translate(0, 50px); }

.isAnimate {
  opacity: 1;
  transform: translate(0); }

/* ----------------------------------------------------------------------
【テキスト】サイトが読み込まれてから出現するアニメーション
---------------------------------------------------------------------- */
.fade_up_5s {
  opacity: 0;
  transition: ease-out .5s;
  transform: translate(0, 40px); }

.fade_up_10s {
  opacity: 0;
  transition: ease-out 1s;
  transform: translate(0, 40px); }

.fade_up_15s {
  opacity: 0;
  transition: ease-out 1.5s;
  transform: translate(0, 40px); }

.fade_up_18s {
  opacity: 0;
  transition: ease-out 1.8s;
  transform: translate(0, 40px); }

.fade_up_20s {
  opacity: 0;
  transition: ease-out 2s;
  transform: translate(0, 40px); }

.isAnimate_02 {
  opacity: 1;
  transform: translate(0); }

/* ----------------------------------------------------------------------
  ローディングアニメーション
---------------------------------------------------------------------- */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999; }
  #loading .img {
    width: 200px;
    height: auto; }
  #loading img {
    width: 100%;
    height: auto;
    object-fit: contain;
    font-family: 'object-fit: cover;'; }

.loaded {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1); }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* ----------------------------------------------------------------------
トップに戻るボタン #return_top
---------------------------------------------------------------------- */
#return_top {
  position: fixed;
  right: 0;
  bottom: -100px;
  z-index: 999;
  height: 55px;
  width: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #c9a063;
  color: #fff;
  opacity: .9;
  transition: .5s;
  overflow-y: auto;
  cursor: pointer; }
  @media (max-width: 700px) {
    #return_top {
      height: 50px;
      width: 50px; } }

.return_top_move {
  bottom: 0 !important; }

/* ----------------------------------------------------------------------
.header_main_top .header_main_lower メインヘッダー
---------------------------------------------------------------------- */
.header_main_top,
.header_main_lower {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  padding: 0 40px;
  width: 100%; }
  @media (max-width: 800px) {
    .header_main_top,
    .header_main_lower {
      padding: 0 20px; } }
  @media (max-width: 500px) {
    .header_main_top,
    .header_main_lower {
      padding: 0 10px; } }
  .header_main_top .conts,
  .header_main_lower .conts {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .header_main_top .logo_01,
  .header_main_lower .logo_01 {
    padding: 15px 0;
    display: flex;
    justify-content: center;
    color: #fff; }
    .header_main_top .logo_01 a,
    .header_main_lower .logo_01 a {
      font-size: 30px;
      color: #fff;
      font-weight: bold;
      word-spacing: normal; }
      @media (max-width: 990px) {
        .header_main_top .logo_01 a,
        .header_main_lower .logo_01 a {
          font-size: 25px; } }
    .header_main_top .logo_01 img,
    .header_main_lower .logo_01 img {
      height: 60px;
      width: auto;
      object-fit: contain; }
      @media (max-width: 500px) {
        .header_main_top .logo_01 img,
        .header_main_lower .logo_01 img {
          height: 55px; } }
      @media (max-width: 370px) {
        .header_main_top .logo_01 img,
        .header_main_lower .logo_01 img {
          height: 45px; } }
  .header_main_top .logo_02,
  .header_main_lower .logo_02 {
    padding: 5px 0;
    display: flex;
    justify-content: center;
    color: #fff; }
    @media (max-width: 990px) {
      .header_main_top .logo_02,
      .header_main_lower .logo_02 {
        padding: 7px 0; } }
    .header_main_top .logo_02 a,
    .header_main_lower .logo_02 a {
      font-size: 30px;
      color: #fff;
      font-weight: bold;
      word-spacing: normal; }
      @media (max-width: 990px) {
        .header_main_top .logo_02 a,
        .header_main_lower .logo_02 a {
          font-size: 25px; } }
    .header_main_top .logo_02 img,
    .header_main_lower .logo_02 img {
      height: 60px;
      width: auto;
      object-fit: contain; }
      @media (max-width: 500px) {
        .header_main_top .logo_02 img,
        .header_main_lower .logo_02 img {
          height: 55px; } }
      @media (max-width: 370px) {
        .header_main_top .logo_02 img,
        .header_main_lower .logo_02 img {
          height: 45px; } }
  @media (max-width: 990px) {
    .header_main_top .main_pc_nav,
    .header_main_lower .main_pc_nav {
      display: none; } }
  .header_main_top .main_pc_nav ul,
  .header_main_lower .main_pc_nav ul {
    display: flex;
    border-left: 1px solid #fff; }
    .header_main_top .main_pc_nav ul li,
    .header_main_lower .main_pc_nav ul li {
      border-right: 1px solid #fff; }
      .header_main_top .main_pc_nav ul li a,
      .header_main_lower .main_pc_nav ul li a {
        padding: .3em 1.5em;
        display: block;
        color: #fff;
        font-size: 14px;
        transition: .5s; }
        .header_main_top .main_pc_nav ul li a:hover,
        .header_main_lower .main_pc_nav ul li a:hover {
          color: #fcc0c0; }
  .header_main_top .ham_btn,
  .header_main_lower .ham_btn {
    position: fixed;
    top: 11px;
    right: 11px;
    z-index: 9999;
    height: 50px;
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff; }
    @media (min-width: 991px) {
      .header_main_top .ham_btn,
      .header_main_lower .ham_btn {
        display: none; } }
    @media (max-width: 500px) {
      .header_main_top .ham_btn,
      .header_main_lower .ham_btn {
        height: 45px;
        width: 45px; } }
    @media (max-width: 370px) {
      .header_main_top .ham_btn,
      .header_main_lower .ham_btn {
        height: 40px;
        width: 40px; } }
    .header_main_top .ham_btn:hover,
    .header_main_lower .ham_btn:hover {
      cursor: pointer; }
    .header_main_top .ham_btn .in,
    .header_main_lower .ham_btn .in {
      position: relative;
      width: 60%;
      height: 50%; }
      .header_main_top .ham_btn .in div,
      .header_main_lower .ham_btn .in div {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background: #777;
        transition: .5s ease-in-out; }
        .header_main_top .ham_btn .in div:nth-of-type(1),
        .header_main_lower .ham_btn .in div:nth-of-type(1) {
          top: 0; }
        .header_main_top .ham_btn .in div:nth-of-type(2),
        .header_main_lower .ham_btn .in div:nth-of-type(2) {
          top: 50%; }
        .header_main_top .ham_btn .in div:nth-of-type(3),
        .header_main_lower .ham_btn .in div:nth-of-type(3) {
          top: 100%; }
  .header_main_top .header_main_lower_ham_btn_move .in div:nth-of-type(1),
  .header_main_lower .header_main_lower_ham_btn_move .in div:nth-of-type(1) {
    top: 10px;
    transform: rotate(45deg); }
  .header_main_top .header_main_lower_ham_btn_move .in div:nth-of-type(2),
  .header_main_lower .header_main_lower_ham_btn_move .in div:nth-of-type(2) {
    left: -10px;
    opacity: 0; }
  .header_main_top .header_main_lower_ham_btn_move .in div:nth-of-type(3),
  .header_main_lower .header_main_lower_ham_btn_move .in div:nth-of-type(3) {
    top: 10px;
    transform: rotate(-45deg); }
  .header_main_top .screen_all,
  .header_main_lower .screen_all {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1009;
    width: 100%;
    height: 100vh;
    content: '';
    display: none;
    background: #000;
    opacity: .5; }

.header_main_lower {
  background: #F4E8D1; }
  .header_main_lower .main_pc_nav ul {
    border-left: 1px solid #7A6A56; }
    .header_main_lower .main_pc_nav ul li {
      border-right: 1px solid #7A6A56; }
      .header_main_lower .main_pc_nav ul li a {
        color: #7A6A56; }

/* ----------------------------------------------------------------------
sp_nav_no_001
---------------------------------------------------------------------- */
.sp_nav_no_001 {
  position: fixed;
  top: 0;
  left: -100%;
  z-index: 9999;
  max-width: 400px;
  width: calc(100% - 65px);
  height: 100vh;
  background: #fff;
  overflow: scroll;
  transition: .5s;
  box-shadow: 0 0 5px #000;
  opacity: .9; }
  .sp_nav_no_001 .login_menu {
    display: grid;
    display: -ms-grid;
    grid-template-columns: repeat(2, 1fr);
    -ms-grid-columns: repeat(2, 1fr);
    grid-template-rows: auto auto;
    -ms-grid-rows: auto auto; }
    .sp_nav_no_001 .login_menu li {
      position: relative; }
      .sp_nav_no_001 .login_menu li:nth-of-type(odd)::after {
        position: absolute;
        right: 0;
        top: 0;
        content: '';
        width: 1px;
        height: 100%;
        display: block;
        background: #fff;
        opacity: .2; }
      .sp_nav_no_001 .login_menu li a {
        padding: 1.5em;
        display: block;
        color: #333;
        font-size: 13px; }
        .sp_nav_no_001 .login_menu li a i {
          margin-right: .7em; }
  .sp_nav_no_001 .sp_menu_main li {
    position: relative;
    width: 100%; }
    .sp_nav_no_001 .sp_menu_main li::after {
      position: absolute;
      top: 0;
      left: 0;
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      border-bottom: 1px solid #555;
      opacity: .2; }
    .sp_nav_no_001 .sp_menu_main li .down_box {
      position: absolute;
      right: 0;
      top: 1px;
      width: 54px;
      height: 53px;
      background: #aaa; }
      .sp_nav_no_001 .sp_menu_main li .down_box::before {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: "Font Awesome 5 Free";
        content: "\f107";
        font-weight: 900;
        color: #333; }
    .sp_nav_no_001 .sp_menu_main li a {
      padding: 1.3em;
      display: block;
      color: #333;
      font-size: 15px; }
    .sp_nav_no_001 .sp_menu_main li ul {
      display: none;
      background: #899b90; }
      .sp_nav_no_001 .sp_menu_main li ul ul {
        background: #010b0e; }
        .sp_nav_no_001 .sp_menu_main li ul ul .down_box {
          background: #052129; }

.ham_btn_move {
  left: 0 !important; }

/* ----------------------------------------------------------------------
メインビジュアル
---------------------------------------------------------------------- */
.main_v {
  position: relative;
  z-index: 20;
  min-height: 600px;
  height: calc(100vh - 100px);
  overflow: hidden; }
  .main_v::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    background: #000;
    opacity: .2; }
  @media (max-width: 600px) {
    .main_v {
      min-height: 400px;
      height: calc(100vh - 100px); } }
  .main_v .catch {
    position: absolute;
    bottom: 100px;
    left: 10%;
    z-index: 30;
    width: 250px;
    height: auto; }
    @media (max-width: 750px) {
      .main_v .catch {
        width: 200px; } }
  .main_v .swiper-wrapper {
    position: relative;
    z-index: -2;
    height: 100%; }
    .main_v .swiper-wrapper .swiper-slide {
      height: 100%; }
    .main_v .swiper-wrapper .slide-img {
      height: 100%; }
      .main_v .swiper-wrapper .slide-img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
  @media (max-width: 600px) {
    .main_v .pc {
      display: none; } }
  @media (min-width: 601px) {
    .main_v .sp {
      display: none; } }

@keyframes zoomUp {
  0% {
    transform: scale(1); }
  100% {
    transform: scale(1.15); } }
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  animation: zoomUp 10s linear 0s 1 normal both; }

.slide-img img {
  display: block; }

/* ----------------------------------------------------------------------
はじめに
---------------------------------------------------------------------- */
.introduction {
  position: relative;
  z-index: 30;
  padding: 120px 40px;
  background: #F4E8D1; }
  .introduction .chara {
    position: absolute;
    top: -125px;
    left: 0;
    z-index: 20;
    width: 100%;
    height: 250px;
    display: flex;
    justify-content: center; }
    @media (max-width: 1100px) {
      .introduction .chara {
        top: -100px;
        height: 200px; } }
    @media (max-width: 750px) {
      .introduction .chara {
        top: -75px;
        height: 150px; } }
    .introduction .chara img {
      height: 100%;
      width: auto;
      object-fit: cover; }
  .introduction .sun {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 10;
    width: 100%; }
    .introduction .sun .image {
      margin: 0 auto;
      padding: 0 40px;
      max-width: 1080px;
      display: flex;
      justify-content: flex-end; }
      .introduction .sun .image img {
        width: 130px;
        height: auto; }
        @media (max-width: 650px) {
          .introduction .sun .image img {
            width: 90px; } }
  .introduction p {
    margin: 0 auto;
    max-width: 650px;
    line-height: 2em; }

/* ----------------------------------------------------------------------
information
---------------------------------------------------------------------- */
.information .image_main {
  height: 500px;
  overflow: hidden; }
  .information .image_main::after {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -10;
    width: 100vw;
    height: 100vh;
    content: "";
    background: no-repeat url("../image/top_mv_002.jpg");
    background-size: cover;
    background-position: center; }
.information .cont_01 {
  position: relative;
  padding: 70px 40px;
  background: #fff;
  height: 330px; }
  @media (max-width: 850px) {
    .information .cont_01 {
      height: 480px; } }
  @media (max-width: 600px) {
    .information .cont_01 {
      padding: 0; } }
  @media (max-width: 550px) {
    .information .cont_01 {
      height: 460px; } }
  @media (max-width: 510px) {
    .information .cont_01 {
      height: 430px; } }
  @media (max-width: 480px) {
    .information .cont_01 {
      height: 420px; } }
  @media (max-width: 450px) {
    .information .cont_01 {
      height: 400px; } }
  @media (max-width: 410px) {
    .information .cont_01 {
      height: 380px; } }
  @media (max-width: 380px) {
    .information .cont_01 {
      height: 390px; } }
  .information .cont_01 .in {
    position: absolute;
    top: -50px;
    left: 0;
    z-index: 20;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
    @media (max-width: 850px) {
      .information .cont_01 .in {
        margin: 0 auto;
        padding: 0 40px;
        height: auto; } }
    @media (max-width: 600px) {
      .information .cont_01 .in {
        padding: 0 20px; } }
    .information .cont_01 .in .image {
      width: 420px; }
      @media (max-width: 600px) {
        .information .cont_01 .in .image {
          width: 80%; } }
      .information .cont_01 .in .image img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .information .cont_01 .in .in_in {
      margin-right: 200px;
      padding-left: 50px;
      width: 345px;
      display: flex;
      flex-wrap: wrap;
      align-content: flex-end; }
      @media (max-width: 1050px) {
        .information .cont_01 .in .in_in {
          margin-right: 0; } }
      @media (max-width: 850px) {
        .information .cont_01 .in .in_in {
          margin: 20px auto;
          padding-left: 0;
          width: 100%;
          max-width: 550px; } }
      .information .cont_01 .in .in_in h2 {
        padding: 10px 0;
        width: 100%;
        font-size: 25px;
        border-bottom: 2px solid #231815;
        letter-spacing: .2em; }
      .information .cont_01 .in .in_in p {
        padding: 8px 0;
        width: 100%;
        line-height: 1.8em;
        font-size: 14px; }
      .information .cont_01 .in .in_in a {
        padding: .5em 1em .5em 1.2em;
        display: flex;
        align-items: center;
        color: #fff;
        font-weight: bold;
        background: #EE869A;
        transition: .5s; }
        .information .cont_01 .in .in_in a:hover {
          opacity: .8; }
        .information .cont_01 .in .in_in a i {
          margin-left: .5em; }
.information .cont_02 {
  padding: 70px 40px;
  background: url(../image/bg_001.png) #fff;
  background-size: cover; }
  @media (max-width: 600px) {
    .information .cont_02 {
      padding: 30px 20px; } }
  .information .cont_02 .in {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap-reverse;
    height: 300px; }
    @media (max-width: 850px) {
      .information .cont_02 .in {
        margin: 0 auto;
        height: auto; } }
    .information .cont_02 .in .image {
      width: 420px; }
      @media (max-width: 600px) {
        .information .cont_02 .in .image {
          width: 80%; } }
      .information .cont_02 .in .image img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .information .cont_02 .in .in_in {
      margin-left: 200px;
      padding-right: 50px;
      width: 345px;
      display: flex;
      flex-wrap: wrap;
      align-content: flex-end; }
      @media (max-width: 1050px) {
        .information .cont_02 .in .in_in {
          margin-left: 0; } }
      @media (max-width: 850px) {
        .information .cont_02 .in .in_in {
          margin: 20px auto;
          padding-right: 0;
          width: 100%;
          max-width: 550px; } }
      .information .cont_02 .in .in_in h2 {
        padding: 10px 0;
        width: 100%;
        font-size: 25px;
        border-bottom: 2px solid #231815;
        letter-spacing: .2em; }
      .information .cont_02 .in .in_in p {
        padding: 8px 0;
        width: 100%;
        line-height: 1.8em;
        font-size: 14px; }
      .information .cont_02 .in .in_in a {
        padding: .5em 1em .5em 1.2em;
        display: flex;
        align-items: center;
        color: #fff;
        font-weight: bold;
        background: #EE869A;
        transition: .5s; }
        .information .cont_02 .in .in_in a:hover {
          opacity: .8; }
        .information .cont_02 .in .in_in a i {
          margin-left: .5em; }
.information .cont_03 {
  padding: 70px 40px;
  background: #fff; }
  @media (max-width: 600px) {
    .information .cont_03 {
      padding: 30px 20px; } }
  .information .cont_03 .in {
    margin: 0 auto;
    padding-bottom: 50px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    height: 300px; }
    @media (max-width: 850px) {
      .information .cont_03 .in {
        margin: 0 auto;
        height: auto; } }
    .information .cont_03 .in .image {
      width: 420px; }
      @media (max-width: 600px) {
        .information .cont_03 .in .image {
          width: 80%; } }
      .information .cont_03 .in .image img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .information .cont_03 .in .in_in {
      margin-right: 200px;
      padding-left: 50px;
      width: 345px;
      display: flex;
      flex-wrap: wrap;
      align-content: flex-end; }
      @media (max-width: 1050px) {
        .information .cont_03 .in .in_in {
          margin-right: 0; } }
      @media (max-width: 850px) {
        .information .cont_03 .in .in_in {
          margin: 20px auto;
          padding-left: 0;
          width: 100%;
          max-width: 550px; } }
      .information .cont_03 .in .in_in h2 {
        padding: 10px 0;
        width: 100%;
        font-size: 25px;
        border-bottom: 2px solid #231815;
        letter-spacing: .2em; }
      .information .cont_03 .in .in_in p {
        padding: 8px 0;
        width: 100%;
        line-height: 1.8em;
        font-size: 14px; }
      .information .cont_03 .in .in_in a {
        padding: .5em 1em .5em 1.2em;
        display: flex;
        align-items: center;
        color: #fff;
        font-weight: bold;
        background: #EE869A;
        transition: .5s; }
        .information .cont_03 .in .in_in a:hover {
          opacity: .8; }
        .information .cont_03 .in .in_in a i {
          margin-left: .5em; }

/* ----------------------------------------------------------------------
main_ftr 共通メインフッター
---------------------------------------------------------------------- */
.main_ftr {
  position: relative;
  z-index: 30;
  padding-top: 200px;
  height: 380px;
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: no-repeat url(../image/ftr_img.png) #fff;
  background-size: cover;
  background-position: top center;
  text-align: center;
  color: #7F4F21; }
  @media (max-width: 600px) {
    .main_ftr {
      height: 410px;
      background: no-repeat url(../image/ftr_img_sp.jpg) #fff;
      background-size: cover;
      background-position: top center; } }
  @media (max-width: 500px) {
    .main_ftr {
      height: 380px; } }
  .main_ftr .cont .site_name {
    font-size: 29px;
    letter-spacing: .2em; }
  .main_ftr .cont nav ul {
    display: flex;
    justify-content: center; }
    .main_ftr .cont nav ul li {
      margin: 10px; }
      .main_ftr .cont nav ul li a {
        font-size: 30px;
        color: #7F4F21; }
  .main_ftr .cont .copo {
    line-height: 2em; }
  .main_ftr .cont dl {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    font-size: 14px;
    line-height: 2em; }
    .main_ftr .cont dl dt, .main_ftr .cont dl dd {
      white-space: nowrap; }
    .main_ftr .cont dl div {
      width: 100%; }
      @media (min-width: 701px) {
        .main_ftr .cont dl div {
          display: none; } }
  .main_ftr .cont small {
    margin-top: 2em;
    margin-bottom: 1.5em;
    display: block;
    font-size: 12px; }

/* ----------------------------------------------------------------------
lower_main_v
---------------------------------------------------------------------- */
.lower_main_v {
  min-height: 600px;
  max-height: 800px;
  height: calc(100vh - 100px); }
  @media (max-width: 600px) {
    .lower_main_v {
      min-height: 400px;
      height: calc(100vh - 100px); } }
  .lower_main_v img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

/* ----------------------------------------------------------------------
商品販売ページ　shop_main_v
---------------------------------------------------------------------- */
.shop_main_v {
  min-height: 600px;
  max-height: 800px;
  width: 100%;
  height: calc(100vh - 100px); }
  .shop_main_v::before {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -10;
    width: 100%;
    height: 100vh;
    content: "";
    display: block;
    background: url(../image/shop_main.jpg);
    background-size: cover;
    background-position: center; }

/* ----------------------------------------------------------------------
greeting
---------------------------------------------------------------------- */
.greeting {
  padding: 60px 0;
  background: #F4E8D1; }
  @media (max-width: 500px) {
    .greeting {
      padding: 60px 0 1px 0; } }
  .greeting header {
    margin: 0 auto;
    max-width: 750px;
    width: 100%; }
  .greeting .cont {
    padding: 0 40px; }
    .greeting .cont h2 {
      padding: 0 0 .5em 0;
      border-bottom: 1px solid #333;
      font-size: 25px;
      text-align: center;
      letter-spacing: .3em; }
    .greeting .cont p {
      margin: 30px 0;
      line-height: 2em;
      font-size: 14px; }
  .greeting .image_main img {
    width: 100%;
    height: 400px;
    object-fit: cover; }
  .greeting section {
    margin: 50px auto;
    max-width: 830px;
    padding: 0 40px;
    width: 100%;
    height: 290px;
    display: flex;
    flex-wrap: wrap; }
    @media (max-width: 650px) {
      .greeting section {
        max-width: 500px;
        height: auto; } }
    .greeting section .image {
      width: calc(100% - 300px);
      height: 100%; }
      @media (max-width: 650px) {
        .greeting section .image {
          width: 100%; } }
      .greeting section .image img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .greeting section .in_01,
    .greeting section .in_02 {
      padding-left: 40px;
      width: 300px;
      height: 100%;
      display: flex;
      align-content: center;
      flex-wrap: wrap; }
      @media (max-width: 650px) {
        .greeting section .in_01,
        .greeting section .in_02 {
          padding: 0;
          width: 100%; } }
      .greeting section .in_01 h3,
      .greeting section .in_02 h3 {
        margin-bottom: 10px;
        padding: .5em 0;
        width: 100%;
        font-size: 20px;
        border-bottom: 1px solid #231815;
        letter-spacing: .2em; }
        @media (max-width: 650px) {
          .greeting section .in_01 h3,
          .greeting section .in_02 h3 {
            margin: 10px 0; } }
      .greeting section .in_01 dl,
      .greeting section .in_02 dl {
        padding: 10px 0 20px 0;
        width: 100%;
        font-size: 14px;
        line-height: 1.5em; }
        .greeting section .in_01 dl dt,
        .greeting section .in_02 dl dt {
          margin-left: -.5em; }
        .greeting section .in_01 dl dd,
        .greeting section .in_02 dl dd {
          margin-bottom: 5px; }
      .greeting section .in_01 .name,
      .greeting section .in_02 .name {
        width: 100%;
        font-size: 20px;
        letter-spacing: .2em;
        white-space: nowrap; }
        .greeting section .in_01 .name span,
        .greeting section .in_02 .name span {
          margin-right: 20px;
          font-size: 14px; }
      .greeting section .in_01 nav ul,
      .greeting section .in_02 nav ul {
        display: flex; }
        .greeting section .in_01 nav ul li,
        .greeting section .in_02 nav ul li {
          margin-top: 20px;
          margin-right: 20px; }
          .greeting section .in_01 nav ul li a,
          .greeting section .in_02 nav ul li a {
            transition: .5s; }
            .greeting section .in_01 nav ul li a:hover,
            .greeting section .in_02 nav ul li a:hover {
              opacity: .8; }
            .greeting section .in_01 nav ul li a img,
            .greeting section .in_02 nav ul li a img {
              width: 30px;
              height: auto; }
    .greeting section .in_02 {
      display: flex;
      flex-wrap: wrap;
      align-content: flex-end; }
      .greeting section .in_02 .name {
        margin-top: 20px; }

 /* ----------------------------------------------------------------------
商品画像横並び
---------------------------------------------------------------------- */
.image-2 {
  max-width: 780px;
  margin: 0 auto; /* 中央揃え */
  padding: 0;
}

.image-2 li::before {
  content: none !important;
}

.image-2 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px; /* 画像間の余白（必要に応じて調整） */
  padding: 0;
  margin: 0;
}

.image-2 li {
  flex: 1 1 calc(50% - 20px); /* 2列（gap分を考慮） */
  box-sizing: border-box;
}

.image-2 img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px; /* 任意の装飾 */
}

/* タブレットサイズ以下で1列表示 */
@media (max-width: 768px) {
  .image-2 li {
    flex: 1 1 100%;
  }
  .image-2 img {
     max-width: 300px;
     text-align: center;
     display: block;
     margin: auto;
  }

}       

/* ----------------------------------------------------------------------
ギャラリー
---------------------------------------------------------------------- */
.gallery .image_main {
  position: relative;
  z-index: -1;
  height: 400px;
  overflow: hidden; }
  @media (min-width: 1130px) {
    .gallery .image_main {
      height: 500px; } }
  .gallery .image_main::before {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -10;
    width: 100vw;
    height: 100vh;
    content: "";
    display: block;
    background: no-repeat url("../image/top_mv_001_sp.jpg");
    background-size: cover;
    background-position: center; }
.gallery .conts {
  position: relative;
  z-index: 30;
  padding: 40px 0; }
  @media (max-width: 500px) {
    .gallery .conts {
      padding: 20px 0; } }
  .gallery .conts::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    display: block;
    content: "";
    background: #fff; }
  .gallery .conts::after {
    position: absolute;
    top: 100px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 500px;
    content: "";
    display: block;
    background: url(../image/bg_001.png) #fff;
    background-size: cover; }
    @media (max-width: 1050px) {
      .gallery .conts::after {
        height: 400px; } }
    @media (max-width: 680px) {
      .gallery .conts::after {
        display: none; } }
.gallery .images {
  margin: 0 auto;
  padding: 0 100px;
  max-width: 1100px;
  display: grid;
  display: -ms-grid;
  grid-template-columns: repeat(3, 1fr);
  -ms-grid-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  -ms-grid-rows: auto auto;
  gap: 10px; }
  @media (max-width: 650px) {
    .gallery .images {
      margin: 0 auto;
      padding: 0 40px;
      grid-template-columns: repeat(2, 1fr);
      -ms-grid-columns: repeat(2, 1fr);
      grid-template-rows: auto auto;
      -ms-grid-rows: auto auto;
      gap: 5px; } }
  @media (max-width: 500px) {
    .gallery .images {
      padding: 0 20px; } }
  .gallery .images div {
    position: relative;
    height: auto;
    width: 100%; }
    .gallery .images div::before {
      padding-top: 100%;
      content: "";
      display: block; }
    .gallery .images div img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; }
.gallery p {
  margin: 50px auto;
  padding: 0 40px;
  max-width: 780px;
  line-height: 2em;
  font-size: 14px; }
  @media (max-width: 500px) {
    .gallery p {
      margin: 30px auto;
      padding: 0 20px; } }
.gallery .image_btm {
  margin: 50px auto;
  max-width: 800px;
  height: 380px; }
  @media (max-width: 500px) {
    .gallery .image_btm {
      margin: 30px auto; } }
  .gallery .image_btm img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

/* ----------------------------------------------------------------------
lower
---------------------------------------------------------------------- */
.lower .sec_01 {
  padding: 80px 0 50px 0;
  background: #F4E8D1; }
  @media (max-width: 600px) {
    .lower .sec_01 {
      padding: 50px 0 50px 0; } }
  .lower .sec_01 h2 {
    margin: 0 auto;
    margin-bottom: 25px;
    padding: 0 0 .5em 0;
    max-width: 700px;
    border-bottom: 1px solid #333;
    font-size: 25px;
    text-align: center;
    letter-spacing: .3em; }
  .lower .sec_01 h3 {
    margin: 20px auto 15px auto;
    padding: 0 40px;
    padding-top: 10px;
    max-width: 780px;
    font-size: 19px;
    line-height: 1.5em; }
  .lower .sec_01 p {
    margin: 15px auto;
    padding: 0 40px;
    max-width: 780px;
    line-height: 2em;
    font-size: 14px; }
  .lower .sec_01 img {
    margin: 20px auto 0 auto;
    max-width: 350px;
    width: 60%;
    height: auto;
    display: block; }
.lower .sec_02 {
  position: relative; }
  .lower .sec_02::after {
    position: absolute;
    top: 25%;
    left: 0;
    z-index: -10;
    width: 100%;
    height: 50%;
    content: "";
    display: block;
    background: url(../image/bg_001.png);
    background-size: cover; }
  .lower .sec_02 .in {
    margin: 50px auto;
    padding: 0 50px;
    max-width: 800px; }
    .lower .sec_02 .in img {
      margin: 20px 0;
      width: 100%;
      height: auto; }
.lower .sec_03 {
  position: relative; }
  .lower .sec_03 .image_momo-ki {
    margin-bottom: 50px;
    height: 500px; }
    .lower .sec_03 .image_momo-ki::after {
      position: fixed;
      top: 0;
      left: 0;
      z-index: -10;
      width: 100vw;
      height: 100vh;
      content: "";
      display: block;
      background: url(../image/momo-ki.jpg);
      background-size: cover;
      background-position: center; }
.lower .sec_04 {
  padding: 1px 40px;
  background: #fff; }
  @media (max-width: 550px) {
    .lower .sec_04 {
      padding: 1px 20px; } }
  .lower .sec_04 .image {
    position: relative;
    margin: 30px auto;
    max-width: 780px;
    width: calc(100% - 80px);
    height: auto; }
    @media (max-width: 550px) {
      .lower .sec_04 .image {
        width: calc(100% - 40px); } }
    .lower .sec_04 .image::before {
      padding-top: 65%;
      content: "";
      display: block; }
    .lower .sec_04 .image img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .lower .sec_04 .price_list {
    margin: 30px auto;
    max-width: 840px;
    border: 1px solid #231815;
    border-bottom: none;
    border-right: none; }
    .lower .sec_04 .price_list:last-of-type {
      margin-bottom: 15px; }
    .lower .sec_04 .price_list h3 {
      padding: 10px;
      border-bottom: solid 1px #231815;
      border-right: solid 1px #231815;
      font-size: 21px;
      text-align: center;
      line-height: 1.5em; }
    .lower .sec_04 .price_list .item {
      display: flex; }
      .lower .sec_04 .price_list .item div {
        padding: 10px 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-line-pack: center;
        align-content: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-bottom: solid 1px #231815;
        border-right: solid 1px #231815;
        background: #fff;
        line-height: 1.3em; }
        @media (max-width: 650px) {
          .lower .sec_04 .price_list .item div {
            padding: 10px;
            -webkit-box-pack: center;
            -ms-flex-pack: center;
            justify-content: center;
            text-align: center; } }
        @media (max-width: 550px) {
          .lower .sec_04 .price_list .item div {
            font-size: 14px; } }
        @media (max-width: 550px) {
          .lower .sec_04 .price_list .item div {
            padding: 5px; } }
    .lower .sec_04 .price_list .price {
      color: #E60012;
      font-size: 20px;
      line-height: 1.3em; }
      @media (max-width: 550px) {
        .lower .sec_04 .price_list .price {
          font-size: 16px; } }
      .lower .sec_04 .price_list .price span {
        font-size: 14px; }
        @media (max-width: 650px) {
          .lower .sec_04 .price_list .price span {
            font-size: 11px; } }
    .lower .sec_04 .price_list .btn {
      justify-content: center;
      text-align: right;
      color: #E60012;
      line-height: 1.5em; }
      .lower .sec_04 .price_list .btn a {
        margin-left: 10px;
        padding: .2em;
        width: 120px;
        display: inline-block;
        border-radius: 30px;
        background: #C9CACA;
        color: #333;
        text-align: center;
        font-size: 14px;
        transition: .3s; }
        @media (max-width: 650px) {
          .lower .sec_04 .price_list .btn a {
            margin-left: 0;
            width: 100%; } }
        @media (max-width: 550px) {
          .lower .sec_04 .price_list .btn a {
            font-size: 12px; } }
        .lower .sec_04 .price_list .btn a:hover {
          background: #f5c9c9; }
    .lower .sec_04 .price_list .ex {
      padding: 10px 20px;
      font-size: 14px;
      border-bottom: solid 1px #231815;
      border-right: solid 1px #231815;
      line-height: 1.3em; }
      @media (max-width: 650px) {
        .lower .sec_04 .price_list .ex {
          padding: 10px;
          font-size: 12px;
          text-align: left; } }
  .lower .sec_04 .postage {
    margin: 18px auto;
    margin-bottom: 16px;
    max-width: 841px;
    display: flex; }
    @media (max-width: 500px) {
      .lower .sec_04 .postage {
        display: block; } }
    .lower .sec_04 .postage dt, .lower .sec_04 .postage dd {
      font-size: 24px;
      line-height: 1.6em;
      font-weight: 900; }
      @media (max-width: 800px) {
        .lower .sec_04 .postage dt, .lower .sec_04 .postage dd {
          font-size: 20px; } }
      @media (max-width: 600px) {
        .lower .sec_04 .postage dt, .lower .sec_04 .postage dd {
          font-size: 18px; } }
    .lower .sec_04 .postage dt {
      margin-left: -14px;
      white-space: nowrap; }
      @media (max-width: 500px) {
        .lower .sec_04 .postage dt {
          margin-left: -10px;
          margin-bottom: 8px; } }
    .lower .sec_04 .postage dd {
      color: #d42020; }
      .lower .sec_04 .postage dd small {
        display: inline-block;
        font-size: 16px;
        font-weight: 400; }
        @media (max-width: 800px) {
          .lower .sec_04 .postage dd small {
            font-size: 12px; } }
  .lower .sec_04 ul {
    margin: 0 auto;
    max-width: 780px; }
    @media (max-width: 1000px) {
      .lower .sec_04 ul {
        max-width: 700px; } }
    .lower .sec_04 ul li {
      position: relative;
      margin: 10px 0;
      padding-left: 1em;
      line-height: 1.5em;
      font-size: 14px; }
      .lower .sec_04 ul li::before {
        position: absolute;
        top: -.05em;
        left: 0;
        content: "※"; }
        

