@charset "UTF-8";
.font-en { font-family: "Roboto", serif; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 62.5%; }
@media screen and (max-width: 750px) { html { font-size: 2.375vw; } }

body { font-family: "Noto Sans JP", YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 1.6rem; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }

video { max-width: 100%; }

a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; font-family: inherit; font-size: 1.6rem; cursor: pointer; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], input[type="submit"], input[type="button"], textarea, select { font-family: inherit; font-size: 1.6rem; }

.only-pc { display: block; }
@media screen and (max-width: 750px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 750px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 750px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 750px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 750px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 750px) { table.only-sp { display: table; } }

.js-tel { color: #000 !important; text-decoration: none; cursor: default; }

.inner { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner { padding: 0 5.1282051282%; } }

/* ------------------------------ ヘッダー
------------------------------ */
.header { padding: 30px 30px 40px; }
@media screen and (max-width: 750px) { .header { padding: 5.1282051282%; } }
.header .header-banner { width: 147px; margin: 0 auto 1.5rem; }
@media screen and (max-width: 750px) { .header .header-banner { width: 42%; } }
.header .header-logo { font-size: 2.2rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .header .header-logo { font-size: 1.8rem; } }
.header .header-logo a { text-decoration: none; color: #000; }

/* ------------------------------ ページタイトル
------------------------------ */
.pagettl-sec { padding: 30px 0; background-color: #F3F3F3; }
@media screen and (max-width: 750px) { .pagettl-sec { padding: 7.6923076923% 5.1282051282%; } }
.pagettl-sec .pagettl-h { font-size: 2.2rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .pagettl-sec .pagettl-h { font-size: 2.0rem; } }

/* ------------------------------ フッター
------------------------------ */
.footer { padding: 35px 30px; border-top: 1px solid #000; }
@media screen and (max-width: 750px) { .footer { padding: 2.5641025641% 5.1282051282% 5.1282051282%; } }
.footer .footer-in { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; line-height: 1.6; }
@media screen and (max-width: 750px) { .footer .footer-in { flex-direction: column; } }
.footer .copy { flex: 1; font-size: 1.5rem; }
@media screen and (max-width: 750px) { .footer .copy { font-size: 1.2rem; } }
.footer .footer-logo { flex: 1; margin: 0 20px; font-size: 2.2rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .footer .footer-logo { margin: 1.4285714286% 0 5.7142857143%; font-size: 1.8rem; } }
.footer .footer-banner { flex: 1; text-align: right; }
@media screen and (max-width: 750px) { .footer .footer-banner { margin-bottom: 10px; text-align: center; } }
.footer .footer-banner img { width: 147px; }
@media screen and (max-width: 750px) { .footer .footer-banner img { width: 42%; } }

.opacity { transition: all .6s; }
.opacity:hover { opacity: 0.7; }

.tab { display: none; }
.tab.active { display: block; }

.ico { display: inline-flex; justify-content: center; align-items: center; width: 1em; line-height: 0; }
.ico::before { width: 100% !important; }

.ico-favorite::before { content: url("../img/common/ico_favorite.svg"); }

.ico-pin-off::before { content: url("../img/common/ico_pin.svg"); }

.ico-pin-on::before { content: url("../img/common/ico_pin_act.svg"); }

.txt-cap { padding-left: 1em; text-indent: -1em; }

.message._error { padding: 10px; background-color: #d53131; color: #fff; text-align: center; }

.error-message { margin-top: 5px; color: #d53131; }

.cmn-product-fig { position: relative; aspect-ratio: 16 / 9; }
@media screen and (max-width: 750px) { .cmn-product-fig { aspect-ratio: 3 / 2; } }
.cmn-product-fig figure { position: absolute; top: 0; left: 0; }
.cmn-product-fig img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
@media screen and (max-width: 750px) { .cmn-product-fig img { aspect-ratio: 3 / 2; } }

.modal-sec { display: none; position: fixed; top: 0; left: 0; z-index: 99999; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); }
.modal-sec .modal-in { position: absolute; top: 0; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 20px; overflow-y: auto; }
.modal-sec .modal-con { position: relative; width: 100%; max-width: 860px; margin: auto; padding: 15px 15px 30px; background-color: #fff; line-height: 1.6; }
.modal-sec .modal-close { width: 40px; margin: 0 0 15px auto; cursor: pointer; }
.modal-sec .modal-box { max-width: 800px; margin: 0 auto; }

.js-modalopen { overflow: hidden; }
.js-modalopen .modal-sec { display: block; }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.mab10 { margin-bottom: 10px; }

.tac { text-align: center; }

.js-anime-fadein { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-fadein.js-anime-on { animation-name: fadeIn; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-anime-slide { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slide.js-anime-on { animation-name: slide; }

@keyframes slide { 0% { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-anime-slideleft { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideleft.js-anime-on { animation-name: slideLeft; }

@keyframes slideLeft { 0% { opacity: 0; transform: translateX(-100px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-anime-slideright { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideright.js-anime-on { animation-name: slideRight; }

@keyframes slideRight { 0% { opacity: 0; transform: translateX(100px); }
  100% { opacity: 1; transform: translateX(0); } }
@media print { .js-anime-fadein, .js-anime-slide, .js-anime-slideleft, .js-anime-slideright { opacity: initial; } }

/*# sourceMappingURL=style.css.map */
