@charset "shift_jis";

/* common
================================================== */
#contents .section .cont:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
#contents .section .cont {
zoom: 1;
}
.zen-kaku-gothic-new-regular {
font-family: "Zen Kaku Gothic New", sans-serif;
}
.libre-bodoni {
font-family: "Libre Bodoni", serif;
}
.Lato {
font-family: 'Lato', sans-serif;
}

.vjs-control-bar,
.vjs-big-play-button,
.vjs-loading-spinner {
display: none !important;
}

#contents {
font-weight: 400;
font-family: "Libre Bodoni","Zen Kaku Gothic New", sans-serif;
width: auto;
font-feature-settings: "palt";
-webkit-font-feature-settings: "palt";
letter-spacing: 0.05em;
color: #333;
}
.noNavigationWide #mainContents {
text-align: center;
float: none;
width: auto;
}

#mainContents {
padding: 0;
}

/* #mainVisual
================================================== */
#mainVisual {}
#mainVisual .cont {
display: flex;
align-items: center;
}
#mainVisual .title {
flex: 1;
box-sizing: border-box;
padding: 85px;
}
#mainVisual .title p {
margin-bottom: 26px;
font-weight: 400;
font-family: "Libre Bodoni", serif;
font-style: italic;
font-size: 52px;
line-height: 1.35;
letter-spacing: 0.075em;
text-align: right;
color: #776633;
}
#mainVisual .title h1 {
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-size: 24px;
line-height: 2.2;
letter-spacing: 0.15em;
text-align: right;
text-decoration: underline;
text-underline-offset: 12px;
color: #776633;
}
#mainVisual .image {
width: 62.5%;
}
#mainVisual .image img {
width: 100%;
height: calc(100vh - 162px);
object-fit: cover;
}

/* mainContents section
================================================== */
#contents .banner a:hover img,
#mainVisual a:hover img {
filter: alpha(opacity=100);
-moz-opacity:1.0;
opacity:1.0;
}

/* #Catch
================================================== */
#Catch  {
background-color: #f1efe5;
}
#Catch .cont {
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
gap: 66px;
position: relative;
margin: 0 auto;
padding: 110px 0;
width: 1166px;
}
#Catch .cont::after {
display: none !important;
}
#Catch .movie {
display: flex;
justify-content: center;
align-items: center;
width: 550px;
}
#Catch .movie .inner {
width: 360px;
}
#Catch .pack {
display: flex;
flex-direction: column;
justify-content: center;
gap: 48px;
align-items: flex-start;
width: 550px;
text-align: left;
}
#Catch .pack p {
font-size: 18px;
line-height: 2.67;
letter-spacing: 0.15em;
color: #776633;
}
#Catch .pack p:nth-of-type(even) {
margin-left: 50px;
}

