@charset "UTF-8";
@import url("//fonts.googleapis.com/css?family=Noto+Serif+JP:300,400,600,700&display=swap");
/* font-family: 'Noto Serif JP', ; */
@import url("https://fonts.googleapis.com/css?family=Cormorant+Garamond:300i,500i,600i&display=swap");
/*font-family: 'Cormorant Garamond', ;*/
/*
font-family: $font-min;
300 400 600 700
*/
/*
font-family: $font-en;
300i 600i
*/
/* font-family: $font-en; */
/*@include font-min();*/
/*@include font-en();*/
@import url(//use.fontawesome.com/releases/v5.6.1/css/all.css);
* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: border-box;
}

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/*!
* ress.css • v1.1.2
* MIT License
* github.com/filipelinhares/ress
*/
/* # =================================================================
# Global selectors
# ================================================================= */
html {
  box-sizing: border-box;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

*,
::before,
::after {
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements */
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
# General elements
# ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-style: normal;
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 100%;
  /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */
}

ul,
ol {
  list-style: none;
}

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

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

address,
em {
  font-style: normal;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  rt:not(:target) {
    position: relative;
    top: -0.7em;
    /* IE10（\9なしでIE11にも適用） */
  }
}

/* # =================================================================
# Forms
# ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto;
  /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Safari 8 */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

/* # =================================================================
# Specify media element style
# ================================================================= */
img {
  max-width: 100%;
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
  vertical-align: bottom;
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
# Accessibility
# ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
# Selection
# ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

a {
  color: #000;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

ul {
  letter-spacing: -.4em;
}

ul li {
  letter-spacing: normal;
}

/*@include incImg100();*/
/*@include incSmooth();*/
/*@include dropshadow;*/
/*@include boxshadow;*/
/*@include fs();*/
/*@include btm();*/
html {
  font-size: 62.5%;
  /* sets the base font to 10px for easier math */
}

body {
  color: #333;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  overflow-x: hidden;
}

a, a:link, a:hover, a:focus {
  color: #002C59;
  text-decoration: underline;
  cursor: pointer;
  outline: none;
}

a:hover {
  text-decoration: none;
}

img[src$=".svg"] {
  width: 100%;
}

/* clearFIx
   ==================================== */
.clearfix:after {
  content: ".";
  height: 0;
  clear: both;
  display: block;
  font-size: 0.1em;
  line-height: 0;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
  min-height: 1%;
}

/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%;
}

/* TopControl
   ==================================== */
#topcontrol {
  z-index: 8;
}

#topcontrol a {
  background: url(/wedding/assets/js/scrolltop/scrollup.png) center center no-repeat;
  background: url(/wedding/assets/js/scrolltop/scrollup.gif) center center no-repeat\9;
  /* IE8 and below */
  *background: url(/wedding/assets/js/scrolltop/scrollup.gif) center center no-repeat;
  /* IE7 and below */
  _background: url(/wedding/assets/js/scrolltop/scrollup.gif) center center no-repeat;
  /* IE6 */
  background-size: 40px 40px;
  font-size: 0;
  text-decoration: none;
  display: block;
  height: 38px;
  width: 38px;
  opacity: 0.7;
  border-radius: 38px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .15s ease-in-out;
  transition: all .15s ease-in-out;
}

#topcontrol a:hover {
  background-size: 54px 54px;
  opacity: 1;
  height: 50px;
  width: 50px;
}

/* compo
   ==================================== */
.titleArea {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  min-height: 200px;
}

.titleArea h1 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 400;
  line-height: 1.7;
  text-align: center;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  text-align: center;
  width: 100%;
}

.titleArea h1 span {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.5;
  line-height: 1.4;
  width: 100%;
}

.mv {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 400px;
}

.mv img {
  height: auto;
  width: 100%;
}

.contents {
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

section {
  padding: 50px;
}

.spHide {
  display: inline-block;
}

.spDisp {
  display: none;
}

.sec404 {
  padding: 0 50px 120px;
  text-align: center;
}

.sec404 p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2.6;
  margin-bottom: 15px;
}

/*
.titleArea h1.for404 {
    font-size: 30px!important;
    font-size: 3rem!important;
}
*/
@media only screen and (min-width: 960px) {
  /*
.modaal-gallery-item {
position: relative!important;
}
*/
  .modaal-close {
    position: absolute !important;
    right: -50px !important;
    top: -50px !important;
  }
}

.movie {
  padding-top: 0;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .movie iframe {
    max-width: 100%;
    height: 55vw;
  }
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  body {
    background-color: #002C59;
    font-size: 1.5rem;
    letter-spacing: 0.03em;
    padding-bottom: 40px;
  }
  p, li, dt, dd, th, td {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.65;
    letter-spacing: 0.05em;
  }
  #topcontrol {
    bottom: 60px !important;
    z-index: 8;
  }
  #wrap {
    background-color: #FFF;
    padding-top: 55px;
  }
  .titleArea {
    background-color: #FFF;
    min-height: 80px;
  }
  .titleArea h1 {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .titleArea h1 span {
    font-size: 26px;
    font-size: 2.6rem;
  }
  .mv {
    min-height: 100vw;
  }
  .contents {
    background-color: #FFF;
  }
  section {
    padding: 30px 20px;
  }
  .spHide {
    display: none;
  }
  .spDisp {
    display: block;
  }
  .modaal-close {
    top: 70px !important;
  }
  .sec404 {
    padding: 0 20px 50px;
    text-align: left;
  }
  .sec404 p {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 2;
    margin-bottom: 15px;
  }
  .sec404 p br {
    display: none;
  }
  /*
.titleArea h1.for404 {
    font-size: 20px!important;
    font-size: 2rem!important;
}
*/
}

.header {
  background-color: #FFF;
  height: 146px;
  position: relative;
  text-align: center;
  box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0px 9px 3px -3px rgba(0, 0, 0, 0.05);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media only screen and (max-width: 960px) {
  .header {
    box-shadow: 0px 7px 3px -3px rgba(0, 0, 0, 0.04);
    -webkit-box-shadow: 0px 7px 3px -3px rgba(0, 0, 0, 0.04);
    -moz-box-shadow: 0px 7px 3px -3px rgba(0, 0, 0, 0.04);
  }
}

.header .hdT {
  max-width: 1480px;
  margin: 0 auto;
}

.header .hdT .logo {
  padding: 20px 0 10px;
}

.header .hdT .logo a {
  display: block;
  height: 52px;
  margin: 0 auto;
  width: 180px;
}

.header .hdT ul {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
}

.header .hdT ul li {
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 0 2px;
}

.header .hdT ul li a {
  border-radius: 0 0 4px 4px / 0 0 4px 4px;
  -webkit-border-radius: 0 0 4px 4px / 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px / 0 0 4px 4px;
  color: #FFF;
  display: inline-block;
  min-width: 11vw;
  padding: 14px 15px;
  text-decoration: none;
  transition: 0.2s;
}

.header .hdT ul li a:hover {
  opacity: 0.8;
}

.header .hdT ul li:first-child a {
  background-color: #002C59;
}

.header .hdT ul li:nth-child(2) a {
  background-color: #426F97;
}

.header .hdT ul li:nth-child(3) a {
  background-color: #7A9FC0;
}

.header .gNav {
  display: flex;
  justify-content: center;
  max-width: 1680px;
  margin: 0 auto;
  width: 100%;
}

@media only screen and (min-width: 1980px) {
  .header .gNav {
    max-width: 1680px;
  }
}

.header .gNav li {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  min-width: 5vw;
  padding: 15px 1.2vw 0;
}

@media only screen and (min-width: 1980px) {
  .header .gNav li {
    padding: 15px 30px 0;
    word-break: keep-all;
  }
}

.header .gNav li a {
  color: #222;
  display: inline-block;
  padding: 15px 0 10px;
  position: relative;
  text-decoration: none;
  transition: 0.2s;
}

.header .gNav li a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #000;
  transition: .3s;
}

.header .gNav li a:hover, .header .gNav li a.current {
  color: #426F97;
}

.header .gNav li a:hover:after, .header .gNav li a.current:after {
  background-color: #7A9FC0;
  width: 100%;
}

/* spMenu
==================================== */
.spMenuSet {
  display: none;
}

.open #global-nav {
  z-index: 1000;
  visibility: visible;
}

#global-nav {
  visibility: hidden;
  position: fixed;
  display: table;
  vertical-align: middle;
  color: #fff;
  top: 0;
  height: 100%;
  width: 100%;
  text-align: center;
  font-size: 50px;
  font-weight: 100;
  letter-spacing: 0.08em;
}

#global-nav ul {
  display: table-cell;
  vertical-align: middle;
  list-style: none;
  padding-bottom: 30px;
}

#global-nav a {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 300;
  font-size: 15px;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  line-height: 1;
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 10px 0;
  transition: 0.2s;
}

#global-nav a:hover {
  /*background: rgba(5, 25, 49, 0.95);*/
  cursor: pointer;
}

#global-nav ul li {
  opacity: 0;
  -webkit-transform: scaleY(0) translateY(50px);
  transform: scaleY(0) translateY(50px);
  -webkit-filter: blur(10px);
  filter: blur(10px);
  -webkit-transition: none;
  transition: none;
}

.open #global-nav ul li {
  opacity: 1;
  -webkit-transform: scaleX(1) translateX(0);
  transform: scaleX(1) translateX(0);
  -webkit-filter: blur(0);
  filter: blur(0);
  -webkit-transition: all .3s ease-out;
  transition: all .6s ease-out;
  -webkit-transition-delay: .15s;
  transition-delay: .15s;
}

.open #global-nav ul li:nth-child(2) {
  -webkit-transition-delay: .2s;
  transition-delay: .2s;
}

.open #global-nav ul li:nth-child(3) {
  -webkit-transition-delay: .25s;
  transition-delay: .25s;
}

.open #global-nav ul li:nth-child(4) {
  -webkit-transition-delay: .3s;
  transition-delay: .3s;
}

.open #global-nav ul li:nth-child(5) {
  -webkit-transition-delay: .35s;
  transition-delay: .35s;
}

.open #global-nav ul li:nth-child(6) {
  -webkit-transition-delay: .4s;
  transition-delay: .4s;
}

.open #global-nav ul li:nth-child(7) {
  -webkit-transition-delay: .45s;
  transition-delay: .45s;
}

.open #global-nav ul li:nth-child(8) {
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}

.open #global-nav ul li:nth-child(9) {
  -webkit-transition-delay: .55s;
  transition-delay: .55s;
}

.open #global-nav ul li:nth-child(10) {
  -webkit-transition-delay: .6s;
  transition-delay: .6s;
}

.open #global-nav ul li:nth-child(11) {
  -webkit-transition-delay: .65s;
  transition-delay: .65s;
}

.open #global-nav ul li:nth-child(12) {
  -webkit-transition-delay: .7s;
  transition-delay: .7s;
}

.open #global-nav ul li:nth-child(12) a:before {
  background: url("/wedding/assets/img/common/blank.png") left center no-repeat;
  content: '';
  display: inline-block;
  margin-right: 5px;
  vertical-align: -1px;
  height: 11px;
  width: 17px;
}

.open #global-nav ul li:nth-child(13) {
  -webkit-transition-delay: .75s;
  transition-delay: .75s;
}

.open #global-nav ul li:nth-child(13) a:before {
  content: "\f16d";
  display: inline-block;
  font-family: "Font Awesome 5 Brands";
  font-size: 17px;
  font-weight: 400;
  margin-right: 5px;
  vertical-align: -1px;
  -webkit-font-smoothing: antialiased;
}

#nav-bg {
  content: "";
  width: 100%;
  height: 50px;
  top: -50px;
  left: 0;
  display: block;
  position: fixed;
  background: rgba(0, 44, 89, 0);
  -webkit-transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 0.3s cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: scale();
  transform: scale();
}

.open #nav-bg {
  background: rgba(0, 44, 89, 0.9);
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 0.9s cubic-bezier(0.77, 0, 0.175, 1);
  width: 100vw;
  height: 100vh;
  margin-right: 0;
  margin-top: 0;
  top: 0;
  left: 0;
}

#nav-toggle {
  display: block;
  position: fixed;
  right: 0;
  top: 0;
  width: 55px;
  height: 55px;
  cursor: pointer;
  padding: 17px 14px;
  z-index: 1001;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 0.6s cubic-bezier(0.77, 0, 0.175, 1);
}

#nav-toggle div {
  position: relative;
}

body.open #nav-toggle {
  background-color: #FFF;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  background: #333;
  left: 0;
  zoom: 1;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 10px;
}

#nav-toggle span:nth-child(3) {
  top: 20px;
}

.open #nav-toggle {
  background: transparent;
}

.open #nav-toggle span {
  background: #002C59;
}

.open #nav-toggle span:nth-child(1) {
  top: 8px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  zoom: 1;
}

.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}

.open #nav-toggle span:nth-child(3) {
  top: 8px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  zoom: 1;
  width: 100%;
}

.scrollHeader {
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  justify-content: space-between;
  /*
@include dropshadow;
*/
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 10px 30px;
  width: 100%;
  z-index: 100;
  position: fixed;
  left: 0;
  top: -60px;
  opacity: 0;
  transition: 0.5s;
}

.scrollHeader .logo a {
  display: block;
  margin: 0 auto;
  width: 130px;
}

.scrollHeader .logo a img {
  height: auto;
  width: 100%;
}

.scrollHeader .data ul {
  display: flex;
  position: absolute;
  top: 12px;
  right: 110px;
}

.scrollHeader .data ul li {
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 0 2px;
}

.scrollHeader .data ul li a {
  border-radius: 4px;
  color: #FFF;
  display: inline-block;
  min-width: 8vw;
  padding: 10px 15px;
  text-decoration: none;
  text-align: center;
  transition: 0.2s;
}

.scrollHeader .data ul li a:hover {
  opacity: 0.8;
}

.scrollHeader .data ul li:first-child a {
  background-color: #002C59;
}

.scrollHeader .data ul li:nth-child(2) a {
  background-color: #426F97;
}

.scrollHeader .data ul li:nth-child(3) a {
  background-color: #7A9FC0;
}

.scrollHeader .data #nav-togglePC {
  cursor: pointer;
  display: block;
  position: absolute;
  right: 30px;
  top: 0;
  width: 55px;
  height: 55px;
  padding: 17px 14px;
  z-index: 1001;
  transition: 0.2s;
}

.scrollHeader .data #nav-togglePC:hover {
  opacity: 0.4;
}

.scrollHeader .data #nav-togglePC div {
  position: relative;
}

.scrollHeader .data body.open #nav-togglePC {
  background-color: #FFF;
}

.scrollHeader .data #nav-togglePC span {
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  background: #333;
  left: 0;
  zoom: 1;
  -webkit-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

.scrollHeader .data #nav-togglePC span:nth-child(1) {
  top: 0;
}

.scrollHeader .data #nav-togglePC span:nth-child(2) {
  top: 10px;
}

.scrollHeader .data #nav-togglePC span:nth-child(3) {
  top: 20px;
}

.scrollHeader .data .open #nav-togglePC {
  background: transparent;
}

.scrollHeader .data .open #nav-togglePC span {
  background: #002C59;
}

.scrollHeader .data .open #nav-togglePC span:nth-child(1) {
  top: 8px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  zoom: 1;
}

.scrollHeader .data .open #nav-togglePC span:nth-child(2) {
  width: 0;
  left: 50%;
}

.scrollHeader .data .open #nav-togglePC span:nth-child(3) {
  top: 8px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  zoom: 1;
  width: 100%;
}

body.pcHeader .scrollHeader {
  top: 0;
  opacity: 1;
}

.modalPCMenu {
  background-color: white;
  padding: 55px;
  width: 100%;
  max-width: 1200px;
  position: relative;
}

.modalPCMenu .logo {
  margin-bottom: 30px;
}

.modalPCMenu .logo a {
  display: block;
  margin: 0 auto;
  width: 200px;
}

.modalPCMenu .logo a img {
  height: auto;
  width: 100%;
}

.modalPCMenu ul.mainMenu {
  display: flex;
  flex-wrap: wrap;
}

.modalPCMenu ul.mainMenu li {
  margin: 1%;
  width: 31%;
}

.modalPCMenu ul.mainMenu li:first-child {
  width: 100%;
}

.modalPCMenu ul.mainMenu li a {
  border-bottom: 1px dotted #AAA;
  background: url("/wedding/assets/img/common/img_next.png") 97% center no-repeat;
  background-size: 12px auto;
  color: #333;
  display: block;
  margin-bottom: 10px;
  padding: 15px;
  text-decoration: none;
  transition: 0.3s;
}

.modalPCMenu ul.mainMenu li a:hover {
  background-position: 98% center;
  opacity: 0.5;
}

.modalPCMenu .contactFlex {
  border-bottom: 1px solid #CCC;
  display: flex;
  justify-content: space-between;
  padding: 40px 0 30px;
}

.modalPCMenu .contactFlex dl {
  text-align: center;
  width: 48.5%;
}

.modalPCMenu .contactFlex dl dt {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.7;
  padding-bottom: 15px;
  word-break: keep-all;
}

.modalPCMenu .contactFlex dl dd p {
  display: flex;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  width: 100%;
}

.modalPCMenu .contactFlex dl dd p a {
  border-radius: 3px;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 5px;
  min-height: 50px;
  text-decoration: none;
  transition: 0.3s;
  width: 100%;
}

.modalPCMenu .contactFlex dl dd p a.btn01 {
  background-color: #002C59;
}

.modalPCMenu .contactFlex dl dd p a.btn02 {
  background-color: #426F97;
}

.modalPCMenu .contactFlex dl dd p a.btn03 {
  background-color: #7A9FC0;
}

.modalPCMenu .contactFlex dl dd p a:hover {
  opacity: 0.7;
}

.modalPCMenu .otherFlex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
}

.modalPCMenu .otherFlex .list {
  display: flex;
}

.modalPCMenu .otherFlex .list li {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
  margin-right: 30px;
}

.modalPCMenu .otherFlex .list li a {
  color: #333;
  text-decoration: none;
  transition: 0.3s;
}

.modalPCMenu .otherFlex .list li a:hover {
  opacity: 0.6;
}

.modalPCMenu .otherFlex ul.btnList {
  display: flex;
  justify-content: space-between;
}

.modalPCMenu .otherFlex ul.btnList li {
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.3;
  width: 49%;
}

.modalPCMenu .otherFlex ul.btnList li a {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 2px;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  padding: 0 5px;
  text-decoration: none;
  transition: 0.2s;
  min-width: 200px;
}

.modalPCMenu .otherFlex ul.btnList li a:hover {
  opacity: 0.7;
}

.modalPCMenu .otherFlex ul.btnList li:first-child a:before {
  background: url("/wedding/assets/img/common/blank_b.png") left center no-repeat;
  content: '';
  display: inline-block;
  margin-right: 5px;
  vertical-align: -1px;
  height: 11px;
  width: 17px;
}

.modalPCMenu .otherFlex ul.btnList li:last-child a {
  background-color: #333;
  border: none;
  color: #FFF;
  letter-spacing: 0.1em;
}

.modalPCMenu .otherFlex ul.btnList li:last-child a:before {
  content: "\f16d";
  display: inline-block;
  font-family: "Font Awesome 5 Brands";
  font-size: 17px;
  font-weight: 400;
  margin-right: 8px;
  vertical-align: -1px;
  -webkit-font-smoothing: antialiased;
}

.modalPCMenu #close_modalPCMenu {
  position: absolute;
  top: 50px;
  right: 50px;
  cursor: pointer;
  transition: 0.3s;
}

.modalPCMenu #close_modalPCMenu:hover {
  opacity: 0.5;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .header {
    height: 55px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
  }
  .header .hdT {
    max-width: 1480px;
    margin: 0 auto;
  }
  .header .hdT .logo {
    padding: 15px 0 0 0;
  }
  .header .hdT .logo a {
    display: block;
    height: 23px;
    margin: 0 auto;
    width: 135px;
  }
  .header .hdT ul {
    position: fixed;
    top: auto;
    bottom: -60px;
    left: 0;
    opacity: 0;
    width: 100%;
    z-index: 1001;
  }
  .header .hdT ul li {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0;
    width: 100%;
  }
  .header .hdT ul li a {
    border-radius: 0;
    display: block;
    min-width: auto;
    min-width: inherit;
    padding: 14px 10px 14px;
  }
  .header .gNav {
    display: none;
  }
  body.scrollUp .header .hdT ul {
    bottom: 0;
    opacity: 1;
    transition: 0.7s;
  }
  body.modal .header .hdT ul {
    bottom: -60px;
    opacity: 0;
  }
  body.open .header .hdT ul {
    bottom: 0 !important;
    opacity: 1 !important;
    transition: 0.7s !important;
  }
  /* spMenu
==================================== */
  .spMenuSet {
    display: block;
  }
  .scrollHeader,
  .modalPCMenu {
    display: none;
  }
}

.contactUs {
  background-color: #F5F4EC;
  padding: 55px 30px 50px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.contactUs .inr {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  max-width: 1480px;
  margin: 0 auto;
}

.contactUs .inr .data h2 {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 40px;
  font-size: 4rem;
  margin-bottom: 30px;
}

.contactUs .inr .data p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.6;
}

.contactUs .inr .data .cuFlex {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  padding-top: 20px;
}

.contactUs .inr .data .cuFlex p.tel {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin: 0 20px 10px 0;
}

.contactUs .inr .data .cuFlex dl {
  display: flex;
  align-items: center;
}

.contactUs .inr .data .cuFlex dl dt {
  border: 1px solid #BBB;
  border-radius: 3px;
  font-size: 12px;
  font-size: 1.2rem;
  margin: 0 7px 0 0;
  padding: 4px 10px;
}

