@charset 'UTF-8';
/* window-size + 17px */
/*  Clear Fix
--------------------------------------- */
.clearfix:after
{
display: table;
clear: both;
content: '';
}


/*  Base
--------------------------------------- */
html
{
overflow-y: scroll;
}

body
{
font-family: 'Noto Serif JP', serif;
font-size: 12px;
line-height: 1.5;
color: #3d3a39;
font-weight: 400;
letter-spacing: 0.05em;
border-bottom: 29px solid #1f4129;
overflow-x: hidden;
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
-webkit-print-color-adjust: exact;
-webkit-font-smoothing: antialiased;
}

.en {
font-family: 'Libre Baskerville', sans-serif;
font-weight: 400;
letter-spacing: 0.1em;
}

/*  Links
--------------------------------------- */
a
{
color: #444;
text-decoration: none;
}
a:link,
a:visited
{
text-decoration: none;
}
a:active,
a:hover,
a:focus
{
outline: none;
}

a:hover {
opacity: 0.7;
}


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

Base Style

-------------------------------------------------------------------- */
/*  Universal Reset
--------------------------------------- */
html,
body,
div,
main,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
svg,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
picture,
button
{
zoom: 1;
margin: 0;
padding: 0;
vertical-align: top;
border: 0;
background: transparent;
}

/*  HTML5 Display Definitions
--------------------------------------- */
main,
section,
nav,
article,
aside,
hgroup,
menu,
summary,
svg,
header,
footer,
figure,
figcaption,
details,
picture
{
display: block;
}

audio:not([controls])
{
display: none;
}

[hidden]
{
display: none;
}

/*  Typography
--------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6
{
font-size: 100%;
font-weight: normal;
line-height: 1.5;
}

em
{
font-weight: bold;
font-style: normal;
}

strong,
b
{
font-weight: bold;

color: #f91e1e;
}

sup
{
font-size: 65%;
line-height: 0;

position: relative;
top: -4px;

vertical-align: middle;
}

sub
{
font-size: 65%;
line-height: 0;

position: relative;
top: 0;

vertical-align: middle;
}

pre
{
font-family: monospace, sans-serif;

white-space: pre-wrap;
word-wrap: break-word;
}

/*  Horizontal Rule
--------------------------------------- */
hr
{
display: none;
}

/*  Embedded Content
--------------------------------------- */
img
{
vertical-align: top;
border: 0;
}

svg:not(:root)
{
overflow: hidden;
}

/*  List Content
--------------------------------------- */
ul,
ol
{
list-style: none;
}

/*  Tables
--------------------------------------- */
table
{
width: 100%;

border-collapse: collapse;

border: 0 none;
}

table th,
table td
{
font-size: 1em;
font-weight: normal;

text-align: left;
vertical-align: top;

border: 0 none;
}

/*  Forms
--------------------------------------- */
input::-moz-focus-inner,
button::-moz-focus-inner
{
padding: 0;

border: 0;
}

fieldset
{
border: 0 none;
}

legend
{
display: none;
}

label
{
cursor: pointer;
}

input
{
font-family: 'Noto Sans Japanese', serif;
vertical-align: middle;
border-radius: 0;
border-radius: 0;
outline: none;
}

input[type='text'],
input[type='tel'],
input[type='url'],
input[type='image'],
input[type='email'],
input[type='search'],
input[type='password']
{
-webkit-appearance: none;
}

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

textarea
{
font-family: 'Noto Sans Japanese', serif;
resize: none;
vertical-align: top;
border-radius: 0;
outline: 0;
-webkit-appearance: none;
}

select
{
font-family: 'Noto Sans Japanese', serif;
line-height: normal;

outline: none;
}

button
{
font-size: 100%;
}

.pcHide {
display:none;
}

img {
max-width:100%;
}

body {
border-bottom: 29px solid #1f4129;
}

#wrapper {
padding: 137px 0 0;
border-bottom: 18px solid #d88e81;
}

@media screen and (max-width: 750px) {
.pcHide {
display:inherit;
}

.spHide {
display:none !important;
}

body {
border-bottom: 15px solid #1f4129;
}

#wrapper {
padding: 68.5px 0 0;
border-bottom: 9px solid #d88e81;
}

}



/*  header
--------------------------------------- */

header {
position: fixed;
top: 0;
left: 0;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
padding: 40px 0;
background: rgba(255,255,255,0.8);
z-index: 99;
}

header .menu {
display: none;
}

header .gnav {
display: flex;
}

header .gnav li {
position: relative;
padding: 0 31px;
}

header .gnav li:after {
content: '';
position: absolute;
top: 6px;
right: 0;
width: 1px;
height: 13px;
background-color: #3d3a39;
}

header .gnav li:last-child:after {
display: none;
}

header .gnav li a {
font-size: 16px;
}


@media screen and (max-width: 1150px) {

header {
padding: 30px 0;
}

header .menu {
position: relative;
display: block;
margin: 0 25px 0 0;
z-index: 101;
}

header .gnav {
display: none;
position: fixed;
top: 0;
left: 0;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
padding: 100px 0 0;
background: #3d3a39;
box-sizing: border-box;
z-index: 100;
}

header .gnav li {
position: relative;
width: 100%;
padding: 33px 0;
text-align: center;
}

header .gnav li:after {
display: none;
}

header .gnav li a {
color: #fff;
font-size: 44px;
}


}

@media screen and (max-width: 750px) {

header {
padding: 15px 0;
}

header .logo {
width: 235px;
}

header .menu {
display: block;
width: 32.5px;
margin: 0 12.5px 0 0;
}

header .gnav {
display: none;
position: fixed;
top: 0;
left: 0;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
padding: 30vw 0 0;
background: #3d3a39;
box-sizing: border-box;
z-index: 100;
}

header .gnav li {
position: relative;
width: 100%;
padding: 4.4vw 0;
text-align: center;
}

header .gnav li a {
color: #fff;
font-size: 5.86vw;
}

}


/*  footer
--------------------------------------- */

footer {
margin: 20px 0 0;
text-align: center;
border-bottom: 18px solid #b4873b;
}

footer .copy {
padding: 15px 0 10px;
font-size: 11px;
}

@media screen and (max-width: 750px) {

footer {
text-align: center;
border-bottom: 9px solid #b4873b;
}

footer .insta {
width: 6.67vw;
margin: 0 auto;
}

footer .copy {
padding: 3vw 0 2.5vw;
font-size: 2.4vw;
}

}


/*  ftReserve
--------------------------------------- */

.ftReserve {
max-width: 1067px;
margin: 0 auto 70px;
padding: 0 20px;
box-sizing: border-box;
}

.ftReserve a {
display: block;
padding: 84px 0;
color: #fff;
font-size: 22px;
text-align: center;
letter-spacing: 0.15em;
background: #3d3a39;
}

@media screen and (max-width: 750px) {

.ftReserve {
width: 85.33vw;
margin: 0 auto 12vw;
padding: 0;
}

.ftReserve a {
display: block;
padding: 12.8vw 0;
color: #fff;
font-size: 4vw;
text-align: center;
letter-spacing: 0.15em;
background: #3d3a39;
}

}