/* #Gift
================================================== */
#Gift  {
background-color: #fff;
}
#Gift h2 {
padding: 113px 0 32px 0;
font-weight: 400;
font-size: 60px;
font-style: italic;
letter-spacing: 0.05em;
text-align: center;
color: #776633;
}
#Gift .main {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 0 auto 24px auto;
width: 1166px;
}
#Gift .main .block {
position: relative;
width: 340px;
}
#Gift .main img {
margin-bottom: 30px;
width: 100%;
height: auto;
}
#Gift .main .pack {
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: flex-start;
background-color: #fff;
text-align: left;
}
#Gift .main .pack h4 {
margin-bottom: 25px;
font-weight: 400;
font-family: "Libre Bodoni", serif;
font-style: italic;
font-size: 20px;
line-height: 1.25;
letter-spacing: 0.05em;
color: #776633;
}
#Gift .main .pack h4 span {
font-weight: 400;
font-family: "Zen Kaku Gothic New", sans-serif;
font-style: normal;
font-size: 18px;
letter-spacing: 0;
}
#Gift .number {
display: flex;
flex-wrap: wrap;
margin: 0 0 18px 0;
text-align: center;
}
#Gift .number dt {
box-sizing: border-box;
background-color: #776633;
border-right: none;
border: solid 1px #776633;
border-radius: 3px 0 0 3px;
padding-top: 2px;
width: 60px;
height: 23px;
font-size: 11px;
line-height: 21px;
color: #fff;
}
#Gift .number dd {
box-sizing: border-box;
background-color: #fff;
border: solid 1px #776633;
border-radius: 0 3px 3px 0;
border-left: none;
padding: 0 4px 0 4px;
min-width: 42px;
height: 23px;
font-size: 13px;
line-height: 23px;
color: #776633;
}
#Gift .price {
margin-bottom: 26px;
font-size: 14px;
line-height: 1.3;
color: #776633;
}
#Gift .price span {
font-size: 18px;
}
#Gift .main .pack .cnt {
margin-top: 33px;
flex: 1;
font-size: 13px;
line-height: 1.54;
letter-spacing: 0;
color: #776633;
}
#Gift .main .pack .cart {
margin-left: 40px;
font-size: 16px;
}
#Gift .main .pack .cart a {
transition: background 0.7s ease,color 0.7s ease;
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
border: solid 1px #776633;
padding-top: 5px;
width: 240px;
height: 52px;
text-decoration: none;
color: #776633;
}
#Gift .main .pack .cart a:hover {
background-color: #776633;
color: #fff;
}
#Gift .etc {
display: flex;
gap: 106px;
margin: 0 auto;
padding: 80px 0 120px 0;
width: 1006px;
}
#Gift .etc .block {
flex: 1;
display: flex;
align-items: center;
gap: 40px;
}
#Gift .etc .block::after {
display: none;
}
#Gift .etc .block .pack {
flex: 1;
}
#Gift .etc .block p {
font-size: 16px;
line-height: 2;
text-align: left;
color: #776633;
}

/* #Item
================================================== */
#Item  {
background-color: #e0cdbb;
}
#Item .cont {
margin: 0 auto;
width: 1166px;
text-align: left;
color: #776633;
}
#Item .head {
display: flex;
flex-wrap: wrap;
align-items: center;
padding: 100px 0 90px 71px;
}
#Item .head p {
margin-left: 80px;
width: 560px;
font-size: 18px;
line-height: 2;
}
#Item .items {
display: flex;
flex-wrap: wrap;
gap: 88px 66px;
padding-bottom: 120px;
}
#Item .items .block {
display: flex;
width: 550px;
}
#Item .items .image {
width: 190px;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
#Item .items .pack {
flex: 1;
display: flex;
flex-direction: column;
align-items: flex-start;
}
#Item .items h3 {
margin-bottom: 20px;
font-weight: 500;
font-size: 24px;
}
#Item .items h4 {
border-bottom: solid 1px #c36c40;
margin-bottom: 23px;
font-weight: 500;
font-size: 20px;
line-height: 1.4;
letter-spacing: 0.1em;
}
#Item .items p {
font-size: 16px;
line-height: 2;
}