.contactUs .inr .data .cuFlex dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  margin-right: 20px;
}

.contactUs .inr .btn {
  border-left: 1px solid #CCC;
  padding-left: 70px;
}

.contactUs .inr .btn h2 {
  display: none;
}

.contactUs .inr .btn dl {
  padding: 15px 0;
  text-align: center;
}

.contactUs .inr .btn dl dt {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.4;
  padding-bottom: 10px;
  word-break: keep-all;
}

.contactUs .inr .btn dl dd p {
  display: flex;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  width: 100%;
}

.contactUs .inr .btn dl dd p a {
  border-radius: 3px;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 5px;
  min-height: 50px;
  text-decoration: none;
  transition: 0.3s;
  width: 100%;
}

.contactUs .inr .btn dl dd p a.btn01 {
  background-color: #002C59;
}

.contactUs .inr .btn dl dd p a.btn02 {
  background-color: #426F97;
}

.contactUs .inr .btn dl dd p a.btn03 {
  background-color: #7A9FC0;
}

.contactUs .inr .btn dl dd p a:hover {
  opacity: 0.7;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .contactUs {
    background-color: #F5F4EC;
    border-top: 1px solid #EEE;
    padding: 40px 20px 20px;
  }
  .contactUs .inr {
    display: block;
  }
  .contactUs .inr .data {
    margin-bottom: 10px;
  }
  .contactUs .inr .data h2 {
    display: none;
  }
  .contactUs .inr .data p {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.8;
    padding-top: 10px;
  }
  .contactUs .inr .data .cuFlex {
    display: block;
    align-items: baseline;
    padding-top: 0;
  }
  .contactUs .inr .data .cuFlex p.tel {
    font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 600;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.6;
    margin: 0 0 10px 0;
  }
  .contactUs .inr .data .cuFlex dl {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    width: 100%;
  }
  .contactUs .inr .data .cuFlex dl dt {
    border: 1px solid #BBB;
    border-radius: 3px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1;
    margin: 0 5px 4px 0;
    padding: 2px 7px 3px;
    text-align: center;
    width: auto;
  }
  .contactUs .inr .data .cuFlex dl dd {
    font-size: 12px;
    font-size: 1.2rem;
    margin-right: 10px;
    margin-left: 0;
  }
  .contactUs .inr .btn {
    border-left: none;
    padding-left: 0;
  }
  .contactUs .inr .btn h2 {
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-weight: 600;
    font-size: 30px;
    font-size: 3rem;
    margin-bottom: 10px;
    text-align: center;
  }
  .contactUs .inr .btn dl {
    padding: 15px 0;
    text-align: center;
  }
  .contactUs .inr .btn dl dt {
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.7;
  }
  .contactUs .inr .btn dl dd {
    font-size: 15px;
    font-size: 1.5rem;
  }
  .contactUs .inr .btn dl dd p a {
    margin: 0 2px;
    min-height: 55px;
    width: 100%;
  }
}

.footer {
  background-color: #002C59;
  padding: 55px 30px 50px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.footer .logo {
  padding-bottom: 70px;
  text-align: center;
}

.footer .logo a {
  display: block;
  height: 45px;
  margin: 0 auto;
  width: 270px;
}

.footer .inr {
  display: flex;
  justify-content: space-between;
  max-width: 1480px;
  margin: 0 auto;
}

.footer .inr ul.ftLink {
  display: flex;
}

.footer .inr ul.ftLink > li {
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  min-width: 130px;
  padding: 0 20px;
  white-space: nowrap;
}

.footer .inr ul.ftLink > li:nth-child(4) {
  min-width: 180px;
}

.footer .inr ul.ftLink > li:last-child {
  min-width: 180px;
}

.footer .inr ul.ftLink > li ul li {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.7;
}

.footer .inr ul.ftLink > li ul li a {
  color: #FFF;
  display: block;
  padding: 5px 0;
  text-decoration: none;
  transition: 0.2s;
}

.footer .inr ul.ftLink > li ul li a:hover {
  opacity: 0.6;
}

.footer .inr .data ul {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}

.footer .inr .data ul li {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.3;
  width: 49%;
}

.footer .inr .data ul li a {
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 2px;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  padding: 0 5px;
  text-decoration: none;
  transition: 0.2s;
}

.footer .inr .data ul li a:hover {
  opacity: 0.7;
}

.footer .inr .data ul li:first-child a:before {
  background: url("/wedding/assets/img/common/blank.png") left center no-repeat;
  content: '';
  display: inline-block;
  margin-right: 5px;
  vertical-align: -1px;
  height: 11px;
  width: 17px;
}

.footer .inr .data ul li:last-child a {
  background-color: #FFF;
  border: none;
  color: #002C59;
}

.footer .inr .data ul li:last-child a:before {
  content: "\f16d";
  display: inline-block;
  font-family: "Font Awesome 5 Brands";
  font-size: 17px;
  font-weight: 400;
  margin-right: 5px;
  vertical-align: -1px;
  -webkit-font-smoothing: antialiased;
}

.footer .inr .data small {
  color: #FFF;
  font-size: 10px;
  font-size: 1rem;
}

@media screen\0 {
  .footer .inr .data ul li a {
    height: 45px;
  }
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .footer {
    padding: 40px 20px 50px;
  }
  .footer .logo {
    padding-bottom: 30px;
    text-align: center;
  }
  .footer .logo a {
    display: block;
    height: 30px;
    margin: 0 auto;
    width: 180px;
  }
  .footer .logo a img {
    height: auto;
    width: 100%;
  }
  .footer .inr {
    display: block;
  }
  .footer .inr ul.ftLink {
    display: none;
  }
  .footer .inr .data ul {
    margin-bottom: 30px;
  }
  .footer .inr .data ul li {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .footer .inr .data ul li a {
    min-height: 38px;
  }
  .footer .inr .data small {
    display: block;
    font-size: 8px;
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-align: center;
  }
}

body#top {
  overflow-x: hidden;
}

body#top .header {
  z-index: 2;
}

body#top .header.action3 {
  transform: translateY(0px);
  transition: all 1.2s cubic-bezier(0.55, 0, 0.1, 1);
}

.splash {
  background-color: white;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100vh;
  width: 100vw;
  position: absolute;
  z-index: 10;
  overflow: hidden;
}

.splash p {
  position: relative;
  z-index: 4;
  opacity: 0;
  transform: scale(1.4);
  -webkit-filter: blur(20px);
  -moz-filter: blur(20px);
  -ms-filter: blur(20px);
  filter: blur(20px);
}

.splash p span.copy {
  display: block;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}

@media only screen and (max-width: 960px) {
  .splash p span.copy {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

@media only screen and (max-width: 960px) {
  .splash p span.copy {
    margin-bottom: 24px;
  }
}

.splash p span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .splash p span.img {
    margin-bottom: 36px;
  }
}

.splash p span.img img {
  height: auto;
  width: 100%;
  max-width: 600px;
}

.splash.action p {
  -webkit-animation: fadeIn01 1s cubic-bezier(0.15, 0, 0.1, 1) 0.2s 1 both;
  animation: fadeIn01 1s cubic-bezier(0.15, 0, 0.1, 1) 0.2s 1 both;
}

.splash.action p span.copy {
  -webkit-animation: fadeIn01c 1s cubic-bezier(0.15, 0, 0.1, 1) 3s 1 both;
  animation: fadeIn01c 1s cubic-bezier(0.15, 0, 0.1, 1) 3s 1 both;
}

.splash.action p span.img {
  -webkit-animation: fadeIn01i 1s cubic-bezier(0.15, 0, 0.1, 1) 3s 1 both;
  animation: fadeIn01i 1s cubic-bezier(0.15, 0, 0.1, 1) 3s 1 both;
}

.splash.action3 {
  -webkit-animation: fadeOut01 3s cubic-bezier(0.15, 0, 0.1, 1) 0.1s 1 both;
  animation: fadeOut01 3s cubic-bezier(0.15, 0, 0.1, 1) 0.1s 1 both;
}

.splash .bgMask {
  background: white;
  display: block;
  height: 100vh;
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}

.splash.action .bgMask {
  -webkit-animation: fadeIn02 3s cubic-bezier(0.55, 0, 0.1, 1) 2s 1 both;
  animation: fadeIn02 3s cubic-bezier(0.55, 0, 0.1, 1) 2s 1 both;
}

.splash.action2 .bgMask {
  -webkit-animation: fadeIn04 2s cubic-bezier(0.55, 0, 0.1, 1) 0.1s 1 both;
  animation: fadeIn04 2s cubic-bezier(0.55, 0, 0.1, 1) 0.1s 1 both;
  z-index: 5;
}

.splash .bg {
  background: url("/wedding/assets/img/top/bg_splash.jpg") center center no-repeat;
  background-size: cover;
  display: block;
  height: 100vh;
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  filter: grayscale(100%);
  transform: scale(1.4);
  z-index: 2;
}

.splash.action .bg {
  -webkit-animation: fadeIn03 6s ease 2s 1 both;
  animation: fadeIn03 6s ease 2s 1 both;
}

@media screen\0 {
  .splash.action p span.copy {
    color: #333 !important;
  }
}

@-webkit-keyframes fadeIn01 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    -webkit-filter: blur(20px);
    -moz-filter: blur(20px);
    -ms-filter: blur(20px);
    filter: blur(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    filter: blur(0px);
  }
}

@keyframes fadeIn01 {
  from {
    opacity: 0;
    transform: scale(1.2);
    -webkit-filter: blur(20px);
    -moz-filter: blur(20px);
    -ms-filter: blur(20px);
    filter: blur(20px);
  }
  to {
    opacity: 1;
    transform: scale(1);
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    filter: blur(0px);
  }
}

@-webkit-keyframes fadeIn01c {
  0% {
    color: #333;
  }
  100% {
    color: #FFF;
    filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.6));
  }
}

@keyframes fadeIn01c {
  0% {
    color: #333;
  }
  100% {
    color: #FFF;
    filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.6));
  }
}

@-webkit-keyframes fadeIn01i {
  0% {
  }
  100% {
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
    filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.6));
  }
}

@keyframes fadeIn01i {
  0% {
  }
  100% {
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%) drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.6));
  }
}

@-webkit-keyframes fadeIn02 {
  from {
    background: white;
  }
  to {
    background: rgba(255, 255, 255, 0);
  }
}

@keyframes fadeIn02 {
  from {
    background: white;
  }
  to {
    background: rgba(255, 255, 255, 0);
  }
}

@-webkit-keyframes fadeIn03 {
  0% {
    transform: scale(1.4);
  }
  50% {
    filter: grayscale(100%);
  }
  100% {
    transform: scale(1);
    filter: grayscale(0);
  }
}

@keyframes fadeIn03 {
  0% {
    transform: scale(1.4);
  }
  50% {
    filter: grayscale(100%);
  }
  100% {
    transform: scale(1);
    filter: grayscale(0);
  }
}

@-webkit-keyframes fadeIn04 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn04 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeOut01 {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOut01 {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@-webkit-keyframes fadeOut02 {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOut02 {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@-webkit-keyframes showHeader {
  from {
    top: -170px;
  }
  to {
    top: 0;
  }
}

@keyframes showHeader {
  from {
    top: -170px;
  }
  to {
    top: 0;
  }
}

.topMv {
  background-color: #FFF;
  position: absolute;
  top: 146px;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(100vh - 146px) !important;
  width: 100vw;
  transition: 0.7s;
}

.topMv .inr {
  position: relative;
}

.topMv #vegas, .topMv #vegasSP {
  height: calc(100vh - 146px) !important;
  width: 100vw !important;
}

.vegasPC {
  display: block;
}

.vegasSP {
  display: none;
}

.navi #previous, .navi #previousSP,
.navi #next, .navi #nextSP {
  background-color: rgba(0, 0, 0, 0);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 50px;
  height: calc(100vh - 146px);
  top: 0;
  position: absolute;
  width: 7vw;
  transition: 0.2s;
  z-index: 1;
  text-align: center;
}

.navi #previous:after, .navi #previousSP:after,
.navi #next:after, .navi #nextSP:after {
  border: 3px solid;
  border-color: transparent transparent #FFF #FFF;
  content: '';
  display: inline-block;
  height: 50px;
  opacity: 0.05;
  vertical-align: 2px;
  width: 50px;
  transition: 0.2s;
}

.navi #previous, .navi #previousSP {
  left: 0;
}

.navi #previous:after, .navi #previousSP:after {
  transform: rotate(45deg);
}

.navi #previous:hover, .navi #previousSP:hover {
  width: 10vw;
}

.navi #previous:hover:after, .navi #previousSP:hover:after {
  transform: rotate(45deg);
  opacity: 1;
}

.navi #next, .navi #nextSP {
  right: 0;
}

.navi #next:after, .navi #nextSP:after {
  transform: rotate(-135deg);
}

.navi #next:hover, .navi #nextSP:hover {
  width: 11vw;
}

.navi #next:hover:after, .navi #nextSP:hover:after {
  transform: rotate(-135deg);
  opacity: 1;
}

.arrowWrap {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 200px;
  opacity: 1;
  z-index: 4;
  transition: all 1.4s cubic-bezier(0.55, 0, 0.1, 1);
}

.arrowInner p {
  color: #FFF;
  font-size: 11px;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-align: end;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.arrow {
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #eee;
  position: relative;
  overflow: hidden;
}

.arrow::before {
  content: '';
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #000;
  position: absolute;
  top: -150px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}

body#top .contents {
  margin-top: calc(100vh - 146px);
  z-index: 2;
}

.topBodyCopy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  margin-bottom: 50px;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .topBodyCopy {
    font-size: 10px;
    font-size: 1rem;
  }
}

.topBtn {
  text-align: center;
  width: 100%;
}

.topBtn a {
  background-color: #FFF;
  border: 1px solid #CCC;
  color: #333;
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  line-height: 1;
  min-width: 330px;
  padding: 22px 10px 22px 25px;
  text-decoration: none;
  transition: 0.3s;
}

