@charset "UTF-8";
/* ------------------------------

  color

------------------------------ */
/* ------------------------------

  easing

------------------------------ */
/* ------------------------------

  breakpoint / mediaQuery

------------------------------ */
/* ------------------------------

  color

------------------------------ */
/* ------------------------------

  easing

------------------------------ */
/* ------------------------------

  breakpoint / mediaQuery

------------------------------ */
/* ------------------------------

  vw / vh 計算

------------------------------ */
/* ------------------------------

  フォント

------------------------------ */
@import url("https://fonts.googleapis.com/css?family=Overpass:400,400i,600,600i,700,700i,800,800i,900,900i");
@import url("https://fonts.googleapis.com/css?family=Montserrat:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i");
html { font-size: 62.5%; }

@media screen and (max-width: 768px) { html { font-size: 50%; } }

body { font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; font-size: 1.6rem; font-weight: 400; line-height: 1.5; color: #363f47; min-width: 1120px; max-width: 1920px; }

@media screen and (max-width: 768px) { body { min-width: 1px; } }

/*------------------------------ 

  overpass

------------------------------ */
.overpass { font-family: 'Overpass', sans-serif; }

.overpass.italic { font-style: italic; }

.overpass.bold { font-weight: 700; }

a { -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

a:hover { text-decoration: none; }

/*------------------------------ 

  Montserrat

------------------------------ */
.montserrat { font-family: 'Montserrat', sans-serif; }

.montserrat.italic { font-style: italic; }

.montserrat.bold { font-weight: 700; }

a { -webkit-transition: .2s; -o-transition: .2s; transition: .2s; }

a:hover { text-decoration: none; }

/* ------------------------------

  画像 / 動画

------------------------------ */
img { max-width: 100%; display: inline-block; }

figure { text-align: center; margin-bottom: 20px; display: inline-block; }

@media screen and (max-width: 768px) { figure { margin-bottom: 10px; } }

figure figcaption { font-size: 1.4rem; margin-top: 0.5em; }

@media screen and (max-width: 768px) { figure figcaption { font-size: 1rem; } }

figure img { margin: 0 !important; }

iframe { max-width: 100%; }

@media screen and (max-width: 768px) { iframe { width: 100%; height: 180px; } }

/* ------------------------------

  表示 / 非表示

------------------------------ */
.c-hidden-tab { display: none; }

@media screen and (min-width: 769px) { .c-hidden-tab { display: block; } }

.c-visible-tab { display: none; }

@media screen and (max-width: 768px) { .c-visible-tab { display: block; } }

/* ------------------------------

  リンクの無効

------------------------------ */
.c-click-invalid { pointer-events: none; }

.c-click-invalid a { pointer-events: none; }

/*! Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) Copyright 2011-2019 The Bootstrap Authors Copyright 2011-2019 Twitter, Inc. Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) */
*, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; }

html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; /*-webkit-font-smoothing: antialiased;*/ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; }

body { margin: 0; text-align: left; background-color: #fff; letter-spacing: 0; }

[tabindex="-1"]:focus { outline: 0 !important; }

hr { -webkit-box-sizing: content-box; box-sizing: content-box; height: 0; overflow: visible; }

h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0; }

p { margin-top: 0; margin-bottom: 0; }

abbr[title], abbr[data-original-title] { text-decoration: underline; -webkit-text-decoration: underline dotted; text-decoration: underline dotted; cursor: help; border-bottom: 0; -webkit-text-decoration-skip-ink: none; text-decoration-skip-ink: none; }

address { margin-bottom: 0; font-style: normal; line-height: inherit; }

ol, ul, dl { margin-top: 0; margin-bottom: 0; }

ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; }

dt { font-weight: 700; }

dd { margin-bottom: .5rem; margin-left: 0; }

blockquote { margin: 0; }

b, strong { font-weight: bolder; }

small { font-size: 80%; }

sub, sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }

sub { bottom: -.25em; }

sup { top: -.5em; }

