@charset "utf-8";
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 RESET
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,a,img,
dl,dt,dd,ol,ul,li,fieldset,form,label,table,tr,th,td,embed {
 margin: 0;
 padding: 0;
 border: 0;
 font-style: normal;
 font-weight: normal;
 font-size: 100%;
 vertical-align: bottom;
}

ul,ol {
 list-style: none;
}

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

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 BODY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
html,body,h1,h2,h3,h4,h5,h6,div,p,span,
ul,ol,li,dl,dt,dd,table,th,td {
 font-family: 'MontrealLight',/*'futura',*/'serif';
 color: #333;
 letter-spacing: 1px;
}

html,body {
 height: 100%;/* footer fixed 1st */
}

body {
 background: #fff;
}

@font-face {
 font-family: 'MontrealLight';
 src: url('/static/font/Montreal-Light.ttf') format('truetype');
}

@font-face {
 font-family: 'CabinSketchRegular';
 src: url('/static/font/CabinSketch-Regular.otf') format('truetype');
}

@font-face {
 font-family: 'Mono Social Icons Font';
 src: url('/static/font/MonoSocialIconsFont-1.10.eot');
 src: url('/static/font/MonoSocialIconsFont-1.10.eot?#iefix') format('embedded-opentype'),
      url('/static/font/MonoSocialIconsFont-1.10.woff') format('woff'),
      url('/static/font/MonoSocialIconsFont-1.10.ttf') format('truetype'),
      url('/static/font/MonoSocialIconsFont-1.10.svg#MonoSocialIconsFont') format('svg');
 src: url('/static/font/MonoSocialIconsFont-1.10.ttf') format('truetype');
 font-weight: normal;
 font-style: normal;
}

.symbol,a.symbol:before {
 font-family: 'Mono Social Icons Font';
 -webkit-text-rendering: optimizeLegibility;
 -moz-text-rendering: optimizeLegibility;
 -ms-text-rendering: optimizeLegibility;
 -o-text-rendering: optimizeLegibility;
 text-rendering: optimizeLegibility;
 -webkit-font-smoothing: antialiased;
 -moz-font-smoothing: antialiased;
 -ms-font-smoothing: antialiased;
 -o-font-smoothing: antialiased;
 font-smoothing: antialiased;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 STYLE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
a {
 overflow: hidden;
 outline: none;
}

a:link,a:visited {
 color: #333;
 text-decoration: none;
}

a:hover,a:active {
 color: #999;
 text-decoration: none;
}

#header a img:hover {
 opacity: 0.80;
 filter: alpha(opacity=80);
 -moz-opacity: 0.80;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 CLEARFIX
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.clearfix:after {
 content: ".";
 display: block;
 clear: both;
 height: 0;
 visibility: hidden;
}

.clearfix {
 min-height: 1px;
}

* html .clearfix {
 height: 1px;
 /*¥*//*/
 height: auto;
 overflow: hidden;
 /**/
}

/*--------------------
 Common
----------------------*/
#wrapper {
 width: 100%;
 height: 100%;
 position: relative;/* #footer fixed 2nd */
 height: auto !important;/* #footer fixed 3rd */
 min-height: 100%;/* #footer fixed 4th */
}

#header {
 width: 100%;
 height: 60px;
 background: #fff;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 2;
 opacity: 0.7;
 display: none;/* for smartphone */
}

#header ul {
 text-align: center;
}

#header li {
 margin: 0 20px;
 height: 60px;
 line-height: 60px;
 display: inline-block;
}

#header-logo {
 position: fixed;
 top: 0;
 right: 10px;
 cursor: pointer;
}

#footer {
 width: 100%;
 height: 60px;
 background: #fff;
 position: fixed;
 bottom: 0;
 left: 0;
 font-size: 80%;
 opacity: 0.7;
 z-index: 2;
}

#footer ul {
 text-align: center;
}

#footer li {
 margin: 0 auto;
 height: 60px;
 line-height: 60px;
}

#page-top {
 position: fixed;
 bottom: 30px;
 right: 40px;
 display: none;
 cursor: pointer;
}

a.symbol:before {
 content: attr(title);
 margin-right: 0.2em;
 font-size: 160%;
}

a.symbol {
 background: #fff;
 padding: 0;
 text-decoration: none;
 position: fixed;
 bottom: 0;
 height: 60px;
}

#fb-a .symbol {
 right: 120px;
 color: #2478a1;
}