/* #Story
================================================== */
#Story  {
background-color: #f1efe5;
}
#Story .cont {
position: relative;
margin: 0 auto;
padding: 162px 0 110px 0;
width: 1166px;
text-align: left;
}
#Story h2 {
position: absolute;
left: 0;
top: 102px;
font-weight: 400;
font-style: italic;
font-size: 70px;
line-height: 1.15;
letter-spacing: 0.1em;
color: #766735;
}
#Story .list {
counter-reset: number 0;
}
#Story .block {
display: flex;
flex-wrap: wrap;
align-items: center;
}
#Story .block .image {
position: relative;
}
#Story .block .image::before {
counter-increment: number 1;
content: counter(number) "";
position: absolute;
left: -80px;
top: 0;
font-family: "Libre Bodoni", serif;
font-size: 88px;
font-weight: 400;
line-height: 0;
font-style: italic;
}
#Story .block:nth-of-type(1) .image::before {
left: inherit;
right: -82px;
top: 11px;
color: #c3c5a7;
}
#Story .block:nth-of-type(2) .image::before {
color: #b4bdb6;
}
#Story .block:nth-of-type(3) .image::before {
color: #e0ccbb;
}
#Story .block:nth-of-type(1) {
margin-bottom: 100px;
margin-left: 325px;
}
#Story .block:nth-of-type(1) .pack {
margin-left: 72px;
width: 415px;
}
#Story .block:nth-of-type(1) h3 {
margin-left: 53px;
}
#Story .block:nth-of-type(1) h3 span:nth-of-type(2) {
margin-left: 30px;
}
#Story .block:nth-of-type(2) {
margin-bottom: 110px;
margin-left: 135px;
}
#Story .block:nth-of-type(2) .pack {
margin-left: 60px;
width: 415px;
}
#Story .block:nth-of-type(2) h3 span:nth-of-type(2) {
margin-left: 30px;
}
#Story .block:nth-of-type(3) {
flex-direction: row-reverse;
margin-right: 90px;
}
#Story .block:nth-of-type(3) .pack {
margin-right: 110px;
width: 305px;
}
#Story h3 {
margin-bottom: 26px;
font-weight: 400;
font-size: 28px;
line-height: 2.05;
letter-spacing: 0.15em;
}
#Story h3 span {
background-color: #c36c40;
padding: 3px 14px 0 14px;
color: #fff;
}
#Story p {
font-size: 18px;
line-height: 2;
color: #776633;
}
#Story p.note {
margin-top: 15px;
font-size: 14px;
line-height: 1.72;
}

/* #Hint
================================================== */
#Hint  {
background: url("../img/hin_bg.png") repeat center center;
}
#Hint .cont {
position: relative;
margin: 0 auto;
padding: 130px 0 90px 0;
width: 1166px;
text-align: left;
color: #776633;
}
#Hint h2 {
position: absolute;
left: 43px;
top: 100px;
}
#Hint .image {
position: absolute;
right: 0;
top: 152px;
}
#Hint .list {
counter-reset: number 0;
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-items: flex-start;
gap: 55px;
}
#Hint .list::after {
display: none;
}
#Hint .block {
position: relative;
display: flex;
flex-wrap: wrap;
flex-direction: column;
align-items: flex-start;
}
#Hint .block:nth-of-type(1) {
margin-left: 360px;
}
#Hint .block:nth-of-type(2) {
margin-left: 286px;
}
#Hint .block:nth-of-type(3) {
margin-left: 141px;
}
#Hint .block::before {
counter-increment: number 1;
content: counter(number) "";
position: absolute;
left: -75px;
top: 32px;
font-family: "Libre Bodoni", serif;
font-size: 88px;
font-weight: 400;
line-height: 0;
font-style: italic;
color: #c36c40;
}
#Hint .block:nth-of-type(1)::before {
left: -70px;
}
#Hint h3 {
border-bottom: solid 1px #c36c40;
margin-bottom: 19px;
font-weight: 400;
font-size: 28px;
line-height: 1.4;
letter-spacing: 0.15em;
}
#Hint p {
font-size: 18px;
line-height: 2;
}

/* #QA
================================================== */
#QA  {
background-color: #f1efe5;
}
#QA .cont {
position: relative;
margin: 0 auto;
padding: 116px 0 113px 0;
width: 1166px;
text-align: left;
}
#QA h2 {
position: absolute;
left: 0;
top: 97px;
font-weight: 400;
font-style: italic;
font-size: 64px;
line-height: 1.15;
letter-spacing: 0.2em;
color: #766735;
}
#QA .list {
display: flex;
flex-direction: column;
gap: 80px;
margin: 0 auto;
width: 700px;
}
#QA .list::after {
display: none;
}
#QA h3 {
margin-bottom: 20px;
font-family: "Zen Kaku Gothic New", sans-serif;
font-weight: 400;
font-size: 24px;
letter-spacing: 0.15em;
color: #c36c40;
}
#QA p {
font-family: "Zen Kaku Gothic New", sans-serif;
font-size: 18px;
line-height: 2;
color: #776633;
}
#QA .note {
display: flex;
flex-direction: column;
gap: 6px;
margin-top: 20px;
font-size: 14px;
line-height: 1.72;
color: #776633;
}