a { color: #007bff; text-decoration: none; background-color: transparent; }

a:hover { text-decoration: underline; }

a:not([href]):not([tabindex]) { color: inherit; text-decoration: none; }

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus { color: inherit; text-decoration: none; }

a:not([href]):not([tabindex]):focus { outline: 0; }

pre, code, kbd, samp { font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 1em; }

pre { margin-top: 0; margin-bottom: 1rem; overflow: auto; }

figure { margin: 0 0 1rem; }

img { vertical-align: middle; border-style: none; max-width: 100%; display: inline-block; }

svg { overflow: hidden; vertical-align: middle; }

table { border-collapse: collapse; }

caption { padding-top: 0.75rem; padding-bottom: 0.75rem; color: #6c757d; text-align: left; caption-side: bottom; }

th { text-align: inherit; }

label { display: inline-block; margin-bottom: 0.5rem; }

button { border-radius: 0; }

button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; }

input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }

button, input { overflow: visible; }

button, select { text-transform: none; }

select { word-wrap: normal; }

button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

button:not(:disabled), [type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled) { cursor: pointer; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { padding: 0; border-style: none; }

input[type="radio"], input[type="checkbox"] { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0; }

input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { -webkit-appearance: listbox; }

textarea { overflow: auto; resize: vertical; }

fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }

legend { display: block; width: 100%; max-width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; color: inherit; white-space: normal; }

progress { vertical-align: baseline; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { outline-offset: -2px; -webkit-appearance: none; }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; }

output { display: inline-block; }

summary { display: list-item; cursor: pointer; }

template { display: none; }

[hidden] { display: none !important; }
.hero { position: relative; }

.hero img { width: 100%; }

.hero__logo { position: absolute; left: 30px; top: 30px; }

@media screen and (max-width: 480px) { .hero__logo { left: 16px; top: 16px; } }

.hero__logo img { width: 120px; height: auto; }

@media screen and (max-width: 480px) { .hero__logo img { width: 80px; } }

.hero .pc { display: block; }

@media screen and (max-width: 480px) { .hero .pc { display: none; } }

.hero .sp { display: none; }

@media screen and (max-width: 480px) { .hero .sp { display: block; } }

.intro { margin: 48px 0; }

