@charset "UTF-8";

/* ===============================================================================
Reset
=============================================================================== */

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;
}

blockquote,
q {
    quotes: none;
}

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

*,
:before,
:after {
    background-repeat: no-repeat;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

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

button {
    border: none;
}

ul {
    list-style: none;
}

*, :after, :before {
    box-sizing: inherit;
}
/* ===============================================================================
Body Setting
=============================================================================== */

html {
    font-size: 62.5%;
}

body {
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    line-height: 1.75;
    font-size: 1.6rem;
    color: #fff;
}
#bg {
    width: 100%;
    height: 100vh;
    background-repeat: no-repeat;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    background-image: url(../img/index/bg_pc.jpg);
    background-position: center top;
    background-size: cover;
}

.wrapper {
    max-width: 880px;
    width: 90%;
    margin: 30px auto;
}

.indent {
    text-indent: -1em;
    padding-left: 1em;
}

@media screen and (max-width: 640px) {
    body {
        font-size: 1.4rem;
        line-height: 1.85;
        letter-spacing: 0.05em;
    }
    #bg {
        background-image: url(../img/index/bg_sp.jpg);
    }
    .wrapper {
        margin: 2px auto 50px;
        border-radius: 22px;
    }
}

a {
    text-decoration: none;
    color: #fff
}
main a {
    color: #ffff86;
    text-decoration: underline;
}
a:hover {
    opacity: 0.5;
}

.hb-open-in-new {
    font-size: .8em;
    position: relative;
    top: -.2em;
}

img {
    vertical-align: top;
    max-width: 100%;
}
.ff-gl, .ff-gm {
    font-family: A1 Gothic L,sans-serif;
}
.ff-m {
    font-family: A1 Gothic M,sans-serif;
}
.flex {
    display: flex;
}
@media screen and (min-width: 641px) {
    .spOnly {
        display: none;
    }
}

@media screen and (max-width: 640px) {
    .pcOnly {
        display: none;
    }
    .spOnly {
        display: block;
    }
    br:not(.sp-br) {
        display: none;
    }
    img {
        width: 100%;
    }
}