/* #QA
================================================== */
#Island  {
background-color: #fff;
}
#Island .cont {
display: flex;
flex-wrap: wrap;
position: relative;
margin: 0 auto;
padding: 56px 0 95px 0;
width: 1166px;
text-align: left;
}
#Island .image {
display: flex;
justify-content: center;
align-items: center;
width: 460px;
}
#Island .pack {
flex: 1;
}
#Island p {
font-size: 16px;
line-height: 2;
color: #776633;
}


/* bxslider */
.bx-wrapper {
position: relative;
padding: 0;
*zoom: 1;
-ms-touch-action: pan-y;
touch-action: pan-y;
}
.bx-wrapper img {
max-width: 100%;
display: block;
}
.bxslider {
margin: 0;
padding: 0;
}
ul.bxslider {
list-style: none;
}
.bx-viewport {
/*fix other elements on the page moving (on Chrome)*/
-webkit-transform: translatez(0);
}
/** THEME
===================================*/
.bx-wrapper {
overflow: hidden;
}
.bx-wrapper .bx-controls {
transform: translate(-50%,-50%);
position: absolute;
top: 50%;
left: 50%;
width: 1166px;
}
/* PAGER */
.bx-wrapper .bx-pager {
box-sizing: border-box;
padding: 28px 5px 0 5px;
min-width: 60px;
white-space: nowrap;
text-align: center;
}
.bx-wrapper .bx-pager.bx-default-pager .bx-pager-item {
display: inline-block;
margin: 0 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
transition: all 0.7s ease;
background: #ccc;
text-indent: -9999px;
display: inline-block;
width: 6px;
height: 6px;
outline: 0;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
background: #88bb22;
}
/* DIRECTION CONTROLS (NEXT / PREV) */
.bx-wrapper .bx-prev {
left: 0;
}
.bx-wrapper .bx-next {
right: 0;
}
.bx-wrapper .bx-controls-direction a {
transition: all 0.7s ease;
position: absolute;
top: 0;
outline: 0;
background-color: rgba(85,85,85,0.75);
border-radius: 99999px;
width: 60px;
height: 60px;
text-indent: -9999px;
z-index: 99;
color: #666;
}
.bx-wrapper .bx-prev:hover,
.bx-wrapper .bx-next:hover {
background-color: rgba(119,102,51,0.75);
color: #fff;
}
.bx-wrapper .bx-next::before,
.bx-wrapper .bx-prev::before {
-webkit-transition: all 0.7s ease;
-moz-transition: all 0.7s ease;
-o-transition: all 0.7s ease;
transition: all 0.7s ease;
position: absolute;
content: '';
display: block;
box-sizing: border-box;
width: 13px;
height: 13px;
}
.bx-wrapper .bx-prev::before {
left: 50%;
top: 50%;
transform: rotate(-45deg) translateY(-60%);
border-top: solid 2px #fff;
border-left: solid 2px #fff;
}
.bx-wrapper .bx-prev:hover::before {
border-top: solid 2px #fff;
border-left: solid 2px #fff;
}
.bx-wrapper .bx-next::before {
right: 50%;
top: 50%;
transform: rotate(45deg) translateY(-60%);
border-top: solid 2px #fff;
border-right: solid 2px #fff;
}
.bx-wrapper .bx-next:hover::before {
border-top: solid 2px #fff;
border-right: solid 2px #fff;
}
.bx-wrapper .bx-controls-direction a.disabled {
display: none;
}