.intro__ttl { font-size: 4.8rem; text-transform: uppercase; letter-spacing: 0.3em; color: #2f355b; text-align: center; position: relative; }

.intro__ttl::after { content: ""; background: -webkit-gradient(linear, left top, right top, from(#0788c2), to(#2a5480)); background: -webkit-linear-gradient(left, #0788c2, #2a5480); background: -o-linear-gradient(left, #0788c2, #2a5480); background: linear-gradient(left, #0788c2, #2a5480); display: block; height: 10px; width: 116px; position: absolute; bottom: -7px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }

.intro__subttl { text-align: center; font-size: 3rem; color: #2f355b; font-weight: bold; padding-top: 26px; line-height: 1; }

.intro__points { margin-top: 80px; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; }

@media screen and (max-width: 480px) { .intro__points { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; margin-top: 40px; } }

.intro__panel { -webkit-flex-basis: 30%; -ms-flex-preferred-size: 30%; flex-basis: 30%; }

@media screen and (max-width: 480px) { .intro__panel { margin-bottom: 32px; } }

.intro__panel p { text-align: center; letter-spacing: 0.1em; margin-top: 16px; font-weight: bold; font-size: 1.6rem; }

.intro__panel p span { font-size: 2rem; }

.intro__panel img { width: 100%; }

.item-bg { background: url(../../images/items_bg_rain.png) no-repeat center top/cover; padding: 200px 0 160px; }

@media screen and (max-width: 480px) { .item-bg .container { padding: 0 8px; } }

.item-bg.-hassui { background: url(../../images/items_bg_hassui.png) no-repeat center top/cover; }

@media screen and (max-width: 480px) { .item-bg.-hassui { background: url(../../images/items_bg_hassui-sp.png) repeat-y center top/100%; } }

@media screen and (max-width: 480px) { .item-bg { background: url(../../images/items_bg_rain-sp.png) repeat-y center top/100%; padding: 40px 0; } }

.items { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: start; -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; }

@media screen and (max-width: 768px) { .items { -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; } }

.item { -webkit-flex-basis: 30%; -ms-flex-preferred-size: 30%; flex-basis: 30%; background: #fff; margin-bottom: 5%; margin-right: 5%; position: relative; -webkit-box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.1); box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.1); padding: 0 32px 32px; }

.item:nth-child(3n) { margin-right: 0px; }

@media screen and (max-width: 768px) { .item:nth-child(3n) { margin-right: 2%; } }

@media screen and (max-width: 768px) { .item { -webkit-flex-basis: 46%; -ms-flex-preferred-size: 46%; flex-basis: 46%; margin: 2% 2%; padding: 0 24px 24px; } }

@media screen and (max-width: 480px) { .item { -webkit-flex-basis: 46%; -ms-flex-preferred-size: 46%; flex-basis: 46%; margin: 4% 2%; padding: 0 8px 8px; -webkit-box-shadow: none; box-shadow: none; } }

.item__cat { position: absolute; top: 0; right: 0; background: #0795c8; color: #fff; font-weight: bold; font-size: 1.4rem; font-style: italic; display: inline-block; padding: 4px 10px; text-align: center; letter-spacing: 3px; }

@media screen and (max-width: 480px) { .item__cat { position: relative; font-size: 10px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); } }

.item__photo { margin-top: 24px; height: 320px; position: relative; }

@media screen and (max-width: 480px) { .item__photo { height: auto; text-align: center; margin: 8px 0; } }

.item__photo img { position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); max-width: 240px; max-height: 280px; height: auto; }

@media screen and (max-width: 480px) { .item__photo img { position: relative; left: auto; top: auto; -webkit-transform: translate(0); -ms-transform: translate(0); transform: translate(0); max-width: 130px; max-height: 260px; } }

.item__name { font-weight: bold; font-size: 1.8rem; margin-bottom: 10px; letter-spacing: 2px; }

@media screen and (max-width: 480px) { .item__name { font-size: 1.6rem; margin-bottom: 8px; } }

.item__price { font-weight: bold; font-size: 2rem; margin-bottom: 10px; }

.item__price span { font-size: 1.4rem; opacity: 0.7; }

@media screen and (max-width: 480px) { .item__price { margin-bottom: 8px; } }

.item__more { margin-top: 16px; display: block; padding: 16px 0; letter-spacing: 2px; font-size: 1.6rem; text-align: center; background: #2f355b; line-height: 1; font-weight: bold; color: white; }

.item__more.-youtube { background-color: #fff; background-image: url(../../images/icon-youtube.svg); background-position: top 50% right 25%; background-repeat: no-repeat; background-size: 20px; border: solid 3px #2f355b; color: #2f355b; padding: 14px 0; }

@media screen and (max-width: 480px) { .item__more.-youtube { margin-top: 8px; background-position: top 50% right 10%; } }

@media screen and (max-width: 480px) { .item__more { -webkit-box-shadow: none; box-shadow: none; font-size: 1.4rem; } }

.container { margin: auto; max-width: 1120px; }

@media (max-width: 1120px) { .container { padding: 0 24px; } }

.copyright { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; padding: 40px 0; }

.copyright__img img { max-width: 200px; margin-right: 20px; }

@media screen and (max-width: 768px) { .copyright__img img { margin: 0 0 8px 0; } }

.copyright__txt small { font-size: 12px; }

@media screen and (max-width: 768px) { .copyright { -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; } }

.wrapper { background: #606060; }

/* 定型文 @include fadein-anim(unquote("0px,60px")); animation-delay:$delay; */
@-webkit-keyframes fadein-animation { 100% { opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }
@keyframes fadein-animation { 100% { opacity: 1;
    -webkit-transform: translate(0px, 0px);
            transform: translate(0px, 0px); } }

/* 定型文 @include fadein(); transition-delay: 1s; */
.lh-crop::before, .lh-crop::after { content: ''; display: block; height: 0; width: 0; }

.lh-crop::before { margin-top: calc((1 - 1.5) * 1em); }

.lh-crop::after { margin-bottom: calc((1 - 1.5) * 1em); }

.invalid-lh-crop::before, .invalid-lh-crop::after { margin: 0; }

/* ------------------------------

  リンク01

------------------------------ */
.c-click-invalid { position: relative; display: inline-block; -webkit-transition: .7s; -o-transition: .7s; transition: .7s; color: #222; padding: 3px 3px 2px 4px; margin-left: -4px; }

.c-click-invalid:before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; content: ''; background: #222; -webkit-transform-origin: right top; -ms-transform-origin: right top; transform-origin: right top; -webkit-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); -webkit-transition: -webkit-transform .3s; transition: -webkit-transform .3s; -o-transition: transform .3s; transition: transform .3s; transition: transform .3s, -webkit-transform .3s; }

.c-click-invalid:hover { color: #fff !important; }

.c-click-invalid:hover::before { -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }

.c-link-menu.white:before { background: #fff; }

.c-link-menu.white:hover { color: #000 !important; }