/* ===============================================================================
ContentsArea
=============================================================================== */
header {
    height: 7.2727272727vw;
    box-sizing: border-box;
    position: sticky;
    top: 0;
    background-color: rgba(255, 255, 255, .6);
    z-index: 10;
}
header .inner {
    height: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header::after {
    content: '';
    display: block;
    background: url(../img/index/header.svg) repeat-x;
    width: 100%;
    height: 15px;
}
header .logo {
    width: 62.56px;
    height: initial;
}
/* header .logo img {
    filter: drop-shadow(0 0 15px #000);
} */
header a {
    color: #294344;
}
header nav ul {
    display: flex;
}
.hv_op._leave {
    opacity: 1;
}
.hv_op._ov {
    opacity: .65;
}
.hv_op {
    transition: opacity;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(.215,.61,.355,1);
}
header nav ul li {
    margin-left: 1.8181818182vw;
}
header nav ul li .i {
    display: flex;
    align-items: center;
    justify-content: center;
}
header nav ul li .i svg {
    width: 2.1818181818vw;
    height: 2.1818181818vw;
    fill: #000;
}
header nav ul li .i svg {
    fill: #294344;
}
header nav ul li .t {
    display: block;
    font-size: .9090909091vw;
    letter-spacing: .025em;
}
[class*=hbi-] {
    font-size: 24px;
    width: 1em;
    height: 1em;
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
    vertical-align: top;
}
@media (min-width: 751px){
    header .inner {
        width: 88.8888888889vw;
    }
}
@media (min-width: 1100px) {
    header {
        height: 80px;
    }
    header nav ul li .i svg {
        height: 24px;
    }
    header nav ul li .t {
        font-size: 10px;
    }
    header nav ul li {
        margin-left: 20px;
    }
}
@media (min-width: 751px) and (min-width: 1260px) {
    header .inner {
        width: 1120px;
    }
}
@media (max-width: 750px) {
    header {
        height: 14.6666666667vw;
    }
    header::after {
        background: url(../img/index/header_sp.svg) repeat-x;
        width: 100%;
        height: 10px;
    }
    header .inner {
        padding-left: 20px;
        padding-right: 10px;
    }
    header .logo {
        width: 45.44px;
    }
    header nav ul li {
        margin-left: 0vw;
    }
    header nav ul li a {
        padding: 10px;
        display: block;
    }
    header nav ul li .i svg {
        width: 6.4vw;
        height: 6.4vw;
    }
    header nav ul li .t {
        display: none;
    }
}
.mv {
    padding-top: 110px;
    display: flex;
    justify-content: center;
}
.mv h1 {
    content: '';
    display: block;
    background: url(../img/index/title_main.svg) no-repeat;
    background-size: contain;
    width: 554px;
    height: 273px;
    text-indent: -1000vw;
}

.yodogawa {
    font-family: "A1 Gothic M JIS2004", sans-serif;
    display: flex;
    justify-content: center;
    padding: 85px 0 70px;
}

main {
    max-width: 1000px;
    margin: 0 auto;
}
.items .mt {
    margin-top: -70px;
}
.items > div {
    background-color: rgba(0, 0, 0, .5);
    padding: 40px;
    display: flex;
    align-items: center;
    gap: 45px;
    position: relative;
}
.items > div:nth-of-type(n + 2) {
    margin-top: 30px;
}
.items h2 {
    font-family: "Shuei Nijimi Go Gin B", sans-serif;
    font-size: 2rem;
    color: #80A0A7;
    line-height: 1.5;
    letter-spacing: 0;
    padding-bottom: 15px;
}
.items h3 {
    font-family: "Shuei Nijimi Go Gin B", sans-serif;
    font-size: 1.7rem;
    color: #80A0A7;
}
.items .value + h3 {
    padding-top: 20px;
}
.items h3 span {
    font-size: 1.2rem;
    letter-spacing: 0;
}
.items .img_item {
    max-width: 460px;
    position: relative;
}
.items .img_item .pre {
    position: absolute;
    top: 8px;
    left: 8px;
}
.items .text {
    font-size: 1.4rem;
    font-family: "A1 Gothic L JIS2004", sans-serif;
    padding-top: 30px;
}
.items .btn {
    position: absolute;
    right: 40px;
    bottom: 40px;
}
.items .value {
    font-family: "A1 Gothic M JIS2004", sans-serif;
    letter-spacing: .05em;
}
.items .value .en {
    font-size: 1.4rem;
}
.items .value .tax {
    font-size: 1.2rem;
}
.items .soldout{
    display: none;
}
.items .soldout img {
    vertical-align: sub;
}
.items .sold .soldout{
    display: inline-block;
    padding-right: 0.2em;
}
.news {
    background-color: rgba(159,178,179,.5);
    margin-top: 100px;
    padding: 30px;
}
.news > div {
    display: flex;
    align-items: center;
    gap: 30px;
}
.news > div h3 {
    font-family: "Shuei Nijimi Go Gin B", sans-serif;
    font-size: 2.2rem;
    line-height: 1.45;
}
.news > div .text {
    font-family: "A1 Gothic R JIS2004", sans-serif;
    padding-top: 60px;
}
.about {
    margin-top: 45px;
    background-color: rgba(159,178,179,.5);
    padding: 30px 0;
    font-family: A1 Gothic R,sans-serif;
}
.about .inner {
    max-width: 725px;
    margin: 0 auto;
}
.about .inner h3 {
    font-family: "Shuei Nijimi Go Gin B", sans-serif;
    font-size: 2.2rem;
    line-height: 1.45;
}
.about .inner .text {
    font-family: "A1 Gothic R JIS2004", sans-serif;
}
.about .inner .flex {
    padding-top: 20px;
}
.about .inner .flex > div {
    width: 50%;
}
.banner {
    display: flex;
    gap: 30px;
    max-width: 925px;
    margin: 100px auto;
}
.banner a {
    display: block;
    width: 50%;
}

@media screen and (max-width: 820px) {
    .items > div {
        display: block;
        padding: 30px 25vw;
    }
    .items .img_item .pre {
        width: 190px;
    }
    .items .mt {
        margin-top: 0;
    }
    .items .img_item {
        width: 100%;
        margin-bottom: 30px
    }
    .items h2 {
        font-size: 1.9rem;
    }
    .items h3 {
        font-size: 1.5rem;
    }
    .items .value {
        font-size: 1.6rem;
    }
    .items .value .en, .items .value .tax {
        font-size: 1.3rem;
    }
    .items .text {
        padding-top: 20px;
    }
    .items .btn {
        position: relative;
        text-align: center;
        margin: 35px auto 0;
        bottom: 0;
        right: 0;
    }
    .banner {
        display: block;
        margin: 80px auto 60px;
    }
    .banner a {
        width: 92vw;
        margin: 0 auto 20px;
    }
}
@media screen and (max-width: 640px) {
    .mv {
        padding: 55px 0 0;
    }
    .mv h1 {
        width: 87.7vw;
        height: 0;
        padding-top: 50%;
    }
    .yodogawa {
        padding: 80px 0;
        font-size: 1.4rem;
    }
    .items > div {
        padding: 30px 4.7vw;
    }
    .items .btn {
        width: 65.33vw;
    }
    .news {
        margin: 65px 2vw 0;
        padding: 30px 10px;
    }
    .news > div {
        display: block;
    }
    .news > div h3 {
        font-size: 2.1rem;
        padding-bottom: 30px;
    }
    .news > div .text {
        padding-top: 30px;
    }
    .about {
        margin: 30px 2vw 0;
        padding: 30px 10px;
    }
    .about .inner .flex > div {
        width: 100%;
    }
    .about .inner .flex {
        display: block;
    }
}
/* ===============================================================================
FooterArea
=============================================================================== */

footer {
    font-family: "A1 Gothic R JIS2004", sans-serif;
    font-size: 1.2rem;
    background-color: rgba(255,255,255,.6);
    padding: 60px 0;
    color: #294344;
}
footer a {
    color: #294344;
}
footer .inner {
    max-width: 960px;
    width: 90%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: space-between;
}
footer ul {
    list-style: none;
    display: flex;
    align-items: center;
    padding-right: 15px;
    padding-bottom: 15px;
    flex-wrap: wrap;
}
footer ul.share > ul {
    padding-bottom: 0;
}
footer ul.share li {
    font-size: 1.3rem;
    line-height: 28px;
}
footer ul.share > ul li {
    margin: 0 2px;
}
footer ul.share > ul li.share_line {
    margin-right: 15px;
}
footer ul.share > ul::before, footer ul.share > ul::after{
    content: "|";
}
footer ul.share > li::after {
    content: "|";
    margin: 0 15px;
}
footer ul.share > ul li.share_title {
    margin: 0 10px;
}
footer ul.link {
    font-size: 1.2rem;
}
footer ul.link li::after {
    content: "／";
    margin: 0px 0.25em;
}
footer ul.link li:last-of-type:after{
    content: none;
}
footer .hobo {
    text-align: right;
}
footer .copyright {
    margin-top: 3em;
}

@media screen and (max-width: 640px) {
    footer {
        padding: 60px 0 10px;
    }
    footer .inner {
        display: block;
    }
    footer ul.share > ul::before, footer ul.share > ul::after, footer ul.share > li::after{
        content: none;
    }
    footer ul.share > ul li.share_title {
        margin: 0 10px 0 0;
    }
    footer ul {
        padding-bottom: 15px;
        justify-content: center;
    }
    footer ul.share > ul {
        padding-bottom: 15px;
    }
    footer ul.share > ul li img {
        width: 34px;
    }
    footer .share {
        width: 90%;
        padding: 0;
        justify-content: space-between;
        margin: 0 auto 20px;
    }
    footer .share li {
        margin: 0 20px 0 0;
    }
    footer ul.share > ul li {
        margin: 0 8px;
    }
    footer .share > li {
        display: inline-block;
    }
    footer .hobo {
        width: 30.66vw;
        margin: 0 auto 20px;
        text-align: center;
    }
    footer .copyright {
        padding: 50px 0 0 0;
        font-size: 1.2rem;
    }
}