@media only screen and (max-width: 960px) {
  .topBtn a {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.topBtn a:after {
  background: url("/wedding/assets/img/common/img_next.png") left top no-repeat;
  background-size: 12px auto;
  content: '';
  display: inline-block;
  height: 7px;
  margin-left: 15px;
  vertical-align: 2px;
  transition: 0.3s;
  width: 17px;
}

.topBtn a:hover {
  border: 1px solid #F0EFE9;
  color: #000;
  box-shadow: 0 0 20px rgba(150, 150, 130, 0.2);
}

.topBtn a:hover:after {
  background: url("/wedding/assets/img/common/img_next.png") 5px top no-repeat;
  background-size: 12px auto;
  width: 17px;
}

.coronaLink {
  width: 100%;
  margin-top: 30px;
  text-align: center;
  font-size: 1.4rem;
}

.coronaLink a {
  color: inherit;
}

.topHead {
  margin-bottom: 60px;
  text-align: center;
}

.topHead span {
  display: block;
}

.topHead .en {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.5;
  line-height: 1.4;
}

@media only screen and (max-width: 960px) {
  .topHead .en {
    font-size: 40px;
    font-size: 4rem;
  }
}

.topHead .ja {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 15px;
}

@media only screen and (max-width: 960px) {
  .topHead .ja {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 960px) {
  .topHead .ja {
    margin-bottom: 10px;
  }
}

.topConcept {
  background-color: #FFF;
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  min-height: 100vh;
  padding: 80px 30px;
  text-align: center;
  width: 100%;
}

.topConcept h1 {
  width: 100%;
}

.topConcept h1 span.copy {
  display: block;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}

@media only screen and (max-width: 960px) {
  .topConcept h1 span.copy {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

@media only screen and (max-width: 960px) {
  .topConcept h1 span.copy {
    margin-bottom: 24px;
  }
}

.topConcept h1 span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .topConcept h1 span.img {
    margin-bottom: 36px;
  }
}

.topConcept h1 span.img img {
  height: auto;
  width: 100%;
  max-width: 600px;
}

.topSceneOp {
  background-color: #FFF;
  min-height: 100vh;
  padding: 0 60px 100px;
  text-align: center;
  width: 100%;
}

.topSceneOp .vi {
  background-image: url("/wedding/assets/img/top/img_topsceneop_vi.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  display: block;
  line-height: 0;
  margin: 0 auto 60px;
  max-width: 1800px;
  width: 100%;
  transition: 0.2s;
}

.topSceneOp .vi img.spacer {
  height: auto;
  width: 100%;
}

.topSceneOp .vi h2 {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -70px;
  text-align: center;
  width: 100%;
}

.topSceneOp h1 {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin-bottom: 40px;
}

@media only screen and (max-width: 960px) {
  .topSceneOp h1 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

.topSceneOp .bodyCopy {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 600;
  line-height: 2.7;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .topSceneOp .bodyCopy {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.topScene {
  background-color: #FFF;
  min-height: 100vh;
  padding: 0 60px 100px;
  text-align: center;
  width: 100%;
}

.topScene .vi {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
  margin: 0 auto 60px;
  max-width: 1800px;
  position: relative;
  width: 100%;
  transition: 0.2s;
}

.topScene .vi img {
  height: auto;
  width: 100%;
}

.topScene .enCopy {
  margin-top: -110px;
  position: relative;
  z-index: 1;
}

.topScene .enCopy img {
  height: 100%;
  width: auto;
  max-height: 120px;
}

.topScene h2 {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin: 10px 0 40px;
}

@media only screen and (max-width: 960px) {
  .topScene h2 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

.topScene.scene01 .vi {
  background-image: url("/wedding/assets/img/top/img_topscene01_vi.jpg");
}

.topScene.scene02 .vi {
  background-image: url("/wedding/assets/img/top/img_topscene02_vi.jpg");
}

.topScene.scene03 .vi {
  background-image: url("/wedding/assets/img/top/img_topscene03_vi.jpg");
}

.topScene.scene04 .vi {
  background-image: url("/wedding/assets/img/top/img_topscene04_vi.jpg");
}

.topFair {
  background-color: #F5F4EC;
  padding: 80px 0 100px;
  overflow-x: hidden;
}

.topFair .txt {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 2;
  margin: 30px 0;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .topFair .txt {
    font-size: 10px;
    font-size: 1rem;
  }
}

.topFair .topHead {
  margin-bottom: 0;
}

.topFair .topHead .ja {
  margin-bottom: 0;
}

.topFair .topFairSlider {
  display: flex;
  align-items: center;
  margin-bottom: 100px !important;
}

.topFair .topFairSlider li.article {
  margin: 0 20px;
  max-width: 50%;
  padding-top: 20px;
  opacity: 0.5;
  transition: 0.5s;
  transform-origin: 50% 50%;
  transform: scale(0.9);
}

.topFair .topFairSlider li.article a {
  color: #333;
  display: block;
  text-decoration: none;
  transition: 0.3s;
}

.topFair .topFairSlider li.article a .img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 20px;
  transition: 0.3s;
}

.topFair .topFairSlider li.article a .img img {
  height: auto;
  width: 100%;
}

.topFair .topFairSlider li.article a h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 10px;
}

@media only screen and (max-width: 960px) {
  .topFair .topFairSlider li.article a h3 {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.topFair .topFairSlider li.article a ul.date {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.topFair .topFairSlider li.article a ul.date li {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  line-height: 1.6;
}

@media only screen and (max-width: 960px) {
  .topFair .topFairSlider li.article a ul.date li {
    font-size: 10px;
    font-size: 1rem;
  }
}

.topFair .topFairSlider li.article a ul.date li:after {
  content: ',';
  display: inline;
  margin: 0 10px 8px 0;
}

.topFair .topFairSlider li.article a ul.date li:last-child:after {
  content: '';
}

.topFair .topFairSlider li.article a ul.time {
  display: flex;
  flex-wrap: wrap;
}

.topFair .topFairSlider li.article a ul.time li {
  background-color: #FFF;
  border-radius: 3px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  line-height: 1;
  margin: 0 5px 5px 0;
  padding: 4px 13px;
}

@media only screen and (max-width: 960px) {
  .topFair .topFairSlider li.article a ul.time li {
    font-size: 10px;
    font-size: 1rem;
  }
}

@media only screen and (min-width: 960px) {
  .topFair .topFairSlider li.article a:hover {
    color: #000;
  }
  .topFair .topFairSlider li.article a:hover .img {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    opacity: 0.9;
  }
}

.topFair .topFairSlider li.slick-center {
  transform: scale(1);
  opacity: 1;
}

.topFair .slick-dots {
  position: absolute;
  bottom: -75px;
  display: block;
  width: 100%;
}

.topFair .slick-dots li {
  width: 70px;
}

.topFair .slick-dots li button::before {
  background-color: #FFF;
  width: 70px;
  height: 6px;
  content: '';
  opacity: 1;
  transition: 0.2s;
}

.topFair .slick-dots li.slick-active button::before {
  background-color: #B8A708;
}

.topFair .slick-slide {
  position: relative;
  z-index: 10000 !important;
}

.topFair .slick-slide.slick-center {
  z-index: -10 !important;
}

.topFair .slick-prev,
.topFair .slick-next {
  transition: 0.2s;
  top: 36%;
}

.topFair .slick-prev:hover,
.topFair .slick-next:hover {
  opacity: 0.7;
}

.topFair .slick-prev:before,
.topFair .slick-next:before {
  content: '';
}

.topFair .slick-prev:after {
  content: url(/wedding/assets/img/common/img_prev.png);
}

.topFair .slick-next:after {
  content: url(/wedding/assets/img/common/img_next.png);
}

.topFair .slick-prev {
  left: 30.5vw !important;
  z-index: 1;
}

.topFair .slick-next {
  right: 31vw !important;
  z-index: 1;
}

@media only screen and (max-width: 1600px) {
  .topFair .slick-prev {
    left: 23.8vw !important;
    z-index: 1;
  }
  .topFair .slick-next {
    right: 24.5vw !important;
    z-index: 1;
  }
}

@media screen\0 {
  .topFair .topFairSlider {
    display: block;
  }
  .topFair .slick-next::after,
  .topFair .slick-prev::after {
    display: none !important;
  }
}

.topMovie {
  display: flex;
  align-items: center;
  max-width: inherit;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  position: relative;
  padding: 80px 20px;
  overflow: hidden;
}

.topMovie video {
  position: fixed;
  top: -15%;
  left: -20%;
  width: auto;
  height: auto;
  min-width: 130%;
  min-height: 130%;
  background: url("/cmn/video/concept.mp4") no-repeat;
  background-size: cover;
  z-index: -2 !important;
}

.topMovie .inr {
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
  height: 100vh;
  width: 100vw;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  /*
h2 {
width: 100%;
img {
filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%) drop-shadow(3px 3px 6px rgba(0,0,0,0.6));
}
}
*/
}

.topMovie .inr .enCopy {
  font-size: 0;
  line-height: 0;
  width: 100%;
}

.topMovie .inr .enCopy img {
  height: 100%;
  width: auto;
  max-height: 160px;
}

.topMovie .inr h2 {
  color: #000;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin: 0 0 30px;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .topMovie .inr h2 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.topMovie .inr .playMovie {
  margin: 30px 0 40px;
  width: 100%;
}

.topMovie .inr .playMovie a {
  display: inline-block;
  text-decoration: none;
}

.topMovie .inr .playMovie a img {
  height: auto;
  width: auto;
  position: relative;
  z-index: 2;
  opacity: 0.8;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -o-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8);
  transition: 0.3s;
}

.topMovie .inr .playMovie a span {
  color: #DDD;
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: bold;
  font-style: italic;
  transition: 0.3s;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .topMovie .inr .playMovie a span {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.topMovie .inr .playMovie a:hover img {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.topMovie .inr .playMovie a:hover span {
  color: #fff;
}

.topReport {
  background-color: #FFF;
  padding: 100px 50px 90px;
}

.topReport ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 0;
  max-width: 1480px;
}

.topReport ul li {
  margin: 0 3.5% 5vw 0;
  width: 31%;
}

.topReport ul li:nth-child(3n) {
  margin-right: 0;
}

.topReport ul li a {
  color: #333;
  display: block;
  text-decoration: none;
}

.topReport ul li a dl dd {
  position: relative;
  width: 100%;
}

.topReport ul li a dl dd span {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
  padding-top: 140%;
  /*he is my hero*/
  width: 100%;
  transition: 0.2s;
}

.topReport ul li a dl dt {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.6;
  padding-top: 25px;
  text-align: center;
  transition: 0.2s;
  vertical-align: middle;
}

.topReport ul li a dl dt:before {
  color: #DDD;
  content: '“';
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  margin-right: 8px;
  line-height: 1;
}

.topReport ul li a dl dt:after {
  color: #DDD;
  content: '”';
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  margin-left: 8px;
  line-height: 1;
}

@media only screen and (min-width: 960px) {
  .topReport ul li a:hover dl dd span {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
  }
  .topReport ul li a:hover dl dt {
    color: #000;
  }
}

.topGallery {
  background-color: #FFF;
  background-image: url("/wedding/assets/img/top/img_topgallery_vi.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 950px;
  padding: 0 40px;
  text-align: center;
}

.topGallery .inr {
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  min-width: 940px;
  min-height: 420px;
}

.topGallery .inr .enCopy {
  font-size: 0;
  line-height: 0;
  width: 100%;
}

.topGallery .inr .enCopy img {
  height: 100%;
  width: auto;
  max-height: 160px;
}

.topGallery .inr h2 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin: 0 0 30px;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .topGallery .inr h2 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media screen\0 {
  .topGallery {
    height: 950px;
  }
  .topGallery .inr {
    height: 420px;
  }
}

.topGalleryForSp {
  display: none;
}

.topAccess {
  background-color: #FFF;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding: 100px 0 100px 30px;
  width: 100%;
}

.topAccess .img {
  background: url("/wedding/assets/img/top/img_topaccess_vi.jpg") center center no-repeat;
  background-size: cover;
  width: 58%;
}

.topAccess .img img {
  height: auto;
  width: 100%;
}

.topAccess .data {
  text-align: center;
  width: 40%;
}

.topAccess .data .enCopy {
  font-size: 0;
  line-height: 0;
  margin-bottom: 10px;
}

.topAccess .data .enCopy img {
  height: 100%;
  width: auto;
}

.topAccess .data h2 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin: 0 0 30px;
}

@media only screen and (max-width: 960px) {
  .topAccess .data h2 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.topAccess .data h3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.7;
  margin: 0 0 40px;
}

@media only screen and (max-width: 960px) {
  .topAccess .data h3 {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.topAward {
  background-color: #FFF;
  padding: 7vw 60px 12vw;
  position: relative;
  width: 100%;
}

.topAward .bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.topAward ol {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 780px;
  position: relative;
  z-index: 2;
}

.topAward ol li {
  text-align: center;
  width: 350px;
}

.topAward ol li a {
  color: #333;
  display: block;
  text-decoration: none;
  transition: 0.3s;
}

.topAward ol li a span {
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  padding-top: 15px;
}

@media only screen and (max-width: 960px) {
  .topAward ol li a span {
    font-size: 10px;
    font-size: 1rem;
  }
}

.topAward ol li a:hover {
  color: #969682;
}

/* animation */
.topConcept h1 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topConcept h1.action {
  -webkit-animation: anime01 0.8s ease 0.2s 1 forwards;
  animation: anime01 0.8s ease 0.2s 1 forwards;
}

.topConcept .topBodyCopy {
  opacity: 0;
  transform: translate(0, 30px);
}

.topConcept .topBodyCopy.action {
  -webkit-animation: anime01 0.8s ease 0.4s 1 forwards;
  animation: anime01 0.8s ease 0.4s 1 forwards;
}

.topConcept .topBtn {
  opacity: 0;
  transform: translate(0, 30px);
}

.topConcept .topBtn.action {
  -webkit-animation: anime01 0.8s ease 0.6s 1 forwards;
  animation: anime01 0.8s ease 0.6s 1 forwards;
}

.topConcept .coronaLink {
  opacity: 0;
  transform: translate(0, 30px);
}

.topConcept .coronaLink.action {
  -webkit-animation: anime01 0.8s ease 0.6s 1 forwards;
  animation: anime01 0.8s ease 0.6s 1 forwards;
}

.topSceneOp .vi {
  opacity: 0;
  -webkit-clip-path: inset(5% 5% 1% 5%);
  clip-path: inset(5% 5% 1% 5%);
  transform: translate(0, 60px);
}

.topSceneOp .vi h2 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topSceneOp .vi.action {
  -webkit-animation: animeBox 0.8s ease 0.2s 1 forwards;
  animation: animeBox 0.8s ease 0.2s 1 forwards;
}

.topSceneOp .vi.action h2 {
  -webkit-animation: anime01 0.8s ease 0.4s 1 forwards;
  animation: anime01 0.8s ease 0.4s 1 forwards;
}

.topSceneOp h1 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topSceneOp h1.action {
  -webkit-animation: anime01 0.8s ease 0.6s 1 forwards;
  animation: anime01 0.8s ease 0.6s 1 forwards;
}

.topSceneOp .topBodyCopy {
  opacity: 0;
  transform: translate(0, 30px);
}

.topSceneOp .topBodyCopy.action {
  -webkit-animation: anime01 0.8s ease 0.8s 1 forwards;
  animation: anime01 0.8s ease 0.8s 1 forwards;
}

.topSceneOp .topBtn {
  opacity: 0;
  transform: translate(0, 30px);
}

.topSceneOp .topBtn.action {
  -webkit-animation: anime01 0.8s ease 1s 1 forwards;
  animation: anime01 0.8s ease 1s 1 forwards;
}

.topScene .vi {
  opacity: 0;
  -webkit-clip-path: inset(5% 5% 1% 5%);
  clip-path: inset(5% 5% 1% 5%);
  transform: translate(0, 60px);
}

.topScene .vi.action {
  -webkit-animation: animeBox 0.8s ease 0.2s 1 forwards;
  animation: animeBox 0.8s ease 0.2s 1 forwards;
}

.topScene .enCopy {
  opacity: 0;
  transform: translate(0, 30px);
}

.topScene .enCopy.action {
  -webkit-animation: anime01 0.8s ease 0.4s 1 forwards;
  animation: anime01 0.8s ease 0.4s 1 forwards;
}

.topScene h2 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topScene h2.action {
  -webkit-animation: anime01 0.8s ease 0.6s 1 forwards;
  animation: anime01 0.8s ease 0.6s 1 forwards;
}

.topScene .topBodyCopy {
  opacity: 0;
  transform: translate(0, 30px);
}

.topScene .topBodyCopy.action {
  -webkit-animation: anime01 0.8s ease 0.8s 1 forwards;
  animation: anime01 0.8s ease 0.8s 1 forwards;
}

.topScene .topBtn {
  opacity: 0;
  transform: translate(0, 30px);
}

.topScene .topBtn.action {
  -webkit-animation: anime01 0.8s ease 1s 1 forwards;
  animation: anime01 0.8s ease 1s 1 forwards;
}

.topFair .topHead {
  opacity: 0;
  transform: translate(0, 30px);
}

.topFair .topHead.action {
  -webkit-animation: anime01 0.8s ease 0.2s 1 forwards;
  animation: anime01 0.8s ease 0.2s 1 forwards;
}

.topFair .txt {
  opacity: 0;
  transform: translate(0, 30px);
}

.topFair .txt.action {
  -webkit-animation: anime01 0.8s ease 0.2s 1 forwards;
  animation: anime01 0.8s ease 0.2s 1 forwards;
}

.topFair .topFairSlider {
  opacity: 0;
  transform: translate(0, 30px);
}

.topFair .topFairSlider.action {
  -webkit-animation: anime01 0.8s ease 0.2s 1 forwards;
  animation: anime01 0.8s ease 0.2s 1 forwards;
}

.topFair .topBtn {
  opacity: 0;
  transform: translate(0, 30px);
}

.topFair .topBtn.action {
  -webkit-animation: anime01 0.8s ease 0.2s 1 forwards;
  animation: anime01 0.8s ease 0.2s 1 forwards;
}

.movie360 iframe,
.movie360 .movie360List {
  opacity: 0;
  transform: translate(0, 30px);
}

.movie360 iframe.action,
.movie360 .movie360List.action {
  -webkit-animation: anime01 0.8s ease 0.2s 1 forwards;
  animation: anime01 0.8s ease 0.2s 1 forwards;
}

.topMovie .inr .enCopy {
  opacity: 0;
  transform: translate(0, 30px);
}

.topMovie .inr .enCopy.action {
  -webkit-animation: anime01 0.8s ease 0.2s 1 forwards;
  animation: anime01 0.8s ease 0.2s 1 forwards;
}

.topMovie .inr h2 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topMovie .inr h2.action {
  -webkit-animation: anime01 0.8s ease 0.4s 1 forwards;
  animation: anime01 0.8s ease 0.4s 1 forwards;
}

.topMovie .inr .playMovie {
  opacity: 0;
  transform: translate(0, 30px);
}

.topMovie .inr .playMovie.action {
  -webkit-animation: anime01 0.8s ease 0.6s 1 forwards;
  animation: anime01 0.8s ease 0.6s 1 forwards;
}

.movie360 {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: -1px 0 0;
}

.movie360 iframe {
  vertical-align: top;
  max-width: 100%;
  width: 100%;
  height: 80vh;
}

.movie360List {
  display: flex;
}

.movie360List li {
  width: 50%;
}

.movie360List li a {
  display: block;
}

.movie360List li img {
  width: 100%;
}

.modaal-fullscreen .modaal-close {
  background: #afb7bc;
  right: 30px !important;
  top: 30px !important;
}

.topReport h2 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topReport h2.action {
  -webkit-animation: anime01 0.8s ease 0.2s 1 forwards;
  animation: anime01 0.8s ease 0.2s 1 forwards;
}

.topReport ul {
  opacity: 0;
  transform: translate(0, 30px);
}

.topReport ul.action {
  -webkit-animation: anime01 0.8s ease 0.4s 1 forwards;
  animation: anime01 0.8s ease 0.4s 1 forwards;
}

.topReport .topBtn {
  opacity: 0;
  transform: translate(0, 30px);
}

.topReport .topBtn.action {
  -webkit-animation: anime01 0.8s ease 0.6s 1 forwards;
  animation: anime01 0.8s ease 0.6s 1 forwards;
}

.topGallery {
  background-color: #FFF;
  opacity: 0;
  -webkit-clip-path: inset(5% 5% 1% 5%);
  clip-path: inset(5% 5% 1% 5%);
  transform: translate(0, 60px);
}

.topGallery.action {
  -webkit-animation: animeBox 0.8s ease 0.2s 1 forwards;
  animation: animeBox 0.8s ease 0.2s 1 forwards;
}

.topGallery .inr {
  opacity: 0;
  transform: translate(0, 30px);
}

.topGallery .inr.action {
  -webkit-animation: anime01 0.8s ease 0.4s 1 forwards;
  animation: anime01 0.8s ease 0.4s 1 forwards;
}

.topGallery .inr .enCopy {
  opacity: 0;
  transform: translate(0, 30px);
}

.topGallery .inr .enCopy.action {
  -webkit-animation: anime01 0.8s ease 0.6s 1 forwards;
  animation: anime01 0.8s ease 0.6s 1 forwards;
}

.topGallery .inr h2 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topGallery .inr h2.action {
  -webkit-animation: anime01 0.8s ease 0.8s 1 forwards;
  animation: anime01 0.8s ease 0.8s 1 forwards;
}

.topGallery .inr .topBtn {
  opacity: 0;
  transform: translate(0, 30px);
}

.topGallery .inr .topBtn.action {
  -webkit-animation: anime01 0.8s ease 1s 1 forwards;
  animation: anime01 0.8s ease 1s 1 forwards;
}

.topAccess .img {
  opacity: 0;
  -webkit-clip-path: inset(5% 5% 1% 5%);
  clip-path: inset(5% 5% 1% 5%);
  transform: translate(0, 60px);
}

.topAccess .img.action {
  -webkit-animation: animeBox 0.8s ease 0.2s 1 forwards;
  animation: animeBox 0.8s ease 0.2s 1 forwards;
}

.topAccess .data .enCopy {
  opacity: 0;
  transform: translate(0, 30px);
}

.topAccess .data .enCopy.action {
  -webkit-animation: anime01 0.8s ease 0.4s 1 forwards;
  animation: anime01 0.8s ease 0.4s 1 forwards;
}

.topAccess .data h2 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topAccess .data h2.action {
  -webkit-animation: anime01 0.8s ease 0.6s 1 forwards;
  animation: anime01 0.8s ease 0.6s 1 forwards;
}

.topAccess .data h3 {
  opacity: 0;
  transform: translate(0, 30px);
}

.topAccess .data h3.action {
  -webkit-animation: anime01 0.8s ease 0.8s 1 forwards;
  animation: anime01 0.8s ease 0.8s 1 forwards;
}

.topAccess .data .topBtn {
  opacity: 0;
  transform: translate(0, 30px);
}

.topAccess .data .topBtn.action {
  -webkit-animation: anime01 0.8s ease 1s 1 forwards;
  animation: anime01 0.8s ease 1s 1 forwards;
}

@-webkit-keyframes anime00 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes anime00 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes anime01 {
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes anime01 {
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@-webkit-keyframes animeBox {
  100% {
    opacity: 1;
    bottom: 0;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transform: translate(0, 0);
  }
}

@keyframes animeBox {
  100% {
    opacity: 1;
    bottom: 0;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transform: translate(0, 0);
  }
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  #splash {
    padding: 0 15px;
  }
  #splash p {
    padding-bottom: 30vw;
  }
  #splash p span.copy {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6;
    overflow: hidden;
  }
  body#top .contents {
    margin-top: 100vw;
  }
  .topMv {
    position: absolute;
    top: 55px;
    height: 100vw !important;
    width: 100vw;
  }
  .topMv #vegas,
  .topMv #vegasSP {
    height: 100vw !important;
    width: 100vw !important;
  }
  .vegasPC {
    display: none;
  }
  .vegasSP {
    display: block;
  }
  .navi #previous, .navi #previousSP,
  .navi #next, .navi #nextSP {
    height: 100vw !important;
    top: 0;
    position: absolute;
    width: 10vw;
  }
  .navi #previous:after, .navi #previousSP:after,
  .navi #next:after, .navi #nextSP:after {
    border: 2px solid;
    border-color: transparent transparent #FFF #FFF;
    height: 20px;
    opacity: 0.6;
    vertical-align: 2px;
    width: 20px;
    margin-bottom: 40px;
  }
  .navi #previous,
  .navi #previousSP {
    left: 10px;
  }
  .navi #previous:after,
  .navi #previousSP:after {
    transform: rotate(45deg);
  }
  .navi #previous:hover,
  .navi #previousSP:hover {
    width: 10vw;
  }
  .navi #previous:hover:after,
  .navi #previousSP:hover:after {
    transform: rotate(45deg);
    opacity: 1;
  }
  .navi #next,
  .navi #nextSP {
    right: 10px;
  }
  .navi #next:after,
  .navi #nextSP:after {
    transform: rotate(-135deg);
  }
  .navi #next:hover,
  .navi #nextSP:hover {
    width: 10vw;
  }
  .navi #next:hover:after,
  .navi #nextSP:hover:after {
    transform: rotate(-135deg);
    opacity: 1;
  }
  .arrowWrap {
    left: -10px;
    bottom: -10px;
    height: 160px;
    z-index: 1;
  }
  .arrowInner p {
    font-size: 9px;
    margin-right: -4px;
  }
  .arrow {
    height: 60px;
  }
  .arrow::before {
    height: 60px;
    top: -150px;
  }
  .topBodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2.3;
    margin-bottom: 30px;
  }
  .topBtn {
    width: auto;
  }
  .topBtn a {
    display: block;
    min-width: auto;
    min-width: inherit;
    padding: 18px 5px 18px 17px;
  }
  .topHead {
    margin-bottom: 20px;
  }
  .topHead .en {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 2px;
  }
  .topHead .ja {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.4;
  }
  .topConcept {
    display: block;
    min-height: auto;
    min-height: inherit;
    padding: 30px 20px 50px;
    width: auto;
  }
  .topConcept h1 {
    width: auto;
  }
  .topConcept h1 span.copy {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.6;
  }
  .topConcept h1 span.img {
    display: block;
    margin-bottom: 30px;
  }
  .topConcept h1 span.img img {
    max-width: 300px;
  }
  .topSceneOp {
    padding: 0 0 70px;
    width: auto;
  }
  .topSceneOp .vi {
    background-image: url("/wedding/assets/img/top/img_topsceneop_vi_sp.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 auto 35px;
  }
  .topSceneOp .vi img.spacer {
    height: 105vw;
  }
  .topSceneOp .vi h2 {
    top: 50%;
    margin-top: -20px;
  }
  .topSceneOp .vi h2 img {
    height: auto;
    width: 90%;
  }
  .topSceneOp h1 {
    font-size: 20px;
    font-size: 2rem;
    letter-spacing: 0.06em;
    margin-bottom: 15px;
  }
  .topSceneOp .bodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2.3;
  }
  .topSceneOp .topBtn {
    margin: 0 20px;
  }
  .topScene {
    padding: 0 0 70px;
    text-align: center;
    width: 100%;
  }
  .topScene .vi {
    display: block;
    margin: 0 auto 60px;
  }
  .topScene .vi img {
    height: 100vw;
  }
  .topScene .enCopy {
    margin-top: -80px;
  }
  .topScene .enCopy img {
    max-height: 90px;
  }
  .topScene h2 {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    margin: 10px 0 20px;
  }
  .topScene .topBtn {
    margin: 0 20px;
  }
  .topScene.scene01 .vi {
    background-image: url("/wedding/assets/img/top/img_topscene01_vi_sp.jpg");
  }
  .topScene.scene02 .vi {
    background-image: url("/wedding/assets/img/top/img_topscene02_vi_sp.jpg");
  }
  .topScene.scene03 .vi {
    background-image: url("/wedding/assets/img/top/img_topscene03_vi_sp.jpg");
  }
  .topScene.scene04 .vi {
    background-image: url("/wedding/assets/img/top/img_topscene04_vi_sp.jpg");
  }
  .topFair {
    overflow: visible;
    padding: 40px 0 70px;
  }
  .topFair .txt {
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: 0.03em;
    line-height: 2;
    margin: 25px 0 0;
  }
  .topFair .topHead {
    margin-bottom: 0;
  }
  .topFair .topHead span.ja {
    margin-bottom: 0;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .topFair .topHead span.en {
    font-size: 30px;
    font-size: 3rem;
  }
  .topFair .topFairSlider {
    display: flex;
    align-items: center;
    margin-bottom: 60px !important;
  }
  .topFair .topFairSlider li.article {
    margin: 0 0;
    max-width: auto;
    max-width: inherit;
    padding-top: 20px;
  }
  .topFair .topFairSlider li.article a .img {
    margin-bottom: 15px;
  }
  .topFair .topFairSlider li.article a h3 {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
    margin-bottom: 10px;
  }
  .topFair .topFairSlider li.article a ul.date {
    margin-bottom: 15px;
  }
  .topFair .slick-dots {
    bottom: -40px;
  }
  .topFair .slick-dots li {
    width: 30px;
  }
  .topFair .slick-dots li button::before {
    width: 30px;
    height: 4px;
  }
  .topFair .slick-dots li.slick-active button::before {
    background-color: #B8A708;
  }
  .topFair .topBtn {
    margin: 0 20px;
  }
  .topMovie {
    min-height: 33vh;
    margin-bottom: 1px;
    padding: 10px 10px;
  }
  .topMovie .inr {
    background-color: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    height: 33vh;
    width: 100vw;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    /*
h2 {
width: 100%;
img {
max-width: 160px;
}
}
*/
  }
  .topMovie .inr .enCopy img {
    max-height: auto;
    max-height: inherit;
    max-width: 160px;
    height: auto;
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
  }
  .topMovie .inr h2 {
    color: #FFF;
    font-size: 13px;
    margin: 0 0 5px;
  }
  .topMovie .inr .playMovie {
    margin: 3px 0 0;
    width: 100%;
  }
  .topMovie .inr .playMovie a {
    display: inline-block;
    text-decoration: none;
  }
  .topMovie .inr .playMovie a img {
    height: auto;
    width: auto;
    max-width: 60px;
    position: relative;
    z-index: 2;
    opacity: 0.8;
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -o-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8);
    transition: 0.3s;
  }
  .topMovie .inr .playMovie a span {
    color: #DDD;
    display: block;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-weight: 600;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: bold;
    font-style: italic;
    transition: 0.3s;
    width: 100%;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .topMovie .inr .playMovie a span {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 960px) {
  .topMovie .inr .playMovie a:hover img {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }
  .topMovie .inr .playMovie a:hover span {
    color: #fff;
  }
  .movie360 iframe {
    height: 400px;
  }
  .topReport {
    padding: 40px 0 60px;
  }
  .topReport .topHead {
    margin-bottom: 20px;
  }
  .topReport .topHead .en {
    font-size: 30px;
    font-size: 3rem;
    margin-bottom: 0;
  }
  .topReport .topHead .ja {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 0;
  }
  .topReport ul {
    display: block;
    margin: 0 auto 30px;
    padding-top: 10px;
  }
  .topReport ul li {
    margin: 0 0 10px;
    width: auto;
  }
  .topReport ul li a dl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
  }
  .topReport ul li a dl dd {
    width: 35%;
  }
  .topReport ul li a dl dd span {
    padding-top: 100%;
    width: 85%;
  }
  .topReport ul li a dl dt {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
    padding: 0 10px 0 15px;
    text-align: left;
    width: 65%;
    position: relative;
  }
  .topReport ul li a dl dt:before {
    font-size: 20px;
    font-size: 2rem;
    margin-right: 5px;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .topReport ul li a dl dt:after {
    font-size: 20px;
    font-size: 2rem;
    margin-left: 5px;
    line-height: 1;
  }
  .topReport .topBtn {
    margin: 0 20px;
  }
  .topGallery {
    display: none;
  }
  .topGalleryForSp {
    display: block;
    margin-bottom: 30px;
    padding: 0;
  }
  .topGalleryForSp img {
    height: auto;
    width: 100%;
  }
  .topAccess {
    background: url("/wedding/assets/img/top/img_topaccess_vi_sp.jpg") center center no-repeat;
    background-size: cover;
    display: flex;
    padding: 120px 30px 60px;
    width: auto;
    position: relative;
  }
  .topAccess:after {
    background: rgba(255, 255, 255, 0.7);
    content: '';
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    display: none;
  }
  .topAccess .img {
    display: none;
  }
  .topAccess .data {
    background: white;
    text-align: center;
    position: relative;
    z-index: 1;
    width: 100%;
  }
  .topAccess .data .enCopy {
    margin-bottom: 10px;
    margin-top: -30px;
  }
  .topAccess .data .enCopy img {
    height: auto;
    width: 100%;
    max-width: 180px;
  }
  .topAccess .data h2 {
    font-size: 20px;
    font-size: 2rem;
    margin: 0 0 20px;
  }
  .topAccess .data h3 {
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.8;
    margin: 0 0 10px;
  }
  .topAccess .data .topBtn {
    padding-bottom: 20px;
    width: auto;
  }
  .topAccess .data .topBtn a {
    border: none;
    display: block;
    min-width: auto;
    min-width: inherit;
    padding: 18px 5px 18px 17px;
  }
  .topAccess .data .topBtn a:hover {
    border: none;
    color: #000;
    box-shadow: 0 0 20px rgba(150, 150, 130, 0);
  }
  .topAward {
    background-color: #FFF;
    padding: 20px 0 50px;
    width: auto;
  }
  .topAward ol {
    display: block;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .topAward ol li {
    padding: 20px 0;
    text-align: center;
    width: auto;
  }
  .topAward ol li a img {
    height: auto;
    width: 100%;
    max-width: 110px;
  }
  .topAward ol li a span {
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0.02em;
    padding-top: 15px;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .topAward ol li a span {
    font-size: 10px;
    font-size: 1rem;
  }
}

@media only screen and (max-width: 960px) {
  .topAward ol li a:hover {
    color: #969682;
  }
}

.pickUpFair {
  background-color: #F0EFE9;
  padding: 50px 50px 70px;
  text-align: center;
}

.pickUpFair h2 {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 37px;
  font-size: 3.7rem;
  line-height: 1.5;
  line-height: 1.4;
  margin-bottom: 15px;
}

@media only screen and (max-width: 960px) {
  .pickUpFair h2 {
    font-size: 30px;
    font-size: 3rem;
  }
}

@media only screen and (max-width: 960px) {
  .pickUpFair h2 {
    margin-bottom: 10px;
  }
}

.pickUpFair p {
  line-height: 1.7;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 30px;
}

@media only screen and (max-width: 960px) {
  .pickUpFair p {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

@media only screen and (max-width: 960px) {
  .pickUpFair p {
    margin-bottom: 10px;
  }
}

.pickUpFair ul#pickUpFairSlider {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 1680px;
}

.pickUpFair ul#pickUpFairSlider li.list {
  margin: 0 1vw;
  width: 30%;
}

.pickUpFair ul#pickUpFairSlider li.list a {
  color: #333;
  display: block;
  text-decoration: none;
}

.pickUpFair ul#pickUpFairSlider li.list a dl dd {
  position: relative;
  width: 100%;
}

.pickUpFair ul#pickUpFairSlider li.list a dl dd span {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
  padding-top: 62%;
  /*he is my hero*/
  width: 100%;
  transition: 0.2s;
}

