/**** 共通設定 ****/

html, body, h1, h2, h3, p, ul, ol, dl, ul, li, dt, dd, figure, figcaption, img{
  margin:0;
  padding:0;
  font-size:100%;
}

body{
  background:#000000 url('https://ancient-w.main.jp/background/map.jpg') fixed center left;
  color:rgba(255,255,240,1);
  font-size:16px;
  font-family:'times','游明朝','yu mincho',yumincho,serif;
  line-height:1.75;
  text-align:center;
}

h1, :not(article)>h2{
  margin:10px 0;
  padding:0;
  width:100%;
  border-top:12px solid;
  border-bottom:12px solid;
  border-image:url('https://ancient-w.main.jp/title/title.png') 12 fill;
  text-align:center;
  font-size:24px;
  font-weight:600;
  line-height:1.25;
}

h1 .english{
  font-size:18px;
}

h2{
  margin-bottom:1em;
  padding:6px 0 4px 0;
  width:720px;
  clear:both;
  border-top:1px solid;
  border-bottom:1px solid;
  border-image:url('https://ancient-w.main.jp/title/subtitle.png') 1 fill;
  text-align:center;
  font-size:24px;
  font-weight:600;
  line-height:1.25;
}

h2:not(:first-child){
  margin-top:2em;
}

h2 .english{
  font-size:18px;
}

h3{
  margin:2em auto 1em auto;
  padding:0;
  width:720px;
  border-bottom:solid 1px #e0c080;
  text-align:center;
}

p:not(:first-child){
  margin-top:1em;
}

article ul{
  padding-left:1.5em;
}

article ul:not(:first-child){
  margin-top:1em;
}

article ol{
  padding-left:1.5em;
}

article ol:not(:first-child){
  margin-top:1em;
}

dl:not(:first-child){
  margin-top:1em;
}

dt{
  font-size:18px;
  font-weight:900;
  color:#80c0c0;
}

dt:not(:first-child){
  margin-top:1em;
}

dd{
  margin-top:0.25em;
}

figure{
  text-align:center;
}

figure:not(:first-child){
  margin-top:1.5em;
}

figcaption{
  font-size:14px;
  margin-top:0.5em;
}

table:not(:first-child){
  margin-top:1.5em;
}

a{
  color:#bbaa88;
  text-decoration:none;
  transition:0.3s;
}

a:hover{
  color:#ddffff;
  text-shadow:0 0 10px #aaffff;
}

img{
  border:none;
}

img.horizontal{
  width:720px;
}

img.vertical{
  width:480px;
}

table{
  border-collapse:collapse;
}

p.ancient{
  font-size:36px;
  font-style:italic;
  line-height:1.25;
}

/******** 配置調整 ********/

.wrapper{
  position:relative;
  padding-top:210px;
}

/******** ヘッダー ********/

header{
  position:absolute;
  top:0;
  width:100%;
  height:70px;
  background:rgba(0,0,0,0.75) padding-box;
  border-bottom:5px solid rgba(0,0,0,0.95);
  display:flex;
}

header .logo{
  flex:shrink:0;
  width:350px;
  margin:10px auto;
}

header .logo img{
  width:255px;
}

header .cart{
  text-align:right;
  margin-top:14px;
  font-size:12px;
  line-height:1.25;
  flex:1;
}

header .cart .cartprice{
  font-size:20px;
  font-weight:600;
  font-family:'Optima','Palatino Linotype',serif;
  font-variant-numeric:oldstyle-nums;
  color:#ffe555;
}

header .viewcart{
  flex:shrink:0;
  width:100px;
  margin:7px auto;
}

/******** メインメニュー ********/

nav ul{
  margin:5px 0 5px 0;
  padding:0;
  display:flex;
  flex-wrap: wrap;
  justify-content:center;
  list-style:none;
}

header+nav ul{
  position:absolute;
  top:75px;
  left:0;
  right:0;
}

nav ul li{
  width:120px;
  height:120px;
  margin:5px;
}

nav ul li a{
  display:inline-block;
  transition:0.5s;
}

nav ul li a:hover{
  opacity:0.5;
}

nav ul li a img{
  width:120px;
  height:120px;
}

/******** サブメニュー ********/

.submenu{
  left:0;
  right:0;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  list-style:none;
}

.submenu li{
  width:120px;
  height:40px;
  margin:5px;
}

.submenu a{
  display:inline-block;
  transition:0.5s;
}

.submenu a:hover{
  opacity:0.5;
}

.submenu img{
  width:120px;
  height:40px;
}

/******** 本文 ********/

article{
  width:720px;
  margin:10px auto;
  padding:80px 120px;
  border-radius:8px;
  background:rgba(0,0,0,0.8);
  text-align:left;
}

/******** サブコンテンツ ********/

aside{
  width:480px;
  margin:10px auto;
  padding:40px 60px;
  border-radius:8px;
  background:rgba(0,0,0,0.8);
  text-align:left;
}

/******** フッター ********/

footer{
  margin:0;
  padding:30px 0;
  width:100%;
  background:rgba(0,0,0,0.75) padding-box;
  border-top:5px solid rgba(32,32,32,0.75);
  text-align:center;
}

.snsmenu{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  list-style:none;
  padding:0;
}

.snsmenu a{
  display:inline-block;
  margin:5px 20px;
  border-radius:10px;
  opacity:0.5;
  transition:0.5s;
}

.snsmenu a:hover{
  opacity:0.9;
  filter:drop-shadow(0 0 10px rgba(170,255,255,1));
}

.systemmenu{
  margin:1em 0;
}

/******** ボタン ********/

ul.button{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:2em;
  padding:0;
  list-style:none;
}

.button:not(:last-child){
  margin-bottom:2em;
}

.button li{
  margin:0 10px;
}

.button a{
  display:flex;
  width:200px;
  height:40px;
  padding:0 20px;
  background:url('https://ancient-w.main.jp/button/button_general.png') center center / 100%;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#403020;
  font-size:18px;
  font-weight:900;
  line-height:1;
}

.button a:hover{
  opacity:0.5;
  color:#403020;
  text-shadow:none;
}

/******** 旅行写真 ********/

.destination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  margin:0 -120px;
  padding:0;
  width:960px;
  list-style:none;
  text-align:center;
}

.destination li{
  width:240px;
  margin:10px;
}

.destination a, a:hover{
  color:rgba(255,255,240,1);
}

.destination a:hover{
  color:rgba(255,255,240,1);
  text-shadow:none;
}

.destination img{
  width:240px;
  border:solid 1px rgba(255,255,255,0.3);
  margin-bottom:5px;
}

.destination .japanese{
  line-height:1.5;
  font-size:16px;
}

.destination .english{
  line-height:1;
  font-size:12px;
}

/******** カレンダー ********/

.calendar{
  margin:auto;
}

.calendar td{
  width:40px;
  height:40px;
  text-align:center;
  vertical-align:top;
  line-height:1em;
}

.calendar .closed{
  color:#888888;
}

.calendar .sunday{
  color:#ff0044;
}
.calendar .saturday{
  color:#00ccff;
}
.calendar .date{
  font-size:24px;
}

.calendar .hour{
  font-size:12px;
}