#fb-b .symbol {
 right: 40px;
 color: #d94438;
}

#fb-a .symbol:hover {
 color: #80bfff;
}

#fb-b .symbol:hover {
 color: #ff8080;
}

/*--------------------
 Top
----------------------*/
#top-contents {
 position: relative;
 top: 60px;
 z-index: 1;
}

.image {
 width: 100%;
 position: absolute;
 top: 0;
 display: none;
}

/*--------------------
 Diary
----------------------*/
#diary-contents {
 position: relative;
 top: 60px;
 z-index: 1;
 display: none;
}

#country {
 margin: 0 auto 20px;
 width: 50%;
 font-weight: bold;
}

#country span {
 padding: 0 6px;
 border: 2px solid #ffa500;
 border-radius: 2px;
 -webkit-border-radius: 2px;
 -moz-border-radius: 2px;
}

#diary-contents ul {
 margin: 0 auto;
 width: 50%;
 font-size: 90%;
 line-height: 1.5em;
}

#diary-contents img {
 width: 100%;
}

/*--------------------
 Gallery
----------------------*/
#gallery-contents {
 position: relative;
 top: 60px;
 z-index: 1;
}

#gallery-contents ul {
 width: 100%;
 position: relative;
}

#gallery-contents li {
 width: 20%;
 position: absolute;
 text-align: center;
}

/* width:96%;で、左右2%ずつの余白。隣り合う画像は2%+2%=4%分の余白が出来るため、"margin-bottom"は4% */
#gallery-contents img {
 margin-bottom: 4%;
 width: 96%;
 cursor: pointer;
 display: none;
}

/*--------------------
 Journey
----------------------*/
#journey-contents {
 position: relative;
 top: 60px;
 z-index: 1;
 display: none;
}

#journey-contents dl {
 margin: 0 auto;
 padding-bottom: 100px;
 /* width: 90%; */
 width: 1000px;
 position: relative;
}

#journey-contents img {
 width: 100%;
}

#journey-contents a:link,#journey-contents a:visited,#journey-contents-ex a:link,#journey-contents-ex a:visited {
 color: #333;
 text-decoration: underline;
}

#journey-contents a:hover,#journey-contents a:active,#journey-contents-ex a:hover,#journey-contents-ex a:active {
 color: #999;
 text-decoration: underline;
}

#mark {
 font-family: 'CabinSketchRegular';
 text-shadow: 4px 4px 1px #999999;
 position: absolute;
 top: 309px;
 left: 369px;
 display: none;/* for smartphone */
}

#map {
 padding: 10px 0;
 text-align: center;
}

#here {
 padding-top: 10px;
 text-align: center;
}

#journey-contents-ex {/* for Google My Maps */
 position: relative;
 top: 60px;
 z-index: 1;
}

#journey-contents-ex iframe {
 margin: 0 auto;
 width: 90%;
 height: 500px;
 display: block;
}

#route {
 margin: 0 auto;
 padding-bottom: 60px;
 width: 90%;
}
/*--------------------
 Wedding
----------------------*/
#wedding-contents {
 position: relative;
 top: 60px;
 z-index: 1;
 display: none;
 text-align :center;
}

#wedding-contents p {
 height: 40px;
 margin-bottom: 10px;
 display: inline-block;
}

#creator {
 background: url('/static/images/wedding01.png') no-repeat left center;
}

#shop {
 width: 55px;/* Image size */
 background: url('/static/images/wedding02.png') no-repeat center bottom;
}

#wedding-contents dl {
 margin-bottom: 40px;
}

#wedding-contents dd {
 color: #666;
 font-size: 80%;
}

#wedding-contents a:link,#wedding-contents a:visited {
 color: #666;
}

#wedding-contents a:hover,#wedding-contents a:active {
 color: #999;
}

/*--------------------
 231009 add privacy policy
----------------------*/
.privacy-policy {
 position: fixed;
 bottom: 0;
 right: 5vw;
}
.privacy-policy-contents {
 margin: 60px auto 0;
 padding-bottom: 100px;
 width: 50%;
}
.privacy-policy-contents dl:not(:last-child) {
 margin-bottom: 40px;
}
.privacy-policy-contents dt {
 font-weight: bold;
}
.privacy-policy-contents a {
 text-decoration: underline;
}

@media screen and (max-width: 768px) {
 .privacy-policy-contents {
  width: 90%;
 }
}