.pickUpFair ul#pickUpFairSlider li.list a dl dt {
  line-height: 1.6;
  padding-top: 15px;
  transition: 0.2s;
}

.pickUpFair ul#pickUpFairSlider li.list a:hover dl dd span {
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
}

.pickUpFair ul#pickUpFairSlider li.list a:hover dl dt {
  color: #969682;
}

.fairList {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1680px;
}

.fairList .fairMain {
  width: 66%;
}

.fairList .fairMain h2 {
  border-bottom: 2px solid #333;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  margin-bottom: 35px;
  padding-bottom: 10px;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain h2 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain h2 {
    margin-bottom: 21px;
  }
}

.fairList .fairMain article {
  box-shadow: 0 0 20px rgba(150, 150, 130, 0.5);
  margin-bottom: 60px;
}

.fairList .fairMain article h1 {
  background-color: #002C59;
  color: #FFF;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  line-height: 1.7;
  padding: 10px;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article h1 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.fairList .fairMain article .inr {
  padding: 30px;
}

.fairList .fairMain article .inr ul.img {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.fairList .fairMain article .inr ul.img li {
  width: 100%;
}

.fairList .fairMain article .inr ul.img li:first-child {
  margin-right: 20px;
}

.fairList .fairMain article .inr ul.img li span {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
  padding-top: 62%;
  /*he is my hero*/
  width: 100%;
  transition: 0.2s;
}

.fairList .fairMain article .inr ul.tag {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 25px;
}

.fairList .fairMain article .inr ul.tag li {
  background-color: #969682;
  border: 1px solid #969682;
  border-radius: 3px;
  color: #FFF;
  font-weight: 600;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  line-height: 1;
  letter-spacing: 0.1em;
  margin: 0 5px 5px 0;
  padding: 5px 10px;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr ul.tag li {
    font-size: 10px;
    font-size: 1rem;
  }
}

.fairList .fairMain article .inr dl.data {
  margin-bottom: 30px;
}

.fairList .fairMain article .inr dl.data div.tr {
  display: flex;
}

.fairList .fairMain article .inr dl.data div.tr dt {
  font-weight: 600;
  padding: 5px 0 10px;
  width: 100px;
}

.fairList .fairMain article .inr dl.data div.tr dd {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  line-height: 1.6;
  padding-bottom: 20px;
  width: calc(100% - 100px);
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr dl.data div.tr dd {
    font-size: 10px;
    font-size: 1rem;
  }
}

.fairList .fairMain article .inr dl.data div.tr dd ul.date {
  display: flex;
  flex-wrap: wrap;
}

.fairList .fairMain article .inr dl.data div.tr dd ul.date li {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 600;
  line-height: 1.4;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr dl.data div.tr dd ul.date li {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.fairList .fairMain article .inr dl.data div.tr dd ul.date li:after {
  content: ',';
  display: inline;
  margin-right: 10px;
}

.fairList .fairMain article .inr dl.data div.tr dd ul.date li:last-child:after {
  content: '';
}

.fairList .fairMain article .inr dl.data div.tr dd ul.time {
  display: flex;
}

.fairList .fairMain article .inr dl.data div.tr dd ul.time li {
  border: 1px solid #969682;
  border-radius: 3px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  line-height: 1;
  margin: 0 5px 0 0;
  padding: 4px 13px;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr dl.data div.tr dd ul.time li {
    font-size: 10px;
    font-size: 1rem;
  }
}

.fairList .fairMain article .inr dl.data div.tr dd p {
  line-height: 1.6;
}

.fairList .fairMain article .inr .flow {
  margin-bottom: 20px;
  padding-top: 30px;
}

.fairList .fairMain article .inr .flow h3 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 30px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .flow h3 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .flow h3 {
    margin-bottom: 10px;
  }
}

.fairList .fairMain article .inr .flow ul {
  display: flex;
  flex-wrap: wrap;
}

.fairList .fairMain article .inr .flow ul li {
  display: flex;
  margin: 0 3% 20px 0;
  width: 47%;
}

.fairList .fairMain article .inr .flow ul li .img {
  width: 120px;
}

.fairList .fairMain article .inr .flow ul li .img span {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
  padding-top: 100%;
  /*he is my hero*/
  width: 100%;
  transition: 0.2s;
}

.fairList .fairMain article .inr .flow ul li dl {
  padding: 5px 0 0 15px;
  width: calc(100% - 120px);
}

.fairList .fairMain article .inr .flow ul li dl dt {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 7px;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .flow ul li dl dt {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.fairList .fairMain article .inr .flow ul li dl dd {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .flow ul li dl dd {
    font-size: 10px;
    font-size: 1rem;
  }
}

.fairList .fairMain article .inr .reserveBox {
  background-color: #F0EFE9;
  padding: 25px 20px 20px;
}

.fairList .fairMain article .inr .reserveBox h3 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 20px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .reserveBox h3 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .reserveBox h3 {
    margin-bottom: 10px;
  }
}

.fairList .fairMain article .inr .reserveBox ul {
  display: flex;
  justify-content: space-between;
}

.fairList .fairMain article .inr .reserveBox ul li {
  width: 49%;
}

.fairList .fairMain article .inr .reserveBox ul li .uniqSelect {
  overflow: hidden;
  width: 100%;
  text-align: center;
}

.fairList .fairMain article .inr .reserveBox ul li .uniqSelect select {
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.fairList .fairMain article .inr .reserveBox ul li .uniqSelect select::-ms-expand {
  display: none;
}

.fairList .fairMain article .inr .reserveBox ul li .uniqSelect {
  position: relative;
  border: 1px solid #DDD;
  border-radius: 2px;
  background: #ffffff;
}

.fairList .fairMain article .inr .reserveBox ul li .uniqSelect::before {
  position: absolute;
  top: 50%;
  right: 1em;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid #666666;
  pointer-events: none;
  margin-top: -0.2em;
}

.fairList .fairMain article .inr .reserveBox ul li .uniqSelect select {
  padding: 20px 38px 20px 15px;
  color: #444;
  letter-spacing: 0.06em;
}

.fairList .fairMain article .inr .reserveBox ul li .btn {
  background-color: #002C59;
  border-radius: 3px;
  color: #FFF;
  display: block;
  letter-spacing: 0.06em;
  padding: 20px 10px;
  text-align: center;
  transition: 0.2s;
  width: 100%;
}

.fairList .fairMain article .inr .reserveBox ul li .btn:hover {
  opacity: 0.8;
}

.fairList .fairMain article .inr .hideSpace {
  padding-bottom: 30px;
}

.fairList .fairMain article .inr .hideSpace > dt {
  border: 1px solid #DDD;
  cursor: pointer;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  padding: 20px;
  position: relative;
  text-align: center;
  transition: 0.2s;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .hideSpace > dt {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.fairList .fairMain article .inr .hideSpace > dt:after {
  content: '＋';
  display: block;
  font-size: 20px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -18px;
}

.fairList .fairMain article .inr .hideSpace > dt:hover {
  background-color: #969682;
  color: #FFF;
}

.fairList .fairMain article .inr .hideSpace > dd {
  display: none;
}

.fairList .fairMain article .inr .hideSpace.open > dt {
  background-color: #969682;
  color: #FFF;
}

.fairList .fairMain article .inr .hideSpace.open > dt:after {
  content: '−';
}

.fairList .fairMain article .inr .weekdays {
  font-weight: 600;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .weekdays {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.fairList .fairMain article .inr .btnWeekdays {
  text-align: center;
}

.fairList .fairMain article .inr .btnWeekdays input {
  background-color: #426F97;
  border-radius: 3px;
  color: #FFF;
  display: block;
  letter-spacing: 0.06em;
  margin: 0 auto;
  padding: 20px 10px;
  text-align: center;
  transition: 0.2s;
  width: 100%;
  max-width: 400px;
}

.fairList .fairMain article .inr .btnWeekdays input:hover {
  opacity: 0.8;
}

.fairList .fairMain .cmnAnc {
  margin-top: -70px;
  padding-top: 70px;
}

.fairList .calendar {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  width: 30%;
  opacity: 0;
}

.fairList .calendar.load {
  opacity: 1;
  transition: 0.3s;
}

.fairList .calendar .tabMenu {
  margin-bottom: 30px;
}

.fairList .calendar .tabMenu h2 {
  display: none;
}

.fairList .calendar .tabMenu ul {
  border-bottom: 1px solid #C2C0B0;
  display: flex;
  justify-content: space-between;
  padding: 0 8px;
}

.fairList .calendar .tabMenu ul li {
  width: 57%;
}

.fairList .calendar .tabMenu ul li:first-child {
  width: 42%;
}

.fairList .calendar .tabMenu ul li:nth-child(3) {
  display: none;
}

.fairList .calendar .tabMenu ul li span {
  border: 1px solid #C2C0B0;
  border-bottom: none;
  cursor: pointer;
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 12px 10px 10px;
  text-align: center;
  transition: 0.2s;
  -webkit-border-radius: 3px 3px 0 0 / 3px 3px 0 0;
  -moz-border-radius: 3px 3px 0 0 / 3px 3px 0 0;
  border-radius: 3px 3px 0 0 / 3px 3px 0 0;
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabMenu ul li span {
    font-size: 10px;
    font-size: 1rem;
  }
}

.fairList .calendar .tabMenu ul li span:hover {
  background-color: #C2C0B0;
  color: #FFF;
}

.fairList .calendar .tabMenu ul li.current span {
  background-color: #C2C0B0;
  color: #FFF;
}

.fairList .calendar .tabBox .date {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 10px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .date {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.fairList .calendar .tabBox .date em {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.5;
  line-height: 1.4;
  margin-left: 10px;
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .date em {
    font-size: 29px;
    font-size: 2.9rem;
  }
}

.fairList .calendar .tabBox .calSlide {
  padding-bottom: 50px;
}

.fairList .calendar .tabBox .calSlide li table {
  border: none;
  table-layout: fixed;
  width: 100%;
}

.fairList .calendar .tabBox .calSlide li table th, .fairList .calendar .tabBox .calSlide li table td {
  border-color: #DDD;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
  padding: 15px 3px 0;
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .calSlide li table th, .fairList .calendar .tabBox .calSlide li table td {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.fairList .calendar .tabBox .calSlide li table th span, .fairList .calendar .tabBox .calSlide li table th a, .fairList .calendar .tabBox .calSlide li table td span, .fairList .calendar .tabBox .calSlide li table td a {
  display: inline-block;
  padding: 5px 3px;
}

.fairList .calendar .tabBox .calSlide li table th span, .fairList .calendar .tabBox .calSlide li table td span {
  color: #999;
}

.fairList .calendar .tabBox .calSlide li table th a, .fairList .calendar .tabBox .calSlide li table td a {
  color: #333;
  transition: 0.2s;
}

.fairList .calendar .tabBox .calSlide li table th a.event, .fairList .calendar .tabBox .calSlide li table td a.event {
  border-radius: 100%;
  background-color: #002C59;
  color: #FFF !important;
  padding: 6px 2px 8px;
  text-decoration: none;
  width: 34px;
}

.fairList .calendar .tabBox .calSlide li table th a:hover, .fairList .calendar .tabBox .calSlide li table td a:hover {
  opacity: 0.7;
}

.fairList .calendar .tabBox .calSlide li table td:nth-of-type(6) a {
  color: #426F97;
}

.fairList .calendar .tabBox .calSlide li table td:nth-of-type(7) a {
  color: #E13834;
}

.fairList .calendar .tabBox .calSlide li table thead th {
  border-bottom: 1px solid #F0EFE9;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 600;
  padding-bottom: 10px;
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .calSlide li table thead th {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.fairList .calendar .tabBox .calSlide li table thead th:nth-child(6) {
  color: #0059AF;
}

.fairList .calendar .tabBox .calSlide li table thead th:last-child {
  color: #E13834;
}

.fairList .calendar .tabBox .btn {
  background-color: #FFF;
  margin-top: 20px;
}

.fairList .calendar .tabBox .btn.spBtn {
  display: none;
}

.fairList .calendar .tabBox .btn a, .fairList .calendar .tabBox .btn span {
  border: 1px solid #999;
  cursor: pointer;
  color: #999;
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 10px;
  text-align: center;
  text-decoration: none;
  transition: 0.2s;
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .btn a, .fairList .calendar .tabBox .btn span {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.fairList .calendar .tabBox .btn a:hover, .fairList .calendar .tabBox .btn span:hover {
  border: 1px solid #000;
  color: #000;
}

.fairList .calendar .tabBox .slick-dots {
  bottom: 0;
}

.fairList .calendar .tabBox .slick-prev,
.fairList .calendar .tabBox .slick-next {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.04em;
  position: absolute;
  top: auto;
  bottom: -14px;
  display: block;
  width: 110px;
  height: 20px;
  padding: 0;
  cursor: pointer;
  color: #333;
  border: none;
  outline: none;
  z-index: 100;
}

.fairList .calendar .tabBox .slick-prev:hover,
.fairList .calendar .tabBox .slick-next:hover {
  text-decoration: underline;
}

.fairList .calendar .tabBox .slick-prev {
  left: 0 !important;
  padding-left: 22px;
}

.fairList .calendar .tabBox .slick-next {
  right: 0 !important;
  text-align: right;
  padding-right: 22px;
}

.fairList .calendar .tabBox .slick-disabled {
  display: none !important;
}

.fairList .calendar .tabBox .slick-next:before,
.fairList .calendar .tabBox .slick-prev:before {
  display: none !important;
}

.fairList .calendar .tabBox .slick-next {
  background: url("/wedding/assets/img/common/img_next.png") right 3px no-repeat;
  background-size: 12px auto;
}

.fairList .calendar .tabBox .slick-prev {
  background: url("/wedding/assets/img/common/img_prev.png") left 3px no-repeat;
  background-size: 12px auto;
}

.fairList .calendar .tabBox .fairCategory {
  display: flex;
  flex-wrap: wrap;
}

.fairList .calendar .tabBox .fairCategory li {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 15px;
  margin-right: 2%;
  text-align: center;
  width: 32%;
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .fairCategory li {
    font-size: 10px;
    font-size: 1rem;
  }
}

.fairList .calendar .tabBox .fairCategory li:nth-child(3n) {
  margin-right: 0;
}

.fairList .calendar .tabBox .fairCategory li a {
  border: 2px solid #FFF;
  color: #333;
  display: block;
  padding-bottom: 7px;
  text-decoration: none;
  transition: 0.2s;
  width: 100%;
}

.fairList .calendar .tabBox .fairCategory li a span {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
  margin-bottom: 5px;
  padding-top: 70%;
  /*he is my hero*/
  width: 100%;
  transition: 0.2s;
}

.fairList .calendar .tabBox .fairCategory li a:hover {
  color: #969682;
}

.fairList .calendar .tabBox .fairCategory li.current a {
  border: 2px solid #969682;
  color: #969682;
}

#fairMain {
  display: inline-block;
  margin-top: -100px;
  padding-top: 100px;
  width: 100%;
}

body.spSetting .mask {
  background: rgba(244, 243, 240, 0);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 0;
  width: 100%;
  z-index: 10;
  /*
-webkit-transition: all .5s cubic-bezier(0.77, 0, 0.175, 1);
	transition: all .5s cubic-bezier(0.77, 0, 0.175, 1);
  */
}

body.spSetting.modal {
  height: 100vh;
  overflow-y: hidden;
}

body.spSetting.modal .mask {
  background: #f4f3f0;
  height: 100%;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .pickUpFair {
    padding: 20px 0 40px;
    text-align: center;
    height: 90vw;
    overflow: hidden;
  }
  .pickUpFair h2 {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 7px;
  }
  .pickUpFair p {
    font-size: 11px;
    margin-bottom: 15px;
  }
  .pickUpFair ul#pickUpFairSlider {
    display: block;
    margin: 0;
    padding-bottom: 10px;
  }
  .pickUpFair ul#pickUpFairSlider li.list {
    margin: 0 10px;
    text-align: left;
    width: auto;
  }
  .pickUpFair ul#pickUpFairSlider li.list a dl dd {
    position: relative;
    width: 100%;
  }
  .pickUpFair ul#pickUpFairSlider li.list a dl dd span {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: block;
    line-height: 0;
    padding-top: 62%;
    /*he is my hero*/
    width: 100%;
    transition: 0.2s;
  }
  .pickUpFair ul#pickUpFairSlider li.list a dl dt {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.4;
    padding-top: 10px;
  }
  .pickUpFair .slick-dots {
    bottom: -20px;
  }
  .fairList {
    display: block;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 auto;
    max-width: 1680px;
    padding: 20px 0 0;
  }
  .fairList .fairMain {
    background-color: #FCFCFC;
    padding: 10px 0 40px;
    width: auto;
  }
  .fairList .fairMain h2 {
    border-bottom: none;
    display: none;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 35px;
    margin: 0 20px;
    padding-bottom: 10px;
    text-align: center;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .fairList .fairMain h2 {
    margin-bottom: 21px;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article {
    background-color: #FFF;
    box-shadow: 0 0 15px rgba(150, 150, 130, 0.3);
    margin-bottom: 40px;
    padding-bottom: 10px;
  }
  .fairList .fairMain article h1 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.6;
    padding: 20px;
  }
  .fairList .fairMain article .inr {
    padding: 20px;
  }
  .fairList .fairMain article .inr ul.img {
    margin-bottom: 15px;
  }
  .fairList .fairMain article .inr ul.img li:first-child {
    margin-right: 10px;
  }
  .fairList .fairMain article .inr ul.tag {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 15px;
  }
  .fairList .fairMain article .inr ul.tag li {
    border-radius: 2px;
    line-height: 1.2;
    margin: 0 4px 4px 0;
    padding: 2px 7px 4px;
  }
  .fairList .fairMain article .inr dl.data div.tr {
    display: block;
  }
  .fairList .fairMain article .inr dl.data div.tr dt {
    display: none;
  }
  .fairList .fairMain article .inr dl.data div.tr dd {
    font-size: 13px;
    font-size: 1.3rem;
    padding-bottom: 12px;
    width: auto;
  }
  .fairList .fairMain article .inr dl.data div.tr dd ul.time li {
    border-radius: 2px;
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 5px 0 0;
    padding: 4px 10px;
  }
  .fairList .fairMain article .inr dl.data div.tr dd p {
    line-height: 1.6;
  }
  .fairList .fairMain article .inr dl.data div.tokuten dd {
    color: #BFA654;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.4;
    font-weight: bold;
  }
  .fairList .fairMain article .inr .flow {
    margin-bottom: 20px;
    padding-top: 30px;
  }
  .fairList .fairMain article .inr .flow h3 {
    font-size: 18px;
    font-size: 1.8rem;
    margin-bottom: 25px;
  }
  .fairList .fairMain article .inr .flow ul {
    display: block;
  }
  .fairList .fairMain article .inr .flow ul li {
    display: flex;
    margin: 0 0 15px 0;
    width: auto;
  }
  .fairList .fairMain article .inr .flow ul li dl {
    padding: 5px 0 0 15px;
  }
  .fairList .fairMain article .inr .flow ul li dl dt {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
  }
  .fairList .fairMain article .inr .flow ul li dl dd {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.5;
  }
  .fairList .fairMain article .inr .reserveBox {
    padding: 25px 20px 20px;
  }
  .fairList .fairMain article .inr .reserveBox h3 {
    margin-bottom: 15px;
  }
  .fairList .fairMain article .inr .reserveBox ul {
    display: block;
  }
  .fairList .fairMain article .inr .reserveBox ul li {
    margin-top: 12px;
    width: auto;
  }
  .fairList .fairMain article .inr .reserveBox ul li .uniqSelect {
    overflow: hidden;
    width: 100%;
    text-align: center;
  }
  .fairList .fairMain article .inr .reserveBox ul li .uniqSelect select {
    font-weight: bold;
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
  }
  .fairList .fairMain article .inr .reserveBox ul li .uniqSelect select::-ms-expand {
    display: none;
  }
  .fairList .fairMain article .inr .reserveBox ul li .uniqSelect {
    position: relative;
    border: 1px solid #DDD;
    border-radius: 2px;
    background: #ffffff;
  }
  .fairList .fairMain article .inr .reserveBox ul li .uniqSelect::before {
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 8px solid #666666;
    pointer-events: none;
    margin-top: -0.2em;
  }
  .fairList .fairMain article .inr .reserveBox ul li .uniqSelect select {
    padding: 20px 25px 20px 25px;
    color: #444;
    letter-spacing: 0.06em;
  }
  .fairList .fairMain article .inr .reserveBox ul li .btn {
    font-weight: bold;
    padding: 20px 10px;
  }
  .fairList .fairMain article .inr .reserveBox ul li .btn:hover {
    opacity: 1;
  }
  .fairList .fairMain article .inr .hideSpace {
    padding-top: 15px;
  }
  .fairList .fairMain article .inr .hideSpace > dt {
    border: 1px solid #DDD;
    cursor: pointer;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    padding: 15px;
    position: relative;
    text-align: center;
    transition: 0.2s;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .fairList .fairMain article .inr .hideSpace > dt {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .hideSpace > dt:after {
    content: '＋';
    display: block;
    font-size: 20px;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -18px;
  }
  .fairList .fairMain article .inr .hideSpace > dt:hover {
    background-color: #969682;
    color: #FFF;
  }
  .fairList .fairMain article .inr .hideSpace > dd {
    display: none;
  }
  .fairList .fairMain article .inr .hideSpace.open > dt {
    background-color: #969682;
    color: #FFF;
  }
  .fairList .fairMain article .inr .hideSpace.open > dt:after {
    content: '−';
  }
  .fairList .fairMain article .inr .weekdays {
    font-weight: 600;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
    line-height: 1.6;
    letter-spacing: 0.1em;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .fairList .fairMain article .inr .weekdays {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .fairMain article .inr .btnWeekdays {
    text-align: center;
  }
  .fairList .fairMain article .inr .btnWeekdays input {
    font-weight: bold;
    padding: 20px 10px;
  }
  .fairList .fairMain article .inr .btnWeekdays input:hover {
    opacity: 1;
  }
  .fairList .fairMain article:last-child {
    margin-bottom: 0;
  }
  .fairList .fairMain {
    padding-top: 0;
  }
  .fairList .fairMain .cmnAnc {
    display: inline-block;
    margin-top: -140px;
    padding-top: 140px;
  }
  .fairList .calendar {
    position: -webkit-sticky;
    position: sticky;
    top: 55px;
    width: auto;
    z-index: 100;
    /*
.tabMenu.fit {
h2 {
margin-bottom: 0;
-webkit-transform: scale(0.9);
-moz-transform: scale(0.9);
-o-transform: scale(0.9);
-ms-transform: scale(0.9);
 transform: scale(0.9);
}
}
*/
  }
  .fairList .calendar .tabMenu {
    background-color: rgba(255, 255, 255, 0.95);
    margin-bottom: 0;
    padding: 12px 10px 10px;
  }
  .fairList .calendar .tabMenu h2 {
    border-bottom: none;
    color: #000;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 5px;
    padding-bottom: 10px;
    text-align: center;
    transition: 0.3s;
  }
  .fairList .calendar .tabMenu h2 strong {
    color: #426F97;
    font-size: 21px;
    font-size: 2.1rem;
    font-weight: bold;
    margin-right: 10px;
  }
  .fairList .calendar .tabMenu ul {
    border-bottom: none;
    display: flex;
    justify-content: space-between;
    padding: 0;
  }
  .fairList .calendar .tabMenu ul li {
    width: 40%;
  }
  .fairList .calendar .tabMenu ul li:first-child {
    width: 29%;
  }
  .fairList .calendar .tabMenu ul li:nth-child(3) {
    display: block;
    width: 29%;
  }
  .fairList .calendar .tabMenu ul li span, .fairList .calendar .tabMenu ul li a {
    background-color: #FFF;
    border: 1px solid #C2C0B0;
    display: flex;
    font-size: 11px;
    font-weight: bold;
    line-height: 1.3;
    flex-wrap: wrap;
    flex-grow: 1;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 3px 5px 3px;
    border-radius: 3px;
    text-decoration: none;
  }
  .fairList .calendar .tabMenu ul li span em, .fairList .calendar .tabMenu ul li a em {
    display: block;
    line-height: 0;
    font-size: 0;
    text-align: center;
    width: 100%;
  }
  .fairList .calendar .tabMenu ul li span em:after, .fairList .calendar .tabMenu ul li a em:after {
    border: 1px solid;
    border-color: transparent transparent #999 #999;
    content: '';
    display: block;
    height: 7px;
    margin: 0 auto 0;
    transform: rotate(-45deg);
    width: 7px;
    position: relative;
    top: -3px;
  }
  .fairList .calendar .tabMenu ul li span:hover, .fairList .calendar .tabMenu ul li a:hover {
    background-color: #FFF;
    color: #969682;
  }
  .fairList .calendar .tabMenu ul li.current span {
    background-color: #C2C0B0;
    color: #FFF;
  }
  .fairList .calendar .tabMenu ul li.current span em:after {
    border-color: transparent transparent #FFF #FFF;
  }
  .fairList .calendar .tabMenu ul li:nth-child(3) a {
    background-color: #999;
    border: 1px solid #AAA;
    color: #FFF;
  }
  .fairList .calendar #tab {
    padding: 0;
    position: relative;
    transition: 1s;
    opacity: 0;
  }
  .fairList .calendar #tab .tabBox {
    opacity: 0;
  }
  .fairList .calendar #tab.close {
    display: none;
  }
  .fairList .calendar #tab.open {
    -webkit-animation: cal 0.5s ease-out 0s forwards;
    animation: cal 0.5s ease-in-out 0s forwards;
  }
  .fairList .calendar #tab.open .tabBox {
    -webkit-animation: cal2 0.5s ease-out 0.5s forwards;
    animation: cal2 0.5s ease-in-out 0.5s forwards;
  }
  @keyframes cal {
    0% {
      display: none;
      opacity: 0;
    }
    10% {
      display: block;
      opacity: 0;
    }
    100% {
      display: block;
      opacity: 1;
    }
  }
  @keyframes cal2 {
    0% {
      opacity: 0;
      -webkit-transform: scaleY(1) translateY(30px);
      transform: scaleY(1) translateY(30px);
      -webkit-filter: blur(10px);
      filter: blur(10px);
    }
    100% {
      opacity: 1;
      -webkit-transform: scaleY(1) translateY(0);
      transform: scaleY(1) translateX(0);
      -webkit-filter: blur(0);
      filter: blur(0);
    }
  }
  .fairList .calendar .tabBox {
    padding: 15px;
    /*
.slick-next{
background: url("/wedding/assets/img/common/img_next.png") right 3px no-repeat;
}
.slick-prev{
background: url("/wedding/assets/img/common/img_prev.png") left 3px no-repeat;
}
*/
  }
  .fairList .calendar .tabBox .date {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 600;
    margin-bottom: 10px;
    text-align: center;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .fairList .calendar .tabBox .date {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .date em {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.5;
    line-height: 1.4;
    margin-left: 10px;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .fairList .calendar .tabBox .date em {
    font-size: 29px;
    font-size: 2.9rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .calSlide {
    padding-bottom: 50px;
  }
  .fairList .calendar .tabBox .calSlide li table {
    border: none;
    table-layout: fixed;
    width: 100%;
  }
  .fairList .calendar .tabBox .calSlide li table th, .fairList .calendar .tabBox .calSlide li table td {
    padding: 5px 3px 0;
  }
  .fairList .calendar .tabBox .calSlide li table th span, .fairList .calendar .tabBox .calSlide li table th a, .fairList .calendar .tabBox .calSlide li table td span, .fairList .calendar .tabBox .calSlide li table td a {
    display: inline-block;
    padding: 5px 3px;
  }
  .fairList .calendar .tabBox .calSlide li table th span, .fairList .calendar .tabBox .calSlide li table td span {
    color: #999;
  }
  .fairList .calendar .tabBox .calSlide li table th a, .fairList .calendar .tabBox .calSlide li table td a {
    color: #002C59;
    transition: 0.2s;
  }
  .fairList .calendar .tabBox .calSlide li table th a.event, .fairList .calendar .tabBox .calSlide li table td a.event {
    border-radius: 100%;
    background-color: #002C59;
    color: #FFF;
    padding: 6px 2px 8px;
    text-decoration: none;
    width: 32px;
  }
  .fairList .calendar .tabBox .calSlide li table th a:hover, .fairList .calendar .tabBox .calSlide li table td a:hover {
    opacity: 0.8;
  }
  .fairList .calendar .tabBox .calSlide li table thead th {
    border-bottom: 1px solid #F0EFE9;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 600;
    padding-bottom: 10px;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .fairList .calendar .tabBox .calSlide li table thead th {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .calSlide li table thead th:nth-child(6) {
    color: #0059AF;
  }
  .fairList .calendar .tabBox .calSlide li table thead th:last-child {
    color: #E13834;
  }
  .fairList .calendar .tabBox .btn {
    margin-top: 35px;
  }
  .fairList .calendar .tabBox .btn.spBtn {
    display: block;
  }
  .fairList .calendar .tabBox .btn.pcBtn {
    display: none;
  }
  .fairList .calendar .tabBox .btn a {
    border: 1px solid #999;
    color: #999;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 10px;
    text-align: center;
    text-decoration: none;
    transition: 0.2s;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .fairList .calendar .tabBox .btn a {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

@media only screen and (max-width: 960px) {
  .fairList .calendar .tabBox .btn a:hover {
    border: 1px solid #000;
    color: #000;
  }
  .fairList .calendar .tabBox .slick-dots {
    bottom: 0;
  }
  .fairList .calendar .tabBox .slick-prev,
  .fairList .calendar .tabBox .slick-next {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.04em;
    position: absolute;
    top: auto;
    bottom: -14px;
    display: block;
    width: 110px;
    height: 20px;
    padding: 0;
    cursor: pointer;
    color: #333;
    border: none;
    outline: none;
    z-index: 100;
  }
  .fairList .calendar .tabBox .slick-prev:hover,
  .fairList .calendar .tabBox .slick-next:hover {
    text-decoration: underline;
  }
  .fairList .calendar .tabBox .slick-prev {
    left: 0 !important;
    padding-left: 22px;
  }
  .fairList .calendar .tabBox .slick-next {
    right: 0 !important;
    text-align: right;
    padding-right: 22px;
  }
  .fairList .calendar .tabBox .slick-disabled {
    display: none !important;
  }
  .fairList .calendar .tabBox .slick-next:before,
  .fairList .calendar .tabBox .slick-prev:before {
    display: none !important;
  }
  .fairList .calendar .tabBox .fairCategory li {
    margin-top: 5px;
    margin-bottom: 0;
  }
  .fairList .calendar .tabBox .fairCategory li a {
    border: 2px solid #F4F3F0;
    padding-bottom: 7px;
  }
  .fairList .calendar .tabBox .fairCategory li.current a {
    border: 2px solid #969682;
    color: #969682;
  }
  #fairMain {
    margin-top: -70px;
    padding-top: 70px;
  }
}

.flowchart {
  max-width: 1000px;
  margin: 0 auto 30px;
  padding-bottom: 0;
  padding-top: 10px;
}

.flowchart p {
  margin-bottom: 70px;
  text-align: center;
}

.flowchart ul {
  border-top: 1px solid #CCC;
  display: flex;
}

.flowchart ul li {
  color: #9b9b9b;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .flowchart ul li {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.flowchart ul li:before {
  background-color: #FFF;
  border: 1px solid #002C59;
  border-radius: 100%;
  content: '';
  display: block;
  margin: -10px auto 15px;
  height: 20px;
  width: 20px;
}

.flowchart ul li.current {
  color: #002C59;
}

.flowchart ul li.current:before {
  background-color: #002C59;
}

.formHead {
  background-color: #F0EFE9;
  margin-bottom: 15px;
  padding: 20px;
}

.fairName {
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 0;
}

.fairName dl {
  border: 1px solid #C2C0B0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  width: 100%;
}

.fairName dl dt {
  border-right: 1px solid #C2C0B0;
  width: 35%;
}

.fairName dl dd {
  width: 65%;
}

.fairName dl dt, .fairName dl dd {
  line-height: 1.8;
  padding: 30px 15px;
  text-align: center;
}

.fairName dl dt p, .fairName dl dd p {
  color: #969682;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 5px;
}

@media only screen and (max-width: 960px) {
  .fairName dl dt p, .fairName dl dd p {
    font-size: 10px;
    font-size: 1rem;
  }
}

.fairName dl dt h3, .fairName dl dd h3 {
  font-weight: bold;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.5;
}

@media only screen and (max-width: 960px) {
  .fairName dl dt h3, .fairName dl dd h3 {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.inquirySection {
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 0;
}

.inquirySection.center {
  text-align: center;
}

.inquirySection .bodyCopy {
  font-size: 14px;
  margin-bottom: 30px;
  padding: 20px;
}

.inquirySection .bodyCopy span {
  color: #d61a1b;
}

.inquirySection select {
  font-size: 14px;
}

.inquirySection label {
  cursor: pointer;
}

.inquirySection label:hover {
  text-decoration: underline;
}

.inquirySection input[type=text] {
  border: 1px solid #C2C0B0;
  background-color: #FFF;
  border-radius: 3px;
  font-size: 15px;
  padding: 12px 15px;
}

.inquirySection input[type=checkbox] {
  margin-right: 5px;
}

.inquirySection select {
  border: 1px solid #C2C0B0;
  display: inline-block;
}

.inquirySection .imeOn {
  ime-mode: active;
}

.inquirySection .imeOff {
  ime-mode: disabled;
}

.inquirySection .fullW {
  width: 100%;
}

.inquirySection textarea.txtarea {
  background-color: #FFF;
  border: 1px solid #C2C0B0;
  font-size: 15px;
  height: 200px;
  padding: 20px 15px;
  width: 100%;
}

.inquirySection .submitBtn {
  margin-bottom: 60px;
  padding: 0 0 60px;
  text-align: center;
}

.inquirySection .submitBtn input {
  background-color: #002C59;
  border-radius: 3px;
  border: none;
  color: #FFF;
  display: inline-block;
  font-size: 17px;
  margin: 0 5px;
  padding: 20px 25px;
  min-width: 350px;
  transition: 0.2s;
}

.inquirySection .submitBtn input:hover {
  opacity: 0.8;
}

.inquirySection .submitBtn input.return {
  background-color: #AAA;
}

.inquirySection .hissu:before {
  background-color: #d61a1b;
  border-radius: 3px;
  color: #FFF;
  content: '必須';
  display: inline-block;
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
  margin-left: 10px;
  margin-top: 2px;
  padding: 4px 10px;
  vertical-align: 1px;
  float: right;
}

.inquirySection .nini:before {
  background-color: #999;
  color: #FFF;
  content: '任意';
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  margin-left: 10px;
  padding: 4px 10px;
  vertical-align: 1px;
  float: right;
}

.inquirySection td.err,
.inquirySection td.caution {
  background-color: #FCE5E4;
}

.inquirySection p.err,
.inquirySection p.caution {
  color: red;
  font-size: 13px;
  margin-bottom: 5px;
}

.inquirySection .thanksHead {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.6;
  padding: 20px 20px 10px;
}

.inquirySection .thanksCopy {
  font-size: 16px;
  line-height: 2;
  padding: 30px 0 50px;
}

.inquirySection .privacyP {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 30px;
}

.inquirySection .btm20 {
  margin-bottom: 20px;
}

.inquirySection .uniqSelect {
  display: inline-block;
  margin: 0 10px 0 15px;
  overflow: hidden;
  vertical-align: middle;
  text-align: left;
}

.inquirySection .uniqSelect select {
  font-size: 14px;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.inquirySection .uniqSelect select::-ms-expand {
  display: none;
}

.inquirySection .uniqSelect {
  position: relative;
  border: 1px solid #C2C0B0;
  border-radius: 2px;
  background: #ffffff;
}

.inquirySection .uniqSelect::before {
  position: absolute;
  top: 50%;
  right: 1em;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #666666;
  pointer-events: none;
  margin-top: -0.1em;
}

.inquirySection .uniqSelect select {
  padding: 8px 38px 8px 15px;
  color: #444;
  font-size: 15px;
  letter-spacing: 0.06em;
  min-width: 140px;
}

.inquirySection .bscTbl table {
  border-collapse: collapse;
  margin-bottom: 40px;
  width: 100%;
}

.inquirySection .bscTbl table th, .inquirySection .bscTbl table td {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  padding: 16px 15px;
  vertical-align: top;
  text-align: left;
}

.inquirySection .bscTbl table th {
  padding-top: 14px;
  width: 30%;
}

.inquirySection.center {
  padding-bottom: 100px;
}

.cmnBtnForm {
  text-align: center;
}

.cmnBtnForm a {
  background-color: #002C59;
  border-radius: 3px;
  color: #FFF;
  display: inline-block;
  font-weight: 500;
  margin: 0 1%;
  min-width: 31%;
  padding: 18px 35px 18px 35px;
  text-align: center;
  text-decoration: none;
  transition: 0.2s;
  position: relative;
  overflow: hidden;
}

.cmnBtnForm a:hover {
  opacity: 0.8;
}

.noLm {
  margin-left: 0 !important;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .flowchart {
    margin-bottom: 30px;
  }
  .flowchart p {
    font-size: 13px;
    font-size: 1.3rem;
    margin-bottom: 30px;
  }
  .flowchart ul li {
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.4;
  }
  .flowchart ul li:before {
    margin: -7px auto 10px;
    height: 14px;
    width: 14px;
  }
  .fairName {
    padding: 0;
  }
  .fairName dl {
    flex-wrap: wrap;
    margin: 0 20px 30px;
    padding: 10px 0;
    width: auto;
  }
  .fairName dl dt {
    border-right: none;
    width: 100%;
  }
  .fairName dl dd {
    width: 100%;
  }
  .fairName dl dt, .fairName dl dd {
    line-height: 1.8;
    padding: 10px 15px;
    text-align: left;
  }
  .fairName dl dt p, .fairName dl dd p {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .fairName dl dt h3, .fairName dl dd h3 {
    font-size: 15px;
    font-size: 1.5rem;
  }
  .inquirySection {
    padding: 0;
  }
  .inquirySection.center {
    text-align: center;
    padding-bottom: 60px;
  }
  .inquirySection .bodyCopy {
    font-size: 11px;
    margin-bottom: 0;
    padding: 10px 15px;
  }
  .inquirySection select {
    font-size: 13px;
  }
  .inquirySection input[type=text] {
    font-size: 15px;
    padding: 12px 15px;
  }
  .inquirySection input[type=checkbox] {
    margin-right: 5px;
  }
  .inquirySection select {
    display: inline-block;
  }
  .inquirySection textarea.txtarea {
    font-size: 13px;
    height: 150px;
    margin-bottom: 20px;
    padding: 20px 15px;
  }
  .inquirySection .submitBtn {
    margin-bottom: 0;
    padding: 20px 0 40px;
    width: 100%;
  }
  .inquirySection .submitBtn input {
    display: block;
    font-size: 15px;
    font-weight: bold;
    margin: 0 auto 15px;
    padding: 20px 25px;
    min-width: 320px;
  }
  .inquirySection .hissu:before {
    font-size: 11px;
  }
  .inquirySection td.err,
  .inquirySection td.caution {
    background-color: transparent;
  }
  .inquirySection p.err,
  .inquirySection p.caution {
    color: red;
    font-size: 13px;
    margin-bottom: 5px;
  }
  .inquirySection .thanksHead {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
    padding: 20px 20px 10px;
  }
  .inquirySection .thanksCopy {
    font-size: 13px;
    line-height: 1.8;
    padding: 10px 20px 30px;
    text-align: left;
  }
  .inquirySection .privacyP {
    font-size: 13px;
    line-height: 1.7;
    margin: 0 15px 30px;
  }
  .inquirySection .btm20 {
    margin-bottom: 10px;
  }
  .inquirySection .uniqSelect {
    margin: 0 10px 0 0;
  }
  .inquirySection .uniqSelect select {
    font-size: 13px;
    padding-right: 1em;
  }
  .inquirySection .uniqSelect {
    margin-top: 5px;
    vertical-align: middle;
  }
  .inquirySection .uniqSelect::before {
    right: 1em;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 4px solid #666666;
    margin-top: -0.1em;
  }
  .inquirySection .uniqSelect select {
    padding: 5px 38px 5px 15px;
    font-size: 13px;
    min-width: auto;
  }
  .inquirySection .bscTbl table {
    display: block;
    margin-bottom: 10px;
    width: 100%;
  }
  .inquirySection .bscTbl table tbody {
    display: block;
    width: 100%;
  }
  .inquirySection .bscTbl table tr {
    display: block;
    width: 100%;
  }
  .inquirySection .bscTbl table tr:nth-child(odd) {
    background-color: #FAFAFA;
  }
  .inquirySection .bscTbl table th, .inquirySection .bscTbl table td {
    line-height: 1.5;
    padding: 20px 15px;
    display: block;
    text-align: left;
    width: auto;
  }
  .inquirySection .bscTbl table th {
    color: #969682;
    font-size: 12px;
    font-size: 1.2rem;
    padding-bottom: 5px;
  }
  .inquirySection .bscTbl table td {
    font-size: 15px;
    font-size: 1.5rem;
    padding-top: 5px;
  }
  .cmnBtnForm {
    padding: 0 15px;
  }
  .cmnBtnForm a {
    display: block;
    font-weight: 600;
    margin: 0;
    padding: 12px 35px 12px 35px;
  }
}

.conceptMv {
  background-image: url("/wedding/assets/img/concept/mv.jpg");
}

.concept01 {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: 0 30px 80px;
  text-align: center;
  width: 100%;
}

.concept01 h1 {
  position: relative;
  top: -40px;
  width: 100%;
}

.concept01 h1 span.copy {
  display: block;
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .concept01 h1 span.copy {
    font-size: 26px;
    font-size: 2.6rem;
  }
}

.concept01 h1 span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .concept01 h1 span.img {
    margin-bottom: 36px;
  }
}

.concept01 h1 span.img img {
  height: auto;
  width: 100%;
  max-width: 330px;
}

.conceptBodyCopy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  margin-bottom: 50px;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .conceptBodyCopy {
    font-size: 10px;
    font-size: 1rem;
  }
}

.conceptScene {
  padding: 0 60px 100px;
  text-align: center;
  width: 100%;
}

.conceptScene .vi {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
  margin: 0 auto 80px;
  max-width: 1800px;
  position: relative;
  width: 100%;
  transition: 0.2s;
}

.conceptScene .vi img {
  height: auto;
  width: 100%;
}

.conceptScene h2 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin: 0 0 30px;
}

@media only screen and (max-width: 960px) {
  .conceptScene h2 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.conceptScene .btn {
  text-align: center;
  width: 100%;
}

.conceptScene .btn a {
  background-color: #FFF;
  border: 1px solid #CCC;
  color: #333;
  display: inline-block;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  line-height: 1;
  min-width: 400px;
  padding: 22px 30px 22px 25px;
  text-decoration: none;
  transition: 0.3s;
  position: relative;
}

@media only screen and (max-width: 960px) {
  .conceptScene .btn a {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.conceptScene .btn a span {
  display: block;
  padding-top: 7px;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.5;
}

@media only screen and (max-width: 960px) {
  .conceptScene .btn a span {
    font-size: 10px;
    font-size: 1rem;
  }
}

.conceptScene .btn a:after {
  background: url("/wedding/assets/img/common/img_next.png") left top no-repeat;
  background-size: 12px auto;
  content: '';
  display: inline-block;
  height: 7px;
  vertical-align: 2px;
  transition: 0.3s;
  width: 17px;
  position: absolute;
  top: 50%;
  right: 25px;
}

.conceptScene .btn a:hover {
  border: 1px solid #F0EFE9;
  color: #000;
  box-shadow: 0 0 20px rgba(150, 150, 130, 0.2);
}

.conceptScene .btn a:hover:after {
  right: 20px;
}

.scene01 .vi {
  background-image: url("/wedding/assets/img/concept/img_scene01_vi.jpg");
}

.scene02 .vi {
  background-image: url("/wedding/assets/img/concept/img_scene02_vi.jpg");
}

.scene03 .vi {
  background-image: url("/wedding/assets/img/concept/img_scene03_vi.jpg");
}

.scene04 .vi {
  background-image: url("/wedding/assets/img/concept/img_scene04_vi.jpg");
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .concept01 {
    display: block;
    min-height: auto;
    min-height: inherit;
    padding: 0 0 50px;
    width: auto;
  }
  .concept01 h1 {
    top: -20px;
    width: auto;
  }
  .concept01 h1 span.copy {
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.8;
  }
  .concept01 h1 span.img {
    display: block;
    margin-bottom: 20px;
  }
  .concept01 h1 span.img img {
    max-width: 200px;
  }
  .conceptBodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2;
    margin: 0 20px;
    text-align: left;
    width: auto;
  }
  .conceptBodyCopy br {
    display: none;
  }
  .conceptScene {
    padding: 0 0 70px;
    text-align: center;
    width: 100%;
  }
  .conceptScene .vi {
    display: block;
    margin: 0 auto 40px;
  }
  .conceptScene .vi img {
    min-height: 40vw;
  }
  .conceptScene h2 {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    margin: 10px 15px 20px;
  }
  .conceptScene .btn {
    padding-top: 20px;
  }
  .conceptScene .btn a {
    font-size: 16px;
    min-width: 350px;
  }
  .scene01 .vi {
    background-image: url("/wedding/assets/img/concept/img_scene01_vi_sp.jpg");
  }
  .scene02 .vi {
    background-image: url("/wedding/assets/img/concept/img_scene02_vi_sp.jpg");
  }
  .scene03 .vi {
    background-image: url("/wedding/assets/img/concept/img_scene03_vi_sp.jpg");
  }
  .scene04 .vi {
    background-image: url("/wedding/assets/img/concept/img_scene04_vi_sp.jpg");
  }
}

.ceremonyMv {
  background-image: url("/wedding/assets/img/ceremony/mv.jpg");
}

.ceremony01 {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: 0 30px 100px;
  text-align: center;
  width: 100%;
}

.ceremony01 h1 {
  position: relative;
  top: -30px;
  width: 100%;
}

.ceremony01 h1 span.copy {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .ceremony01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.ceremony01 h1 span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .ceremony01 h1 span.img {
    margin-bottom: 36px;
  }
}

.ceremony01 h1 span.img img {
  height: auto;
  width: 100%;
  max-width: 500px;
}

.ceremony01 .capa {
  border-bottom: 1px solid #C2C0B0;
  border-top: 1px solid #C2C0B0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
  line-height: 2;
  margin: 0 auto;
  max-width: 450px;
  padding: 20px;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .ceremony01 .capa {
    font-size: 10px;
    font-size: 1rem;
  }
}

.ceremonyBodyCopy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  margin-bottom: 50px;
  width: 100%;
}


/*20230807更新*/
.gallery02 ul.gallery_tab_btnWrapper {
    margin-top: 4rem;
}
.gallery02 ul.gallery_tab_btnWrapper li {
    margin-bottom: 1.8vw;
    overflow: hidden;
    margin-right: 2%;
    width: 18.4%;
    transition: 0.3s;
}
.gallery02 ul.gallery_tab_btnWrapper li:nth-child(4n) {
    margin-right: 2%;
}
.gallery02 ul.gallery_tab_btnWrapper li:nth-child(5n) {
    margin-right: 0;
}
.gallery02 ul li a.gallery_tab_btn, .gallery02 ul li a.gallery_tab_btn_ALL{
    background-color: #FFF;
    color: #333;
    border: 1px solid #CCC;
    border-radius: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 0 5px;
    text-decoration: none;
    transition: 0.2s;
    font-size: 1.4rem;
}
.gallery02 ul.gallery_tab_btnWrapper li:hover {
    transform: none;
}
.gallery02 ul.gallery_tab_btnWrapper li:hover a.gallery_tab_btn,
.gallery02 ul.gallery_tab_btnWrapper li:hover a.gallery_tab_btn_ALL,
.gallery02 ul li a.gallery_tab_btn.active,
.gallery02 ul li a.gallery_tab_btn_ALL.active {
    background-color: #002C59;
    color: #FFF;
}
.gallery02 .gallery_tab_content{
    display: none;
}
.gallery02 .gallery_tab_content.show {
    display: block;
}

.imgBodyCopy {
  margin: 0 4vw 1.5vw;
  position: relative;
  height: 0;
  padding-top: calc(520 / 1500 * 100%);
  width: auto;
  letter-spacing: 0.16em;
  line-height: 2.4;
}
.img2 .imgBodyCopy {
  padding-top: calc(487 / 740 * 100%);
  position: relative;
  height: 0;
  margin: 0;
  width: 100%;
}
.img1 .imgBodyCopy {
  padding-top: calc(994 / 740 * 100%);
  position: relative;
  height: 0;
  margin: 0;
  width: 100%;
}
.imgBodyCopy > span {
  width: 100%;
  display: block;
  position: absolute;
  }
.pc_copy {
  display: block;
  }
.sp_copy {
  display: none;
  }
  

@media only screen and (max-width: 960px) {
.gallery02 ul li a.gallery_tab_btn, .gallery02 ul li a.gallery_tab_btn_ALL{
    min-height: 35px;
}
.pc_copy {
  display: none;
  }
  .sp_copy {
  display: block;
  }
  .sp_copy  br {
  display: initial!important;
  }
.gallery02 ul li a.gallery_tab_btn, .gallery02 ul li a.gallery_tab_btn_ALL{
    font-size: 1.2rem;
}
  .gallery02 ul.gallery_tab_btnWrapper li {
    width: 48%;
  }
  .gallery02 ul.gallery_tab_btnWrapper li:nth-of-type(2n) {
      margin-right: 0 !important;
  }
  .gallery02 ul.gallery_tab_btnWrapper li:nth-of-type(3n) {
      margin-right: 2%!important;
  }
    .gallery02 ul.gallery_tab_btnWrapper li:nth-of-type(5n) {
      margin-right: 2%!important;
  }
  .imgBodyCopy {
    font-size: 10px;
    font-size: 1rem;
    letter-spacing: 0.11em;
    line-height: 2.3;
  }
}
.ta-left {
  text-align: left!important;
}
.ta-center {
  text-align: center!important;
}
.ta-right {
  text-align: right!important;
}
.imgBodyCopy.tva-top > span {
  top: 1rem;
}
.imgBodyCopy.tva-middle > span {
  top: 50%;
  transform: translateY(-50%);
}
.imgBodyCopy.tva-bottom > span {
  bottom: 1rem;
}

.fs-10 {
    font-size: 10px!important;
    font-size: 1rem!important;
}
.fs-12 {
    font-size: 12px!important;
    font-size: 1.2rem!important;
}
.fs-14 {
    font-size: 14px!important;
    font-size: 1.4rem!important;
}
.fs-16 {
    font-size: 16px!important;
    font-size: 1.6rem!important;
}
.fs-18 {
    font-size: 18px!important;
    font-size: 1.8rem!important;
}
.fs-20 {
    font-size: 20px!important;
    font-size: 2rem!important;
}

.imgBoxList .img2.bodyCopy, .imgBoxListRe .img2.bodyCopy {
    align-content: initial;
}
/*--20230807更新--*/

.imgBox {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-bottom: 1.5vw;
  width: 100%;
  height: 0;
  padding-top: calc(990 / 1500 * 100%);
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
}

.imgBoxList {
  display: flex;
  justify-content: space-between;
}

.imgBoxList > div {
  width: 49.3%;
}

.imgBoxList .img2 {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
}

.imgBoxList .img2 .imgBox2 {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: calc(487 / 740 * 100%);
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
}

.imgBoxList .img1 .imgBox1 {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: calc(994 / 740 * 100%);
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
}

.imgBoxList:nth-child(3) {
  flex-direction: row-reverse;
}

.imgLink {
  background: url("/wedding/assets/img/ceremony/bg_imglink.jpg") center center no-repeat;
  background-size: cover;
  position: relative;
  transition: 0.3s;
}

.imgLink:after {
  background-color: rgba(0, 0, 0, 0.1);
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  height: auto;
  width: 100%;
  transition: 0.3s;
}

.imgLink a {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  color: #FFF;
  font-weight: 600;
  letter-spacing: 0.06em;
  min-height: 350px;
  position: relative;
  text-decoration: none;
  width: 100%;
  z-index: 3;
}

@media only screen and (max-width: 960px) {
  .imgLink a {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.imgLink a .btn {
  margin-top: 15px;
  text-align: center;
  width: 100%;
}

.imgLink a .btn span {
  border: 1px solid #EEE;
  color: #FFF;
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.5;
  line-height: 1.4;
  line-height: 1;
  min-width: 330px;
  padding: 22px 10px 22px 25px;
  text-decoration: none;
  transition: 0.3s;
  /*
&:hover {
border: 1px solid $c_beige01;
box-shadow: 0 0 20px rgba(150,150,130,0.2);
&:after {
background: url("/wedding/assets/img/common/img_next_w.png") 5px top no-repeat;
background-size: 12px auto;
width: 17px;
}
}
*/
}

@media only screen and (max-width: 960px) {
  .imgLink a .btn span {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.imgLink a .btn span:after {
  background: url("/wedding/assets/img/common/img_next_w.png") left top no-repeat;
  background-size: 12px auto;
  content: '';
  display: inline-block;
  height: 7px;
  margin-left: 15px;
  vertical-align: 2px;
  transition: 0.3s;
  width: 17px;
}

.imgLink:hover:after {
  background-color: rgba(0, 0, 0, 0.4);
}

.imgLink:hover a .btn span:after {
  background: url("/wedding/assets/img/common/img_next_w.png") 5px top no-repeat;
  background-size: 12px auto;
  width: 17px;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .ceremony01 {
    display: block;
    min-height: auto;
    min-height: inherit;
    padding: 0 0 30px;
    width: auto;
  }
  .ceremony01 h1 {
    top: -20px;
    width: auto;
  }
  .ceremony01 h1 span.copy {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.7;
    margin-bottom: 0;
  }
  .ceremony01 h1 span.img {
    display: block;
    margin-bottom: 10px;
  }
  .ceremony01 h1 span.img img {
    max-width: 300px;
  }
  .ceremony01 .capa {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.7;
    max-width: 250px;
    padding: 15px;
  }
  .ceremonyBodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2.3;
    margin: 0 20px 30px;
    text-align: left;
    width: auto;
  }
  .ceremonyBodyCopy br {
    display: none;
  }
  /*
.ceremony02 {
padding: 0 0 30px;
}


.imgBoxList {
display: block;
> div {
width: auto;
}
.img2 {
display: block;
.imgBox2 {
margin-bottom: 1.5vw;
}
}
}
*/
  .imgLink {
    padding: 0 25px;
  }
  .imgLink:after {
    background-color: rgba(0, 0, 0, 0.4);
  }
  .imgLink a {
    font-size: 22px;
    font-size: 2.2rem;
    min-height: 200px;
    position: relative;
    text-decoration: none;
    width: 100%;
    z-index: 3;
  }
  .imgLink a .btn {
    margin-top: 15px;
    text-align: center;
    width: 100%;
  }
  .imgLink a .btn span {
    display: block;
    min-width: auto;
    min-width: inherit;
    padding: 18px 5px 18px 17px;
  }
}

.cuisineMv {
  background-image: url("/wedding/assets/img/cuisine/mv.jpg");
}

.cuisine01 {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: 0 30px 100px;
  text-align: center;
  width: 100%;
}

.cuisine01 h1 {
  position: relative;
  top: -30px;
  width: 100%;
}

.cuisine01 h1 span.copy {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .cuisine01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.cuisine01 h1 span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .cuisine01 h1 span.img {
    margin-bottom: 36px;
  }
}

.cuisine01 h1 span.img img {
  height: auto;
  width: 100%;
  max-width: 500px;
}

.cuisineBodyCopy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .cuisineBodyCopy {
    font-size: 10px;
    font-size: 1rem;
  }
}

.cuisine02 {
  padding: 0;
}

.cuisineBox {
  display: flex;
  justify-content: center;
}

.cuisineBox .img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 100vh;
  width: 50%;
}

.cuisineBox .data {
  padding: 100px 7vw;
  text-align: center;
  width: 50%;
}

.cuisineBox .data h3 {
  margin-bottom: 3vw;
}

.cuisineBox .data h4 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  margin-bottom: 2vw;
}

@media only screen and (max-width: 960px) {
  .cuisineBox .data h4 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.cuisineBox .data p.txt {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  line-height: 2.4;
  margin: 0 auto 3vw;
  text-align: left;
  max-width: 590px;
}

@media only screen and (max-width: 960px) {
  .cuisineBox .data p.txt {
    font-size: 10px;
    font-size: 1rem;
  }
}

.cuisineBox:nth-child(even) {
  flex-direction: row-reverse;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .cuisineMv {
    background-image: url("/wedding/assets/img/cuisine/mv_sp.jpg");
    background-position: center bottom;
  }
  .cuisine01 {
    display: block;
    min-height: auto;
    min-height: inherit;
    padding: 0 0 30px;
    width: auto;
  }
  .cuisine01 h1 {
    top: -20px;
    width: auto;
  }
  .cuisine01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 0;
  }
  .cuisine01 h1 span.img {
    display: block;
    margin-bottom: 20px;
  }
  .cuisine01 h1 span.img img {
    max-width: 240px;
  }
  .cuisineBodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2;
    margin: 0 20px 30px;
    text-align: left;
    width: auto;
  }
  .cuisineBodyCopy br {
    display: none;
  }
  .cuisineBox {
    display: block;
  }
  .cuisineBox .img {
    min-height: 50vh;
    width: auto;
  }
  .cuisineBox .data {
    padding: 40px 20px 60px;
    width: auto;
  }
  .cuisineBox .data h3 {
    margin-bottom: 30px;
  }
  .cuisineBox .data h3 img {
    max-height: 60px;
  }
  .cuisineBox .data h4 {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 4vw;
  }
  .cuisineBox .data p.txt {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
    margin: 0 auto 30px;
    max-width: none;
  }
  .cuisineBox .data p.txt br {
    display: none;
  }
  .cuisineBox .data p.photo {
    margin: 0 auto;
    max-width: 80%;
  }
}

.designMv {
  background-image: url("/wedding/assets/img/design/mv.jpg");
}

.design01 {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: 0 30px;
  text-align: center;
  width: 100%;
  /*
div.illustFlex{
display: flex;
align-items: center;
margin: 0 auto;
max-width: 1500px;
p.illust {
padding: 50px 30px 30px 0;
text-align: center;
width: 60%;
img {
}
}

div.illustData{
width: 40%;
h2.illustCopy {
@include btm(20);
width: 100%;
span.copy {
display: block;
@include fs(24);
font-weight: 600;
letter-spacing: 0.1em;
}
span.img {
display: block;
@include btm(20);
img {
height: auto;
width: 100%;
max-width: 700px;
}
}
}
}
}
*/
}

.design01 h1 {
  position: relative;
  top: -30px;
  width: 100%;
}

.design01 h1 span.copy {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .design01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.design01 h1 span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .design01 h1 span.img {
    margin-bottom: 36px;
  }
}

.design01 h1 span.img img {
  height: auto;
  width: 100%;
  max-width: 800px;
}

.designBodyCopy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .designBodyCopy {
    font-size: 10px;
    font-size: 1rem;
  }
}

.design02 {
  padding: 0;
}

.designBox {
  display: flex;
  /*
align-items: center;
*/
  justify-content: center;
}

.designBox > .img {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 100vh;
  width: 50%;
}

.designBox > .img.illust {
  background-size: contain;
}

.designBox > .data {
  padding: 100px 5vw 60px;
  text-align: center;
  width: 50%;
}

.designBox > .data h3 {
  margin-bottom: 2vw;
  width: 100%;
}

.designBox > .data h3 span.img {
  display: block;
  margin-bottom: 20px;
}

@media only screen and (max-width: 960px) {
  .designBox > .data h3 span.img {
    margin-bottom: 10px;
  }
}

.designBox > .data h3 span.img img {
  height: auto;
  width: 100%;
  max-width: 550px;
}

.designBox > .data h3 span.copy {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .designBox > .data h3 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.designBox > .data p.txt {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.06em;
  line-height: 2;
  margin: 0 auto 3vw;
  max-width: 90%;
  text-align: left;
}

@media only screen and (max-width: 960px) {
  .designBox > .data p.txt {
    font-size: 10px;
    font-size: 1rem;
  }
}

.designBox > .data p.photo {
  margin-bottom: 3vw;
}

.designBox > .data p.photo a.modaalSwitch {
  display: block;
  position: relative;
}

.designBox > .data p.photo a.modaalSwitch:before {
  background: url("/wedding/assets/img/common/play.png") center center no-repeat;
  background-size: 55px auto;
  content: '';
  display: block;
  height: 60px;
  opacity: 0.6;
  width: 60px;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -30px 0 0 -30px;
  transition: 0.3s;
}

.designBox > .data p.photo a.modaalSwitch:hover:before {
  opacity: 0.95;
}

.designBox:nth-child(even) {
  flex-direction: row-reverse;
}

@media only screen and (min-width: 960px) {
  .designBox:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 100px 0;
  }
  .designBox:first-child > .img {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: auto;
    height: 450px;
    width: 300px;
  }
  .designBox:first-child > .img.illust {
    background-size: contain;
  }
  .designBox:first-child > .data {
    padding: 20px 2vw 20px;
    width: auto;
  }
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .design01 {
    display: block;
    min-height: auto;
    min-height: inherit;
    padding: 0 0 30px;
    width: auto;
  }
  .design01 h1 {
    top: -10px;
    margin-bottom: 10px;
    width: auto;
  }
  .design01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 0;
  }
  .design01 h1 span.img {
    display: block;
    margin-bottom: 20px;
  }
  .design01 p.illust {
    padding: 20px;
  }
  .design01 h2.illustCopy span.copy {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.7;
    margin-bottom: 0;
  }
  .design01 h2.illustCopy span.img {
    display: block;
    padding: 0 20px;
    margin-bottom: 10px;
  }
  .designBodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2;
    margin: 0 20px 30px;
    text-align: left;
    width: auto;
  }
  .designBodyCopy br {
    display: none;
  }
  .designBox {
    display: block;
  }
  .designBox > .img {
    margin-bottom: 40px;
    min-height: 70vw;
    width: auto;
  }
  .designBox .data {
    padding: 0 20px 50px;
    width: auto;
  }
  .designBox .data h3 {
    line-height: 1.6;
    margin: 0 0 20px;
    padding: 0 10px;
  }
  .designBox .data h3 .copy {
    line-height: 2;
  }
  .designBox .data h3 .img {
    margin-bottom: 30px;
  }
  .designBox .data h4 {
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 4vw;
  }
  .designBox .data p.txt {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2;
    margin: 0 auto 30px;
    max-width: none;
  }
  .designBox .data p.txt br {
    display: none;
  }
  .designBox .data p.photo {
    display: none;
  }
  .designBox.movie > .img {
    display: none;
  }
  .designBox.movie .data {
    margin-bottom: 0;
    padding: 0 0 50px;
  }
  .designBox.movie .data .txt {
    margin: 0 20px;
  }
  .designBox.movie .data .photo {
    display: block;
    margin-bottom: 30px;
  }
  .designBox > .data h3 span.copy {
    line-height: 1.7;
  }
  .designBox > .data h3 span.img {
    margin-bottom: 20px;
  }
}

.receptionMv {
  background-image: url("/wedding/assets/img/reception/mv.jpg");
}

.reception01 {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: 0 30px 100px;
  text-align: center;
  width: 100%;
}

.reception01 h1 {
  position: relative;
  top: -30px;
  width: 100%;
}

.reception01 h1 span.copy {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .reception01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.reception01 h1 span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .reception01 h1 span.img {
    margin-bottom: 36px;
  }
}

.reception01 h1 span.img img {
  height: auto;
  width: 100%;
  max-width: 500px;
}

.reception01 .capa {
  border-bottom: 1px solid #C2C0B0;
  border-top: 1px solid #C2C0B0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
  line-height: 2;
  margin: 0 auto;
  max-width: 450px;
  padding: 20px;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .reception01 .capa {
    font-size: 10px;
    font-size: 1rem;
  }
}

.receptionBodyCopy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .receptionBodyCopy {
    font-size: 10px;
    font-size: 1rem;
  }
}

.receptionAnchor ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1500px;
  margin: 0 auto;
  text-align: center;
}

.receptionAnchor ul li {
  margin-bottom: 1vw;
  width: calc(50% - 0.5vw);
}

.receptionAnchor ul li a {
  color: #333;
  display: flex;
  padding: 5vw;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.receptionAnchor ul li a dl {
  background: rgba(255, 255, 255, 0.8);
  display: block;
  margin: 0 auto;
  max-width: 600px;
  padding: 4vw 4vw 2.5vw;
  position: relative;
  z-index: 2;
  width: 100%;
  transition: 0.3s;
}

.receptionAnchor ul li a dl dt {
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-bottom: 2vw;
}

@media only screen and (max-width: 960px) {
  .receptionAnchor ul li a dl dt {
    font-size: 27px;
    font-size: 2.7rem;
  }
}

.receptionAnchor ul li a dl dt span {
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: normal;
}

@media only screen and (max-width: 960px) {
  .receptionAnchor ul li a dl dt span {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.receptionAnchor ul li a dl dd {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 1vw;
  margin: 0 auto;
  max-width: 400px;
}

@media only screen and (max-width: 960px) {
  .receptionAnchor ul li a dl dd {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.receptionAnchor ul li a dl:after {
  background: url("/wedding/assets/img/common/img_down.png") right center no-repeat;
  content: 'See more';
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  margin-top: 20px;
  padding: 0 20px 0 0;
}

@media only screen and (max-width: 960px) {
  .receptionAnchor ul li a dl:after {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.receptionAnchor ul li a:after {
  background: rgba(0, 0, 0, 0);
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  transition: 0.3s;
}

.receptionAnchor ul li a:hover dl {
  background: rgba(255, 255, 255, 0.9);
}

.receptionAnchor ul li a:hover:after {
  background: rgba(0, 0, 0, 0.4);
}

.receptionAnchor ul li:first-child {
  width: 100%;
}

.receptionAnchor ul li:first-child a {
  background: url("/wedding/assets/img/reception/img_anc_01.jpg") center center no-repeat;
  background-size: cover;
}

.receptionAnchor ul li:nth-child(2) a {
  background: url("/wedding/assets/img/reception/img_anc_02.jpg") center center no-repeat;
  background-size: cover;
}

.receptionAnchor ul li:nth-child(3) a {
  background: url("/wedding/assets/img/reception/img_anc_03.jpg") center center no-repeat;
  background-size: cover;
}

.receptionArea {
  padding-left: 0;
  padding-right: 0;
}

.receptionArea .receptionVi {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-bottom: 1.5vw;
  width: 100%;
  height: 0;
  padding-top: calc(900 / 1800 * 100%);
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
}

.receptionArea .receptionData {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1500px;
  margin: 0 auto;
  padding: 3vw 2vw 4.5vw;
  width: 100%;
}

.receptionArea .receptionData dl {
  display: block;
  margin: 0 auto;
  text-align: center;
  width: 25%;
}

.receptionArea .receptionData dl dt h2 {
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-bottom: 2vw;
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData dl dt h2 {
    font-size: 27px;
    font-size: 2.7rem;
  }
}

.receptionArea .receptionData dl dt h2 span {
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: normal;
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData dl dt h2 span {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.receptionArea .receptionData dl dd {
  border-bottom: 1px solid #C2C0B0;
  border-top: 1px solid #C2C0B0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding: 1vw;
  margin: 0 auto;
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData dl dd {
    font-size: 10px;
    font-size: 1rem;
  }
}

.receptionArea .receptionData .dataR {
  padding-left: 3vw;
  width: 70%;
}

.receptionArea .receptionData .dataR h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 25px;
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData .dataR h3 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData .dataR h3 {
    margin-bottom: 10px;
  }
}

.receptionArea .receptionData .dataR p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData .dataR p {
    font-size: 10px;
    font-size: 1rem;
  }
}

.receptionArea .imgBoxRe {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin: 0 4vw 1.5vw;
  height: 0;
  padding-top: calc(520 / 1500 * 100%);
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
}

.receptionArea .imgBoxListRe {
  display: flex;
  justify-content: space-between;
  margin: 0 4vw 1.5vw;
}

.receptionArea .imgBoxListRe > div {
  width: 49.3%;
}

.receptionArea .imgBoxListRe .img2 {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
}

.receptionArea .imgBoxListRe .img2 .imgBox2 {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: calc(487 / 740 * 100%);
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
}

.receptionArea .imgBoxListRe .img1 .imgBox1 {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 100%;
  height: 0;
  padding-top: calc(994 / 740 * 100%);
  /* calc(画像高さ ÷ 画像横幅 × 100%) */
}

.receptionArea .imgBoxListRe:nth-child(3) {
  flex-direction: row-reverse;
}

.imgLinkRe {
  background: url("/wedding/assets/img/reception/bg_imglink.jpg") center center no-repeat;
  background-size: cover;
  position: relative;
  transition: 0.3s;
}

.imgLinkRe:after {
  background-color: rgba(0, 0, 0, 0.1);
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  height: auto;
  width: 100%;
  transition: 0.3s;
}

.imgLinkRe a {
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  color: #FFF;
  font-weight: 600;
  letter-spacing: 0.06em;
  min-height: 350px;
  position: relative;
  text-decoration: none;
  width: 100%;
  z-index: 3;
}

@media only screen and (max-width: 960px) {
  .imgLinkRe a {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.imgLinkRe a .btn {
  margin-top: 15px;
  text-align: center;
  width: 100%;
}

.imgLinkRe a .btn span {
  border: 1px solid #EEE;
  color: #FFF;
  display: inline-block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.5;
  line-height: 1.4;
  line-height: 1;
  min-width: 330px;
  padding: 22px 10px 22px 25px;
  text-decoration: none;
  transition: 0.3s;
  /*
&:hover {
border: 1px solid $c_beige01;
box-shadow: 0 0 20px rgba(150,150,130,0.2);
&:after {
background: url("/wedding/assets/img/common/img_next_w.png") 5px top no-repeat;
background-size: 12px auto;
width: 17px;
}
}
*/
}

@media only screen and (max-width: 960px) {
  .imgLinkRe a .btn span {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.imgLinkRe a .btn span:after {
  background: url("/wedding/assets/img/common/img_next_w.png") left top no-repeat;
  background-size: 12px auto;
  content: '';
  display: inline-block;
  height: 7px;
  margin-left: 15px;
  vertical-align: 2px;
  transition: 0.3s;
  width: 17px;
}

.imgLinkRe:hover:after {
  background-color: rgba(0, 0, 0, 0.4);
}

.imgLinkRe:hover a .btn span:after {
  background: url("/wedding/assets/img/common/img_next_w.png") 5px top no-repeat;
  background-size: 12px auto;
  width: 17px;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .reception01 {
    display: block;
    min-height: auto;
    min-height: inherit;
    padding: 0 0 30px;
    width: auto;
  }
  .reception01 h1 {
    top: -20px;
    width: auto;
  }
  .reception01 h1 span.copy {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.7;
    margin-bottom: 0;
  }
  .reception01 h1 span.img {
    display: block;
    margin-bottom: 10px;
  }
  .reception01 h1 span.img img {
    max-width: 300px;
  }
  .reception01 .capa {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.7;
    max-width: 250px;
    padding: 15px;
  }
  .receptionBodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2.3;
    margin: 0 20px 30px;
    text-align: left;
    width: auto;
  }
  .receptionBodyCopy br {
    display: none;
  }
  .receptionAnchor {
    padding: 0 20px 20px;
  }
  .receptionAnchor ul li a dl dt {
    font-size: 20px;
    font-size: 2rem;
  }
  .receptionAnchor ul li a dl dt span {
    font-size: 10px;
    font-size: 1rem;
  }
  .receptionAnchor ul li a dl:after {
    background-size: 4px auto;
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 15px;
    padding: 0 15px 0 0;
  }
  .receptionAnchor ul li a:hover:after {
    background: rgba(0, 0, 0, 0);
  }
  /*
.receptionAnchor {
padding: 0 15px 60px;
ul {
display: block;
li {
margin-bottom: 1vw;
width: auto;
a {
padding: 0 0 0 50%;
dl {
background: $c_beige01;
display: block;
padding: 3vw 3vw 2.5vw;
dt {
font-size: 20px;
font-size: 2rem;
padding-bottom: 2vw;
span {
display: block;
font-size: 11px;
font-size: 1.1rem;
font-weight: normal;
}
}
dd {
border-bottom: 1px solid $c_beige02;
border-top: 1px solid $c_beige02;
font-size: 11px;
font-size: 1.1rem;
letter-spacing: 0.1em;
padding: 1vw;
margin: 0 auto;
max-width: 400px;
}
&:after {
background: url("/wedding/assets/img/common/img_down.png") right center no-repeat;
background-size: 5px auto;
font-size: 12px;
font-size: 1.2rem;
margin-top: 10px;
padding: 0 15px 0 0;
}
}
&:after {
display: none;
}
&:hover{
dl {
background: $c_beige01;
}
}
}
}
li:first-child {
a {
background: url("/wedding/assets/img/reception/img_anc_01.jpg") -10% center no-repeat;
background-size: contain;
}
}

li:nth-child(2) {
a {
background: url("/wedding/assets/img/reception/img_anc_02.jpg") -5% center no-repeat;
background-size: contain;
}
}
li:nth-child(3) {
a {
background: url("/wedding/assets/img/reception/img_anc_03.jpg") -5% center no-repeat;
background-size: contain;
}
}
}
}
*/
  .receptionArea {
    padding: 0 0 50px;
  }
  .receptionArea .receptionVi {
    margin-bottom: 20px;
    padding-top: calc(1190 / 1800 * 100%);
    /* calc(画像高さ ÷ 画像横幅 × 100%) */
  }
  .receptionArea .receptionData {
    display: block;
    align-items: center;
    justify-content: space-between;
    max-width: 1500px;
    margin: 0 auto;
    padding: 3vw 0 6vw;
    width: 100%;
  }
  .receptionArea .receptionData dl {
    display: block;
    margin: 0 auto;
    width: auto;
  }
  .receptionArea .receptionData dl dt h2 {
    font-size: 34px;
    font-size: 3.4rem;
    line-height: 1.5;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding-bottom: 2vw;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .receptionArea .receptionData dl dt h2 {
    font-size: 27px;
    font-size: 2.7rem;
  }
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData dl dt h2 span {
    display: block;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: normal;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .receptionArea .receptionData dl dt h2 span {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData dl dd {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 1vw;
    margin: 10px auto 30px;
    max-width: 150px;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .receptionArea .receptionData dl dd {
    font-size: 10px;
    font-size: 1rem;
  }
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData .dataR {
    padding: 0 20px;
    width: auto;
  }
  .receptionArea .receptionData .dataR h3 {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .receptionArea .receptionData .dataR h3 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .receptionArea .receptionData .dataR h3 {
    margin-bottom: 10px;
  }
}

@media only screen and (max-width: 960px) {
  .receptionArea .receptionData .dataR p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.16em;
    line-height: 2.2;
    width: 100%;
  }
}

@media only screen and (max-width: 960px) and (max-width: 960px) {
  .receptionArea .receptionData .dataR p {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

@media only screen and (max-width: 960px) {
  .receptionArea .imgBoxRe {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin: 0 20px 1.5vw;
    width: auto;
    height: 0;
    padding-top: calc(520 / 1500 * 100%);
    /* calc(画像高さ ÷ 画像横幅 × 100%) */
  }
  .receptionArea .imgBoxListRe {
    display: flex;
    justify-content: space-between;
    margin: 0 20px 0;
  }
  .receptionArea .imgBoxListRe > div {
    width: 49.3%;
  }
  .receptionArea .imgBoxListRe .img2 {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
  }
  .receptionArea .imgBoxListRe .img2 .imgBox2 {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 0;
    padding-top: calc(487 / 740 * 100%);
    /* calc(画像高さ ÷ 画像横幅 × 100%) */
  }
  .receptionArea .imgBoxListRe .img1 .imgBox1 {
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    width: 100%;
    height: 0;
    padding-top: calc(994 / 740 * 100%);
    /* calc(画像高さ ÷ 画像横幅 × 100%) */
  }
  .receptionArea .imgBoxListRe:nth-child(3) {
    flex-direction: row-reverse;
  }
  .imgBoxListRe {
    display: block;
  }
  .imgBoxListRe > div {
    width: auto;
  }
  .imgBoxListRe .img1 {
    line-height: 0;
  }
  .imgBoxListRe .img2 {
    display: block;
  }
  .imgBoxListRe .img2 .imgBox2 {
    margin-bottom: 1.5vw;
    line-height: 0;
  }
  .imgLinkRe {
    padding: 0 25px;
  }
  .imgLinkRe:after {
    background-color: rgba(0, 0, 0, 0.4);
  }
  .imgLinkRe a {
    font-size: 22px;
    font-size: 2.2rem;
    min-height: 200px;
    position: relative;
    text-decoration: none;
    width: 100%;
    z-index: 3;
  }
  .imgLinkRe a .btn {
    margin-top: 15px;
    text-align: center;
    width: 100%;
  }
  .imgLinkRe a .btn span {
    display: block;
    min-width: auto;
    min-width: inherit;
    padding: 18px 5px 18px 17px;
  }
}

#kiri {
  padding-bottom: 0;
}

.diaryMv {
  background-image: url("/wedding/assets/img/story/mv.jpg");
}

.story01 {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: 0 30px 100px;
  text-align: center;
  width: 100%;
}

.story01 h1 {
  position: relative;
  top: -30px;
  width: 100%;
}

.story01 h1 span.copy {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .story01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.story01 h1 span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .story01 h1 span.img {
    margin-bottom: 36px;
  }
}

.story01 h1 span.img img {
  height: auto;
  width: 100%;
  max-width: 800px;
}

.story01 .capa {
  border-bottom: 1px solid #C2C0B0;
  border-top: 1px solid #C2C0B0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
  line-height: 2;
  margin: 0 auto;
  max-width: 450px;
  padding: 20px;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .story01 .capa {
    font-size: 10px;
    font-size: 1rem;
  }
}

.storyBodyCopy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .storyBodyCopy {
    font-size: 10px;
    font-size: 1rem;
  }
}

.story02 {
  padding-top: 0;
  /*
.storyMovie {
max-width: 1500px;
margin: 0 auto;
a {
background: url("/wedding/assets/img/story/img_movie.jpg") center center no-repeat;
background-size: cover;
display: flex;
justify-content: center;
align-items: center;
height: 36vw;
width: 100%;
position: relative;
img {
height: auto;
width: auto;
position: relative;
z-index: 2;
opacity: 0.6;
transition: 0.3s;
}
&:after {
background-color: rgba(0,0,0,0.4);
content: '';
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
transition: 0.3s;
}
&:hover{
img {
opacity: 1;
-webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}
&:after {
background-color: rgba(0,0,0,0.5);
}
}
}
}
*/
}

.story02 ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1500px;
  margin: 0 auto;
  text-align: center;
}

.story02 ol li {
  color: #333;
  display: flex;
  margin-bottom: 5vw;
  padding: 7vw 5vw;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.story02 ol li dl {
  background: rgba(255, 255, 255, 0.8);
  display: block;
  margin: 0 auto;
  max-width: 1000px;
  padding: 3vw 4vw 3vw;
  position: relative;
  z-index: 2;
  width: 100%;
  transition: 0.3s;
}

.story02 ol li dl dt {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 39px;
  font-size: 3.9rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-bottom: 1vw;
}

@media only screen and (max-width: 960px) {
  .story02 ol li dl dt {
    font-size: 31px;
    font-size: 3.1rem;
  }
}

.story02 ol li dl dt span {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: normal;
  font-style: italic;
  padding-bottom: 0;
}

@media only screen and (max-width: 960px) {
  .story02 ol li dl dt span {
    font-size: 40px;
    font-size: 4rem;
  }
}

.story02 ol li dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  line-height: 2.4;
  padding: 1vw;
  margin: 0 auto;
  max-width: 700px;
}

@media only screen and (max-width: 960px) {
  .story02 ol li dl dd {
    font-size: 10px;
    font-size: 1rem;
  }
}

.story02 ol li:first-child {
  background: url("/wedding/assets/img/story/img_01.jpg") center center no-repeat;
  background-size: cover;
}

.story02 ol li:nth-child(2) {
  background: url("/wedding/assets/img/story/img_02.jpg") center center no-repeat;
  background-size: cover;
}

.story02 ol li:nth-child(3) {
  background: url("/wedding/assets/img/story/img_03.jpg") center center no-repeat;
  background-size: cover;
}

.story02 ol li:nth-child(4) {
  background: url("/wedding/assets/img/story/img_04.jpg") center center no-repeat;
  background-size: cover;
}

.story02 ol li:nth-child(5) {
  background: url("/wedding/assets/img/story/img_05.jpg") center center no-repeat;
  background-size: cover;
}

.story02 ol li:nth-child(6) {
  background: url("/wedding/assets/img/story/img_06.jpg") center center no-repeat;
  background-size: cover;
}

.story02 ol li:nth-child(7) {
  background: url("/wedding/assets/img/story/img_movie.jpg") center center no-repeat;
  background-size: cover;
}

.story02 ol li:nth-child(7) dl {
  background: rgba(255, 255, 255, 0);
  padding: 0;
}

.story02 ol li:nth-child(7) dl dt {
  color: #FFF;
}

.story02 ol li:nth-child(7) dl dt span {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: normal;
  font-style: italic;
  padding-bottom: 1vw;
}

@media only screen and (max-width: 960px) {
  .story02 ol li:nth-child(7) dl dt span {
    font-size: 40px;
    font-size: 4rem;
  }
}

.story02 ol li:nth-child(7) dl dd {
  color: #FFF;
}

.story02 ol li:nth-child(7):after {
  background-color: rgba(0, 0, 0, 0.4);
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  transition: 0.3s;
}

.playMovie {
  margin-bottom: 40px;
}

.playMovie a {
  display: inline-block;
  text-decoration: none;
}

.playMovie a img {
  height: auto;
  width: auto;
  position: relative;
  z-index: 2;
  opacity: 0.8;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -o-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8);
  transition: 0.3s;
}

.playMovie a span {
  color: #DDD;
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: bold;
  font-style: italic;
  transition: 0.3s;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .playMovie a span {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.playMovie a:hover img {
  opacity: 1;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.playMovie a:hover span {
  color: #fff;
}

.modaal-wrapper video {
  height: auto;
  width: 100%;
}

/* animation */
@-webkit-keyframes anime01 {
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@keyframes anime01 {
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

@-webkit-keyframes animeBox {
  100% {
    opacity: 1;
    bottom: 0;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transform: translate(0, 0);
  }
}

@keyframes animeBox {
  100% {
    opacity: 1;
    bottom: 0;
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    transform: translate(0, 0);
  }
}

.story02 ol li {
  opacity: 0;
  -webkit-clip-path: inset(5% 5% 1% 5%);
  clip-path: inset(5% 5% 1% 5%);
  transform: translate(0, 60px);
}

.story02 ol li dl {
  opacity: 0;
  transform: translate(0, 30px);
}

.story02 ol li dl dt {
  opacity: 0;
  transform: translate(0, 30px);
}

.story02 ol li dl dd {
  opacity: 0;
  transform: translate(0, 30px);
}

.story02 ol li.action {
  -webkit-animation: animeBox 1s ease 0.2s 1 forwards;
  animation: animeBox 1s ease 0.2s 1 forwards;
}

.story02 ol li.action dl {
  -webkit-animation: anime01 1s ease 1.6s 1 forwards;
  animation: anime01 1s ease 1.6s 1 forwards;
}

.story02 ol li.action dl dt {
  -webkit-animation: anime01 1s ease 1.8s 1 forwards;
  animation: anime01 1s ease 1.8s 1 forwards;
}

.story02 ol li.action dl dd {
  -webkit-animation: anime01 1s ease 2s 1 forwards;
  animation: anime01 1s ease 2s 1 forwards;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .diaryMv {
    background-image: url("/wedding/assets/img/story/mv_sp.jpg");
  }
  .story01 {
    display: block;
    min-height: auto;
    min-height: inherit;
    padding: 0 0 30px;
    width: auto;
  }
  .story01 h1 {
    top: -20px;
    width: auto;
  }
  .story01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 0;
  }
  .story01 h1 span.img {
    display: block;
    margin-bottom: 10px;
  }
  .storyBodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2;
    margin: 0 20px 30px;
    text-align: left;
    width: auto;
  }
  .storyBodyCopy br {
    display: none;
  }
  .story02 {
    padding: 0;
  }
  .story02 ol li {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    min-height: 85vh;
    padding: 20px 25px;
  }
  .story02 ol li dl {
    padding: 25px 15px 35px;
  }
  .story02 ol li dl dt {
    font-size: 20px;
    font-size: 2rem;
    padding-bottom: 20px;
  }
  .story02 ol li dl dt span {
    font-size: 30px;
    font-size: 3rem;
  }
  .story02 ol li dl dd {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 2.4;
    padding: 1vw 0;
  }
  .story02 ol li:first-child {
    background: url("/wedding/assets/img/story/img_01_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .story02 ol li:nth-child(2) {
    background: url("/wedding/assets/img/story/img_02_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .story02 ol li:nth-child(3) {
    background: url("/wedding/assets/img/story/img_03_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .story02 ol li:nth-child(4) {
    background: url("/wedding/assets/img/story/img_04_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .story02 ol li:nth-child(5) {
    background: url("/wedding/assets/img/story/img_05_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .story02 ol li:nth-child(6) {
    background: url("/wedding/assets/img/story/img_06_sp.jpg") center center no-repeat;
    background-size: cover;
  }
  .story02 ol li:nth-child(7) {
    background: url("/wedding/assets/img/story/img_movie.jpg") center center no-repeat;
    background-size: cover;
    margin-bottom: 0;
  }
  .story02 ol li:nth-child(7) dl dt {
    color: #FFF;
  }
  .story02 ol li:nth-child(7) dl dt span {
    padding-bottom: 0;
  }
  .story02 ol li:nth-child(7):after {
    background-color: rgba(0, 0, 0, 0.5);
  }
  .playMovie {
    margin-bottom: 20px;
  }
  .playMovie a {
    display: inline-block;
    text-decoration: none;
  }
}

.galleryMv {
  background-image: url("/wedding/assets/img/gallery/mv.jpg");
}

.gallery01 {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  padding: 0 30px 0;
  text-align: center;
  width: 100%;
}

.gallery01 h1 {
  position: relative;
  top: -30px;
  width: 100%;
}

.gallery01 h1 span.copy {
  display: block;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.1em;
}

@media only screen and (max-width: 960px) {
  .gallery01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

.gallery01 h1 span.img {
  display: block;
  margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
  .gallery01 h1 span.img {
    margin-bottom: 36px;
  }
}

.gallery01 h1 span.img img {
  height: auto;
  width: 100%;
  max-width: 700px;
}

.galleryBodyCopy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.16em;
  line-height: 2.4;
  width: 100%;
}

@media only screen and (max-width: 960px) {
  .galleryBodyCopy {
    font-size: 10px;
    font-size: 1rem;
  }
}

.gallery02 {
  padding-top: 0;
}

.gallery02 h2 {
  border-bottom: 1px solid #C2C0B0;
  display: block;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: 0 auto 40px;
  max-width: 1500px;
  padding: 80px 0 20px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .gallery02 h2 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.gallery02 h2 span {
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 600;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1;
  padding-bottom: 15px;
}

.gallery02 ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto;
  max-width: 1500px;
}

.gallery02 ul li {
  margin-bottom: 1.8vw;
  overflow: hidden;
  margin-right: 2%;
  width: 23.5%;
  transition: 0.3s;
}

.gallery02 ul li a {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  transition: 0.3s;
  position: relative;
}

.gallery02 ul li a img {
  height: auto;
  width: 100%;
}

.gallery02 ul li a.movie:before {
  background: url("/wedding/assets/img/common/play.png") center center no-repeat;
  background-size: 55px auto;
  content: '';
  display: block;
  height: 60px;
  opacity: 0.6;
  width: 60px;
  overflow: hidden;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -30px 0 0 -30px;
  transition: 0.3s;
}

.gallery02 ul li a.movie:hover:before {
  opacity: 0.95;
}

@media only screen and (min-width: 960px) {
  .gallery02 ul li:hover {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -o-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.gallery02 ul li:nth-child(4n) {
  margin-right: 0;
}

.modaal-wrapper video,
.modaal-wrapper img {
  height: auto;
  width: 100%;
}

.modaal-wrapper .modaal-container {
  background: transparent !important;
}

.modaal-wrapper .modaal-content-container {
  padding: 0 !important;
}

.instaBtn {
  padding-bottom: 100px;
  text-align: center;
}

.instaBtn a {
  display: inline-block;
  transition: 0.2s;
}

.instaBtn a:hover {
  opacity: 0.8;
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .galleryMv {
    min-height: 35vw;
  }
  .gallery01 {
    display: block;
    min-height: auto;
    min-height: inherit;
    padding: 0;
    width: auto;
  }
  .gallery01 h1 {
    top: -15px;
    width: auto;
  }
  .gallery01 h1 span.copy {
    font-size: 19px;
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 0;
  }
  .gallery01 h1 span.img {
    display: block;
    margin: 0 25px 10px;
  }
  .galleryBodyCopy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2;
    margin: 0 20px;
    text-align: left;
    width: auto;
  }
  .galleryBodyCopy br {
    display: none;
  }
  .gallery02 {
    padding-top: 0;
  }
  .gallery02 h2 {
    font-size: 14px;
    font-size: 1.4rem;
    margin: 0 auto 20px;
    padding: 40px 0 20px;
  }
  .gallery02 h2 span {
    font-size: 26px;
    font-size: 2.6rem;
    padding-bottom: 5px;
  }
  .gallery02 ul {
    justify-content: flex-start;
  }
  .gallery02 ul li {
    margin: 0 2% 2vw 0;
    width: 32%;
  }
  .gallery02 ul li a {
    display: block;
  }
  .gallery02 ul li:nth-child(4n) {
    margin-right: 2%;
  }
  .gallery02 ul li:nth-of-type(3n) {
    margin-right: 0 !important;
  }
  .instaBtn {
    padding: 20px 20px 40px;
  }
}

.accessBox {
  margin: 0 auto;
  max-width: 1000px;
  padding-top: 0;
  padding-bottom: 80px;
}

.accessBox p.copy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  line-height: 2;
  margin-bottom: 50px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .accessBox p.copy {
    font-size: 10px;
    font-size: 1rem;
  }
}

@media only screen and (max-width: 960px) {
  .accessBox p.copy {
    margin-bottom: 30px;
  }
}

.accessBox .map iframe {
  height: 450px;
  width: 100%;
}

.accessBox h2 {
  border-bottom: 1px solid #CCC;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.5;
  line-height: 1.4;
  line-height: 1.4;
  margin-bottom: 40px;
  padding-bottom: 20px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .accessBox h2 {
    font-size: 19px;
    font-size: 1.9rem;
  }
}

@media only screen and (max-width: 960px) {
  .accessBox h2 {
    margin-bottom: 24px;
  }
}

.accessBox .gBox {
  background-color: #EEF0F1;
  margin-top: 60px;
  padding: 30px;
  text-align: center;
}

.accessBox .gBox h3 {
  color: #002C59;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 15px;
}

@media only screen and (max-width: 960px) {
  .accessBox .gBox h3 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 960px) {
  .accessBox .gBox h3 {
    margin-bottom: 10px;
  }
}

.accessBox .gBox p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  line-height: 1.8;
}

@media only screen and (max-width: 960px) {
  .accessBox .gBox p {
    font-size: 10px;
    font-size: 1rem;
  }
}

.accessBox .miniBtns {
  display: flex;
  justify-content: flex-end;
  margin: 15px 0 0;
}

.accessBox .miniBtns li {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 600;
  line-height: 1;
  margin-left: 10px;
}

@media only screen and (max-width: 960px) {
  .accessBox .miniBtns li {
    font-size: 10px;
    font-size: 1rem;
  }
}

.accessBox .miniBtns li a {
  background-color: #FFF;
  border: 1px solid #CCC;
  border-radius: 3px;
  color: #333;
  display: inline-block;
  line-height: 1;
  padding: 9px 20px 10px;
  text-decoration: none;
  transition: 0.3s;
}

.accessBox .miniBtns li a:hover {
  background-color: #FAFAFA;
  color: #426F97;
}

.accessBox .miniBtns li.blank a:after {
  background: url("/wedding/assets/img/common/icon_blank.png") center center no-repeat;
  content: '';
  display: inline-block;
  height: 11px;
  margin-left: 5px;
  width: 13px;
}

.accessBox .miniBtns li.pdf a:after {
  background: url("/wedding/assets/img/common/icon_pdf.png") left center no-repeat;
  content: '';
  display: inline-block;
  height: 15px;
  margin-left: 3px;
  width: 16px;
}

.accessBox .changeImg {
  text-align: center;
}

.accessBox .top40 {
  margin-top: 40px;
}

.accessBox .carDl dt {
  color: #002C59;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 5px;
  padding-left: 1.5em;
  position: relative;
}

@media only screen and (max-width: 960px) {
  .accessBox .carDl dt {
    font-size: 10px;
    font-size: 1rem;
  }
}

.accessBox .carDl dt:before {
  content: '●';
  display: inline-block;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  position: absolute;
  top: -4px;
  left: 0;
}

@media only screen and (max-width: 960px) {
  .accessBox .carDl dt:before {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.accessBox .carDl dd {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  line-height: 1.8;
  margin-bottom: 30px;
  padding-left: 1.5em;
}

@media only screen and (max-width: 960px) {
  .accessBox .carDl dd {
    font-size: 10px;
    font-size: 1rem;
  }
}

@media only screen and (max-width: 960px) {
  .accessBox .carDl dd {
    margin-bottom: 10px;
  }
}

.accessBox .parkingBox {
  background-color: #F4F4F4;
  margin-top: 60px;
  padding: 35px;
}

.accessBox .parkingBox h3 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 15px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .accessBox .parkingBox h3 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 960px) {
  .accessBox .parkingBox h3 {
    margin-bottom: 10px;
  }
}

.accessBox .parkingBox dl {
  display: flex;
  margin-bottom: 30px;
}

.accessBox .parkingBox dl dt {
  background-color: #002C59;
  border-radius: 3px;
  color: #FFF;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  min-width: 200px;
  padding: 10px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .accessBox .parkingBox dl dt {
    font-size: 10px;
    font-size: 1rem;
  }
}

.accessBox .parkingBox dl dd {
  line-height: 1.4;
  padding-left: 20px;
}

.accessBox .parkingBox dl dd span {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.5;
}

@media only screen and (max-width: 960px) {
  .accessBox .parkingBox dl dd span {
    font-size: 10px;
    font-size: 1rem;
  }
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .accessBox {
    padding-bottom: 50px;
  }
  .accessBox p.copy {
    line-height: 1.7;
  }
  .accessBox .map iframe {
    height: 250px;
  }
  .accessBox h2 {
    padding-bottom: 15px;
  }
  .accessBox .gBox {
    margin-top: 40px;
    padding: 30px 20px 25px;
  }
  .accessBox .gBox h3 {
    font-size: 17px;
    font-size: 1.7rem;
  }
  .accessBox .gBox p {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
    text-align: left;
  }
  .accessBox .miniBtns {
    margin: 15px 0 0;
  }
  .accessBox .miniBtns li {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .accessBox .miniBtns li a {
    padding: 9px 10px 10px 15px;
  }
  .accessBox .miniBtns li.blank a:after {
    height: 11px;
    margin-left: 5px;
    width: 13px;
  }
  .accessBox .miniBtns li.pdf a:after {
    background-size: 13px auto;
    height: 11px;
    margin-left: 3px;
    width: 13px;
  }
  .accessBox .carDl dt {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.5;
  }
  .accessBox .carDl dt:before {
    font-size: 14px;
    font-size: 1.4rem;
    top: 0;
  }
  .accessBox .carDl dd {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
    margin-bottom: 20px;
    padding-left: 0;
  }
  .accessBox .parkingBox {
    margin-top: 40px;
    padding: 30px 20px 20px;
  }
  .accessBox .parkingBox h3 {
    margin-bottom: 20px;
    text-align: center;
  }
  .accessBox .parkingBox dl {
    align-items: center;
    margin-bottom: 10px;
  }
  .accessBox .parkingBox dl dt {
    font-size: 13px;
    min-width: 80px;
    padding: 10px;
  }
  .accessBox .parkingBox dl dd {
    font-size: 13px;
    line-height: 1.4;
    padding-left: 10px;
  }
}

.topReport2 {
  background-color: #FFF;
  padding: 0 50px 90px;
}

.topReport2 p.copy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  line-height: 2;
  margin-bottom: 60px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .topReport2 p.copy {
    font-size: 10px;
    font-size: 1rem;
  }
}

@media only screen and (max-width: 960px) {
  .topReport2 p.copy {
    margin-bottom: 36px;
  }
}

.topReport2 ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 0;
  max-width: 1480px;
}

.topReport2 ul li {
  margin: 0 3.5% 5vw 0;
  width: 31%;
}

.topReport2 ul li:nth-child(3n) {
  margin-right: 0;
}

.topReport2 ul li a {
  color: #333;
  display: block;
  text-decoration: none;
}

.topReport2 ul li a dl dd {
  position: relative;
  width: 100%;
}

.topReport2 ul li a dl dd span {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  line-height: 0;
  padding-top: 140%;
  /*he is my hero*/
  width: 100%;
  transition: 0.2s;
}

.topReport2 ul li a dl dt {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.6;
  padding-top: 25px;
  text-align: center;
  transition: 0.2s;
  vertical-align: middle;
}

.topReport2 ul li a dl dt:before {
  color: #DDD;
  content: '“';
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  margin-right: 8px;
  line-height: 1;
}

.topReport2 ul li a dl dt:after {
  color: #DDD;
  content: '”';
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  margin-left: 8px;
  line-height: 1;
}

@media only screen and (min-width: 960px) {
  .topReport2 ul li a:hover dl dd span {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
  }
  .topReport2 ul li a:hover dl dt {
    color: #000;
  }
}

.reportData {
  padding-top: 0;
}

.reportData h1 {
  font-size: 30px;
  font-size: 3rem;
  font-weight: normal;
  line-height: 1.6;
  text-align: center;
}

.reportData h1:before {
  color: #DDD;
  content: '“';
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  margin-right: 8px;
  line-height: 1;
}

.reportData h1:after {
  color: #DDD;
  content: '”';
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  margin-left: 8px;
  line-height: 1;
}

.reportData .vi {
  max-width: 1200px;
  margin: 50px auto 70px;
}

.reportData p.copy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  line-height: 2.4;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .reportData p.copy {
    font-size: 10px;
    font-size: 1rem;
  }
}

.reportImg {
  max-width: 1300px;
  margin: 0 auto 60px;
}

.reportImg p.copy {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  line-height: 2.4;
  margin-bottom: 80px;
  margin-top: 80px;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .reportImg p.copy {
    font-size: 10px;
    font-size: 1rem;
  }
}

@media only screen and (max-width: 960px) {
  .reportImg p.copy {
    margin-bottom: 48px;
  }
}

/* Responsive Start */
@media only screen and (max-width: 960px) {
  .topReport2 {
    padding: 10px 0 20px;
  }
  .topReport2 p.copy {
    line-height: 1.7;
    margin-bottom: 15px;
  }
  .topReport2 .topHead {
    margin-bottom: 20px;
  }
  .topReport2 .topHead .en {
    font-size: 30px;
    font-size: 3rem;
    margin-bottom: 0;
  }
  .topReport2 .topHead .ja {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 0;
  }
  .topReport2 ul {
    display: block;
    margin: 0 auto 10px;
    padding-top: 10px;
  }
  .topReport2 ul li {
    margin: 0 15px 10px;
    width: auto;
  }
  .topReport2 ul li a dl {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
  }
  .topReport2 ul li a dl dd {
    width: 35%;
  }
  .topReport2 ul li a dl dd span {
    padding-top: 100%;
    width: 85%;
  }
  .topReport2 ul li a dl dt {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
    padding: 0 5px 0 15px;
    text-align: left;
    width: 65%;
    position: relative;
  }
  .topReport2 ul li a dl dt:before {
    font-size: 20px;
    font-size: 2rem;
    margin-right: 5px;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .topReport2 ul li a dl dt:after {
    font-size: 20px;
    font-size: 2rem;
    margin-left: 5px;
    line-height: 1;
  }
  .topReport2 .topBtn {
    margin: 0 20px;
  }
  .reportData {
    padding-top: 15px;
    padding-bottom: 10px;
  }
  .reportData h1 {
    font-size: 20px;
    font-size: 2rem;
  }
  .reportData h1:before {
    font-size: 20px;
    font-size: 2rem;
    margin-right: 5px;
  }
  .reportData h1:after {
    font-size: 20px;
    font-size: 2rem;
    margin-left: 5px;
  }
  .reportData .vi {
    margin: 20px auto 20px;
  }
  .reportData p.copy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2.3;
    margin: 0;
    text-align: left;
    width: auto;
  }
  .reportData p.copy br {
    display: none;
  }
  .reportImg p.copy {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
    line-height: 2.3;
    margin: 20px 0 40px;
    text-align: left;
    width: auto;
  }
  .reportImg p.copy br {
    display: none;
  }
}

/*# sourceMappingURL=map/common.css.map */
