/* ボックスモデルとボーダーのリセット */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* ドキュメント */
/* ============================================ */
/**
 * iOSで画面回転後のフォントサイズの自動調整を防止
 * iOSでリンクの灰色オーバーレイを削除
 */

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

/* セクション */
/* ============================================ */
body {margin: 0;}
main {display: block;}
p,table,blockquote,address,pre,iframe,form,figure,dl {margin: 0;}
h1,h2,h3,h4,h5,h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;}
ul,ol {
  margin: 0;
  margin-block-start: 0;
  margin-block-end: 0;
  padding: 0;
  list-style: none;}
dd {margin-left: 0;}
p {margin: 0; padding: 0;}

/* グループ化コンテンツ */
/* ============================================ */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}
address {font-style: inherit;}

/* テキストレベルのセマンティクス */
/* ============================================ */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
abbr[title] {
  text-decoration: underline dotted;
}
b,strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}
small {font-size: 80%;}
sub,sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}

/* 置換コンテンツ */
/* ============================================ */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* テーブル */
/* ============================================ */
table {
  border-color: inherit;
  border-collapse: collapse;
}
caption {
  text-align: left;
}
td,th {
  vertical-align: top;
  padding: 0;
}
th {
  text-align: left;
  font-weight: bold;
}

/*
 * リンクスタイル
 * ============================================
 */
:where(a) {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  opacity: unset;
}
/* ホバー可能なデバイスでの電話番号リンクの無効化 */
@media (any-hover: hover) {
  :where(a[href^="tel:"]) {
    pointer-events: none;
  }
}

/*
 * 画像スタイル
 * ============================================
 */
:where(img) {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}


/* ===================================================
共通パーツ
=================================================== */
/* =====================
文字
===================== */
body {
    font-family: "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
}

p {line-height: 1.5;}

.txt--s {font-size: 14px;}
@media screen and (max-width: 500px) {
    .txt--s {font-size: 12px;}
}
sup {font-size: 60%;}
.text-indent {
    padding-left: 1em;
    text-indent: -1em;
}

/* =====================
content-wrap
===================== */
.content-wrap {
    width: 90%;
    margin: 0 auto;
}

/* ===================================================
splitBg　固定部分
=================================================== */
.splitBg--l {
    background-image: url(../img/bg_sea.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0.4;
}
@media screen and (max-width: 500px) {
    .splitBg--l {
        width: 0;
    }
}

/* ===================================================
splitMain 中央領域
=================================================== */
.splitMain {
    position: relative;
}
/* ===================================================
splitContents　スクロール領域
=================================================== */
.splitContents {
    width: 500px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    margin-left: auto;
    z-index: 2;
}

@media screen and (max-width: 500px) {
    .splitContents {
        width: 100%;
    }
}

/* ========================
header
======================== */
header {display: none;}
/* ========================
mv
======================== */
.mv {
    width: 100%;
    height: auto;
    background-color: #274B8A;
}

.mv__main {
    padding-bottom: 60px;
}

.mv__main img {
    width: 100%;
}

.mv__note {
  font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
  text-align: center;
  color: #c9bc9c;
  padding-bottom: 20px;
  font-size: 28px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .mv__note {
    font-size: 22px;
  }
}

/* ========================
news
======================== */
.news {
  background-color: #E5DECE;
  padding: 20px 0;
}

.news__heading {
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: bold;
  color: #274b8a;
  text-align: center;
}
.news-wrap {
  background-color: rgba(255, 255, 255, 0.5);
  padding: 20px;
}

.news__list li {
  text-indent: -1em;
  padding-left: 1em;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dotted #7b7b7b;
}

a.underline {
  text-decoration: underline;
  color: #274b8a;
  cursor: pointer;
}


/* ========================
product
======================== */
.product {
    background-color: #E5DECE;
    padding: 40px 0;
}

.product__heading {
    margin-bottom: 20px;
}

.product__imgWrap {
    width: 90%;
    margin: 0 auto 40px;
}

.product__imgWrap p span {
    font-weight: 500;
    font-size: 120%;
    color: #ff0000;
    display: block;
    text-align: center;
}

.product__textInner {
    background-color: rgba(255, 255, 255, 0.5);
    padding: 30px 10px;
    margin-bottom: 20px;
}

.product__text--02 {
    margin-bottom: 20px;
}

.product__btnWrap {
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
.product__btnText {
  text-align: center;
    font-weight: 500;
    font-size: 18px;
    margin-top:20px;
    margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .product__btnText {
    font-size: 16px;
}
}

.product__btnWrap a img {
    transition: .2s;

}
@media (hover: hover) and (pointer: fine) {
  .product__btnWrap a:hover img {
      filter: brightness(1.1);
  }
}

.text__refrigerated {
  text-align: center;
}

.product__refrigerated {
  width: 50%;
  margin: 20px auto 20px;
}

/* ========================
closing
======================== */
.closing {
    background-color: #E5DECE;
}

.closing__mainTextImg {
    margin-bottom: 40px;
}

.closing__signWrap {
    margin-top: 40px;
    text-align: right;
}
.closing__signImg {
    width: 50%;
}

/* ===================================================
backBtn
=================================================== */
.backBtn {
    height: 200px;
    width: 200px;
    position: fixed;
    right: 40px;
    bottom: 10px;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    z-index: 100;
}
@media screen and (max-width: 768px) {
  .backBtn {
      display: none !important;
  }
}

/* ===================================================
footer
=================================================== */
.footer {
    width: 100%;
    bottom: 0;
    padding: 20px 0;
    background-color: #274B8A;
    color: #FFF;
    font-size: 14px;
    line-height: 1.3;
}

.footer p {margin-bottom: 10px;}
address {margin-bottom: 10px;}

/* ===================================================
年齢確認
=================================================== */
.splitContents.modal-open {
  overflow: hidden;
  height: 100%;
}

.overlay {
display: none;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.6);
position: fixed;
top: 0;
left: 0;
z-index: 10;
}

.overlay.show {
display: block;
}

.btn_area {
width: 90%;
max-width: 600px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
background: #fff;
text-align: center;
z-index: 2;
padding: 40px;
}
@media screen and (max-width: 768px) {
    .btn_area {
        width: 96%;
        z-index: 2;
        padding: 20px;
        }
}

.btn_area .ttl {
font-weight: bold
}
.overlay__inner {
    display: flex;
    gap: 10px;
}

.btn_area p {
margin-bottom: 15px;
}

.btn_area button,
.no{
display: block;
margin: 0 auto;
background: #274b8a;
color: #fff;
padding: 20px 40px;
border: none;
width: 100%;
cursor: pointer;
border-radius: 4px;
}
@media screen and (max-width: 768px) {
    .btn_area button,
    .no{
    padding: 20px 20px;
    }
}

@media (hover: hover) and (pointer: fine) {
  .btn_area button:hover,
  .no:hover {
      background: #4c7cce;
  }
}