@charset "utf-8";

/*****アニメーション****/
@keyframes loading{
  0% {transform:rotate(0deg);}
  100% {transform:rotate(360deg);}
}

@keyframes online01{
  0% {opacity:0;}
  100% {opacity:1;}
}

@keyframes online02{
  0% {opacity:1;}
  100% {opacity:0;}
}

@keyframes sc{
  0% {transform:scale(1);}
  50% {transform:scale(1.1);}
  100% {transform:scale(1);}
}

@keyframes anime_logo{
  0% {opacity:0;}
  33% {opacity:1;}
  67% {opacity:1;}
  100% {opacity:0;}
}

@keyframes shutter{
  0% {height:0;}
  50% {height:100%;}
  100% {height:0;}
}

/*****全体****/

html {
  width:100%;
  overflow:hidden;
}

body {
  font-family:  "Sawarabi Mincho",'YuMincho','Yu Mincho','游明朝',"ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  font-size:1.15vw;
  font-weight:normal;
  color:#333333;
}

.rsp_img {width:100%;height:auto;}

div.container {
  position:relative;
  width:100%;
  height:auto;
  z-index:0;
  overflow:hidden;
}

div.load {
  position:absolute;
  margin:auto;
  top:0;
  bottom:0;
  left:0;
  right:0;
  z-index:100;
  background:#FFF;
}

div.load p {
  box-sizing:border-box;
  position:absolute;
  display:block;
  margin:auto;
  top:0;
  bottom:10%;
  left:0;
  right:0;
  width:4%;
  height:0;
  padding:4% 0 0;
}

div.load p span:nth-of-type(1){
  position:absolute;
  width:60%;
  height:60%;
  margin:auto;
  top:0;
  bottom:0;
  left:0;
  right:0;
}

div.load p span:nth-of-type(2){
  position:absolute;
  width:100%;
  height:100%;  
  animation:loading 1s infinite linear;
  top:0;
  left:0;
}

div.load p span:nth-of-type(3){
  position:absolute;
  width:100%;
  margin:auto;
  left:0;
  right:0;
  bottom:-40%;
  animation:online01 0.75s infinite ease alternate;
}


/*****共通パーツ****/

.port {display:none;}
.land {display:block;}
.vertical .port {display:block;}
.vertical .land {display:none;}

p.shop_link {
  position:absolute;
  width:25%;
  max-width:400px;
  top:0%;
  right:0%;
  z-index:1;
}

p.shop_link a {
  box-sizing:border-box;
  display:block;
  width:100%;
  height:100%;
  line-height:0;
}

p.shop_link a span {
  position:absolute;
  display:block;
  top:0;
  left:0;
  width:100%;
}

p.shop_link a span:nth-of-type(1) {animation:online01 1s infinite linear alternate;}
p.shop_link a span:nth-of-type(2) {animation:online02 1s infinite linear alternate;}

p.next_link {
  box-sizing:border-box;
  position:absolute;
  display:block;
  z-index:1;
  bottom:5%;
  right:3.3%;
  width:3.7%;
  height:0;
  padding:3.7% 0 0;
  cursor:pointer;
}

p.next_link span {
  position:absolute;
  display:block;
  content:"";
  width:30%;
  height:30%;
  border-right:solid 2px #FFF;
  border-bottom:solid 2px #FFF; 
  transform:rotate(45deg);
  margin:auto;
  top:0;
  bottom:10%;
  left:0;
  right:0;
}

p.next_link::before {
  box-sizing:border-box;
  position:absolute;
  display:block;
  content:"";
  width:100%;
  height:100%;
  border-radius:50%;
  margin:auto;
  top:0;
  left:0;
  bottom:0;
  right:0;
  border:solid 2px #FFF;
}

p.next_link::after {
  box-sizing:border-box;
  position:absolute;
  display:block;
  content:"";
  width:100%;
  height:100%;
  transform:scale(1.4);
  border-radius:50%;
  margin:auto;
  top:0;
  left:0;
  bottom:0;
  right:0;
  border:solid 3px #FFF;
  opacity:0;
  transition:0.3s;
}

p.colored span {
  border-right:solid 2px #000;
  border-bottom:solid 2px #000; 
}

p.colored::before {
  border:solid 2px #000;
}

p.colored::after {
  border:solid 3px #000;
}

p.next_link:hover::after {
  transform:scale(1);
  margin:auto;
  top:0;
  left:0;
  bottom:0;
  right:0;
  transition:0.3s;
  opacity:1;
}

p.fb {
  position:absolute;
  display:block;
  width:6.3%;
  height:auto;
  left:3.3%;
  bottom:7%;
  z-index:1;
  margin:0;
}

p.cp {
  position:absolute;
  display:block;
  font-family:'Times New Roman';
  font-size:0.6em;
  letter-spacing:0.05em;
  left:3.3%;
  bottom:5%;
  z-index:1;
  color:#FFF;
  margin:0;
}

p.cp_b {color:#000;}

/*****ヘッダー****/

header {
  position:absolute;
  width:100%;
  background:url(../img/bg01_w.jpg) no-repeat center / cover;
  /* background:url(../img/bg01.jpg) no-repeat center / cover; */
  z-index:6;
  top:0;
  left:0;
  transition:0.5s;
  transition-delay:1s;
  overflow:hidden;
}

header .video {
  position:absolute;
  display:block;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: 100%;
  margin:auto;
  top:0%;
  left:-100%;
  right:-100%;
  bottom:0%;
  z-index:0;
}

header .video iframe {
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  margin:auto;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:0;
}
header.nomove {background:url(../img/bg01_w.jpg) center center/cover;}
/* header.nomove {background:url(../img/bg01.jpg) center center/cover;} */
header.nomove .video {display:none;}
header.nomove iframe {display:none;}

header.away {top:-100%;transition:1s;transition-delay:0.75s;}

header h1 {
  position:absolute;
  display:block;
  margin:auto;
  width:13.8%;
  max-width:208px;
  height:50%;
  top:0%;
  bottom:5%;
  left:3.3%;
  right:0;
  text-align:center;
  z-index:1;
}

header .scroll_nav {
  position:absolute;
  display:block;
  margin:auto;
  bottom:5%;
  left:0;
  right:0;
  width:4%;
  max-width:59px;
  text-align:center;
  z-index:2;
  animation:sc 1s infinite ease-in-out;
  cursor:pointer;
}

/*****セクション****/

div.container > section {
  width:100%;
  position:absolute;
  overflow:visible;
  top:0;
  left:0;
}

div.container > section:nth-of-type(1) {background:url(../img/bg02.jpg) center center/cover;z-index:5;transition:0.5s;transition-delay:1.0s;}
div.container > section:nth-of-type(2) {background:url(../img/bg03.jpg) center center/cover;z-index:4;transition:0.5s;transition-delay:0.8s;}
div.container > section:nth-of-type(3) {background:url(../img/bg04.jpg) center center/cover;z-index:3;transition:0.5s;transition-delay:0.6s;}
div.container > section:nth-of-type(4) {background:url(../img/bg05.jpg) center center/cover;z-index:2;transition:0.5s;transition-delay:0.4s;}
div.container > section:nth-of-type(5) {background:url(../img/bg06.jpg) center center/cover;z-index:1;transition:0.5s;transition-delay:0.2s;}

div.container > section.away {top:-100%;transition:1s;transition-delay:0.75s;}

div.container > header::after ,
div.container > section::after {
  position:fixed;
  display:block;
  content:"";
  width:100%;
  height:0;
  bottom:0;
  left:0;
  z-index:100;
}

div.container > header.away::after ,
div.container > section.away::after {
  animation:shutter 1s;
}

div.container > header::after {background:#FFF;}
div.container > section:nth-of-type(1)::after {background:#0d64a0;}
div.container > section:nth-of-type(2)::after {background:#f7efd8;}
div.container > section:nth-of-type(3)::after {background:#FFF;}
div.container > section:nth-of-type(4)::after {background:#FFF;}

.sub_link_l,
.sub_link_r {
  box-sizing:border-box;
  position:relative;
  max-width:270px;
  width:100%;
  height:auto;
  text-align:center;
  cursor:pointer;
  font-size:1.4vmin;
  padding:1.1em 0 1em;
  line-height:1.6em;
  border:solid 1px #000;
  color:#000;
  transition:0.5s;
}

section:nth-of-type(1) .sub_link_r {
  border:solid 1px #FFF;
  color:#FFF;
}

/*** サブページへのリンク ***/

.sub_link_l::before {content:"\003c";margin:0 0.5em 0 0;}
.sub_link_r::after  {content:"\003e";margin:0 0 0 0.5em;}

.sub_link_l::after ,
.sub_link_r::before {
  position:absolute;
  display:block;
  content:"";
  width:0;
  height:100%;
  top:0;
  z-index:-1;
  transition:0.5s;
}

.sub_link_l::after {right:0;}
.sub_link_r::before {left:0;}

section.base:nth-of-type(1) .sub_link_r:hover {color:#0d64a0;transition:0.5s;}
section.base:nth-of-type(1) .sub_link_r:hover::before {width:100%;background:#FFF;transition:0.5s;}
section.base:nth-of-type(2) .sub_link_l:hover {color:#FFF;border:solid 1px #464646;transition:0.5s;}
section.base:nth-of-type(2) .sub_link_l:hover::after {width:100%;background:#464646;transition:0.5s;}
section.base:nth-of-type(3) .sub_link_r:hover {color:#FFF;border:solid 1px #464646;transition:0.5s;}
section.base:nth-of-type(3) .sub_link_r:hover::before {width:100%;background:#464646;transition:0.5s;}
section.base:nth-of-type(4) .sub_link_l:hover {color:#FFF;border:solid 1px #464646;transition:0.5s;}
section.base:nth-of-type(4) .sub_link_l:hover::after {width:100%;background:#464646;transition:0.5s;}


/*** 親ページコンテンツ ***/

div.container > section > .box {
  position:absolute;
  width:16%;
  z-index:2;
}

div.container > section:nth-of-type(1) > .box {max-width:270px;top:7%;left:8%;}
div.container > section:nth-of-type(2) > .box {max-width:270px;top:30%;right:17.3%;}
div.container > section:nth-of-type(3) > .box {max-width:270px;top:20%;left:11%;}
div.container > section:nth-of-type(4) > .box {max-width:270px;top:20%;right:10.7%;text-align:right;}
div.container > section:nth-of-type(5) > .box {width:46.5%;top:33%;margin:auto;left:0;right:0;text-align:center;}

div.container > section > .box h2 {width:94%; margin:0 auto 10%;}
div.container > section:nth-of-type(1) > .box h2 {max-width:188px;}
div.container > section:nth-of-type(2) > .box h2 {max-width:188px;}
div.container > section:nth-of-type(3) > .box h2 {max-width:188px;margin:0 auto 10%;}
div.container > section:nth-of-type(4) > .box h2 {max-width:188px;margin:0 auto 10%;}
div.container > section:nth-of-type(5) > .box h2 {max-width:698px;margin:0 auto 5%;}

div.container > section:nth-of-type(4) > .box p.sub_link_l {clear:both;float:right;}
div.container > section:nth-of-type(5) p.message {
  font-size:2vmin;
  line-height:1.7;
  color:#FFF;
  margin:0 auto 5%;
}

div.container > section:nth-of-type(5) p.last_link {max-width:429px;width:96%;margin:0 auto;}

/*** 子ページコンテンツ ***/

section.sub {
  position:absolute;
  width:100%;
  height:auto;
  top:0;
  z-index:100;
  overflow:hidden;
}

section section.sub::after {
  position:absolute;
  display:block;
  content:"";
  width:38.4%;
  height:100%;
  bottom:5%;
  background:none;
  opacity:0;
}

section section#sub02::after {background:url(../img/bg_t.png) no-repeat bottom right / 100%;right:5%;}
section section#sub03::after {background:url(../img/bg_w.png) no-repeat bottom right / 100%;left:5%;}
section section#sub04::after {background:url(../img/bg_g.png) no-repeat bottom right / 100%;right:5%;}
section section#sub05::after {background:url(../img/bg_g.png) no-repeat bottom right / 100%;left:5%;}

section.slide section::after {
  transition:0.5s;
  transition-delay:0s;
  opacity:1;
}

section#sub02 {background:url(../img/bg0201.jpg) center center/cover;left:100%;transition:1s;}
section#sub03 {background:url(../img/bg0301.jpg) center center/cover;left:-100%;transition:1s;}
section#sub04 {background:url(../img/bg0401.jpg) center center/cover;left:100%;transition:1s;}
section#sub05 {background:url(../img/bg0501.jpg) center center/cover;left:-100%;transition:1s;}

.slide section#sub02 {transition:1s;left:0%;z-index:2;}
.slide section#sub03 {transition:1s;left:0%;z-index:2;}
.slide section#sub04 {transition:1s;left:0%;z-index:2;}
.slide section#sub05 {transition:1s;left:0%;z-index:2;}

section.sub figure {
  position:absolute;
  display:block;
  margin:auto;
  width:13.8%;
  max-width:208px;
  height:50%;
  top:0%;
  bottom:5%;
  left:3.3%;
  right:0;
  text-align:center;
  z-index:0;
  opacity:0;
}

.slide section.sub figure {
  animation:anime_logo 2s 0s;
}

section section.sub .box {
  position:absolute;
  width:48%;
  top:10%;
  height:90%;
  z-index:1;
}

section:nth-of-type(odd) section.sub .box {left:6.7%;}
section:nth-of-type(even) section.sub .box {right:6.7%;}

section section.sub h3 {margin:0% 0 5%;opacity:0;}
section.slide section.sub h3 {margin:0% 0 5%;opacity:1;transition:2s;transition-delay:1s;}
section:nth-of-type(1) section.sub h3 {width:53.8%;max-width:388px;}
section:nth-of-type(2) section.sub h3 {width:50.4%;max-width:363px;float:right;}
section:nth-of-type(3) section.sub h3 {width:54.4%;max-width:392px;}
section:nth-of-type(4) section.sub h3 {width:50.1%;max-width:361px;float:right;}

section section.sub p.content {
  width:100%;
  color:#FFF;
  line-height:2em;
  clear:both;
  margin:0 0 5%;
  opacity:0;
}

section.slide section.sub p.content {opacity:1;transition:2s 2s;}


section section.sub p.content::before {
  display:block;
  content:"";
  width:100%;
  height:auto;
  padding:0% 0 0;
}

section.slide section.sub p.content::before {transition:2s 2s;padding:0;;}

section:nth-of-type(3) section.sub p.content ,
section:nth-of-type(4) section.sub p.content {color:#000;}
  
section section.sub .catch {
  position:absolute;
  bottom:5%;
  opacity:0;
}

section.slide section.sub .catch {opacity:1;transition:0s 2s;}

section:nth-of-type(1) section.sub .catch {width:6.5%;max-width:97px;right:5%;}
section:nth-of-type(2) section.sub .catch {width:6.5%;max-width:98px;left:5%;}
section:nth-of-type(3) section.sub .catch {width:6.4%;max-width:96px;right:5%;}
section:nth-of-type(4) section.sub .catch {width:6.3%;max-width:94px;left:5%;}

section section.sub ul {
  width:70%;
  max-width:600px;
  list-style-type:none;
  margin:0% 0 5%;
  opacity:0;
  transition:2s;
  transition-delay:3s;
}

section.slide section.sub ul {margin-top:0%;opacity:1;}

section:nth-of-type(even) section.sub ul {float:right;}

section section.sub ul li {
  box-sizing:border-box;
  position:relative;
  width:48%;
  height:auto;
  text-align:center;
  float:left;
  margin:0 4% 0 0;
  cursor:pointer;
  font-size:1.4vmin;
  line-height:1.6em;
  color:#000;
  transition:0.5s;
}

section section.sub ul li:last-child {margin:0;}

section section.sub ul li.return_link_r , 
section section.sub ul li.return_link_l {
  padding:1.1em 0 1em;
  border:solid 1px #000;
}  

section:nth-of-type(1) section.sub ul li.return_link_l , 
section:nth-of-type(2) section.sub ul li.return_link_r {
  border:solid 1px #FFF;
  color:#FFF;
} 

section section.sub ul li.return_link_r::after {content:"\003e";margin:0 0 0 0.5em;}
section section.sub ul li.return_link_l::before {content:"\003c";margin:0 0.5em 0 0;}

section section.sub ul li a {
  box-sizing:border-box;
  display:block;
  width:100%;
  height:100%;
  padding:1.1em 0 1em;
  text-decoration:none;
  color:inherit;
  border:solid 1px #000;
} 

section:nth-of-type(1) section.sub ul li a ,
section:nth-of-type(2) section.sub ul li a {
  border:solid 1px #FFF;
  color:#FFF;
}

section section.sub ul li:nth-child(1) a::before {content:"\003c";margin:0 0.5em 0 0;}
section section.sub ul li:nth-child(2) a::after {content:"\003e";margin:0 0 0 0.5em;}

section section.sub ul li.return_link_r::before,
section section.sub ul li.return_link_l::after,
section section.sub ul li:nth-child(1) a::after,
section section.sub ul li:nth-child(2) a::before {
  position:absolute;
  display:block;
  content:"";
  width:0;
  height:100%;
  top:0;
  z-index:-1;
  transition:0.5s;
}

section section.sub ul li.return_link_r::before,
section section.sub ul li.toright a::before {left:0;}

section section.sub ul li.return_link_l::after,
section section.sub ul li.toleft a::after {right:0;}

section:nth-of-type(1) section.sub ul li.return_link_l:hover {color:#0d64a0;border:solid 1px #FFF;transition:0.5s;}
section:nth-of-type(1) section.sub ul li.return_link_l:hover::after {width:100%;background:#FFF;transition:0.5s;}
section:nth-of-type(1) section.sub ul li:nth-child(2) a:hover {color:#0d64a0;transition:0.5s;}
section:nth-of-type(1) section.sub ul li:nth-child(2) a:hover::before {width:100%;background:#FFF;transition:0.5s;}
section:nth-of-type(2) section.sub ul li.return_link_r:hover {color:#ca8038;border:solid 1px #FFF;transition:0.5s;}
section:nth-of-type(2) section.sub ul li.return_link_r:hover::before {width:100%;background:#FFF;transition:0.5s;}
section:nth-of-type(2) section.sub ul li:nth-child(1) a:hover {color:#ca8038;transition:0.5s;}
section:nth-of-type(2) section.sub ul li:nth-child(1) a:hover::after {width:100%;background:#FFF;transition:0.5s;}
section:nth-of-type(3) section.sub ul li.return_link_l:hover {color:#FFF;border:solid 1px #5a5a5a;transition:0.5s;}
section:nth-of-type(3) section.sub ul li.return_link_l:hover::after {width:100%;background:#5a5a5a;transition:0.5s;}
section:nth-of-type(3) section.sub ul li:nth-child(2) a:hover {color:#FFF;transition:0.5s;}
section:nth-of-type(3) section.sub ul li:nth-child(2) a:hover::before {width:100%;background:#5a5a5a;transition:0.5s;}
section:nth-of-type(4) section.sub ul li.return_link_r:hover {color:#FFF;border:solid 1px #5a5a5a;transition:0.5s;}
section:nth-of-type(4) section.sub ul li.return_link_r:hover::before {width:100%;background:#5a5a5a;transition:0.5s;}
section:nth-of-type(4) section.sub ul li:nth-child(1) a:hover {color:#FFF;transition:0.5s;}
section:nth-of-type(4) section.sub ul li:nth-child(1) a:hover::after {width:100%;background:#5a5a5a;transition:0.5s;}
 

/* ナビゲーション*/

nav {
  width:1em;
  height:9em;
  position:fixed;
  margin:auto;
  top:0;
  bottom:0;
  right:2%;
  z-index:10;
}

nav ul {
  width:1em;
  height:auto;
  overflow:hidden;
  text-align:center;
}

nav ul li {
  width:0.5em;
  height:0.5em;
  border-radius:50%;
  background:#FFF;
  margin:0 auto 1.2em;
  cursor:pointer;
}

nav.colored ul li {background:#ccc;}

nav ul li:last-child {margin:0 auto;}

nav ul li.current {background:#be1414;}

/* フッター*/

footer .pagetop {
  position:absolute;
  width:5%;
  max-width:76px;
  margin:auto;
  bottom:5%;
  left:0;
  right:0;
  color:#FFF;
  z-index:1;
  text-align:center;
  animation:sc 1s infinite ease-in-out;
  cursor:pointer;
}






/*********たて向き画面**********/

.vertical div.load p {
  width:10%;
  height:0;
  padding:10% 0 0;
}

/*****共通パーツ****/

.vertical p.shop_link {
  width:65%;
  margin:auto;
  left:0;
  right:0;
}

.vertical p.next_link {
  bottom:5%;
  right:2%;
  width:10%;
  padding:10% 0 0;
}

.vertical p.fb {
  width:15%;
  max-width:none;
  left:2%;
  bottom:5%;
}

.vertical p.cp {
  font-size:2vmin;
  left:0;
  right:0;
  bottom:1%;
  margin:auto;
  text-align:center;
}

/*****ヘッダー****/
.vertical header {background:url(../img/bg01_wsp.jpg) no-repeat center /auto 120%;}
.vertical header.nomove {background:url(../img/bg01_wsp.jpg) no-repeat center /auto 120%;}
/* .vertical header {background:url(../img/bg01_s.jpg) no-repeat center /cover;}
.vertical header.nomove {background:url(../img/bg01_s.jpg) no-repeat center /cover;} */
.vertical header h1 {
  position:absolute;
  display:block;
  margin:auto;
  width:50%;
  max-width:none;
  height:50%;
  top:0;
  bottom:10%;
  left:0;
  right:0;
}

.vertical header h1 img {
  display:block;
  width:auto;
  max-height:100%;
  margin:0 0 0 10%;
}

.vertical header .scroll_nav {
  bottom:5%;
  left:0;
  right:0;
  width:10%;
  max-width:none;
}

.vertical header .video {
  margin:auto;
  left:-100%;
  right:-100%;
  top:0;
  bottom:0;
}

/*****セクション****/

/*たて向きの背景*/

.vertical div.container > section:nth-of-type(1) {background:url(../img/bg02_sp.jpg) bottom center/cover;z-index:5;transition:0.5s;transition-delay:1.0s;}
.vertical div.container > section:nth-of-type(2) {background:url(../img/bg03_sp.jpg) center center/cover;z-index:4;transition:0.5s;transition-delay:0.8s;}
.vertical div.container > section:nth-of-type(3) {background:url(../img/bg04_sp.jpg) bottom center/cover;z-index:3;transition:0.5s;transition-delay:0.6s;}
.vertical div.container > section:nth-of-type(4) {background:url(../img/bg05_sp.jpg) bottom center /cover;z-index:2;transition:0.5s;transition-delay:0.4s;}
.vertical div.container > section:nth-of-type(5) {background:url(../img/bg06_sp.jpg) center center/cover;z-index:1;transition:0.5s;transition-delay:0.2s;}

.vertical .sub_link_l,
.vertical .sub_link_r {
  max-width:none;
  font-size:2vmax;
}

/*** 親ページコンテンツ ***/

.vertical div.container > section > .box {
  width:45%;
}

.vertical div.container > section:nth-of-type(1) > .box {max-width:none;top:15%;left:5%;}
.vertical div.container > section:nth-of-type(2) > .box {max-width:none;top:20%;right:5%;}
.vertical div.container > section:nth-of-type(3) > .box {max-width:none;top:18%;left:5%;}
.vertical div.container > section:nth-of-type(4) > .box {max-width:none;top:18%;right:5%;}
.vertical div.container > section:nth-of-type(5) > .box {width:90%;top:20%;}

.vertical div.container > section > .box h2 {width:98%; margin:0 auto 10%;}
.vertical div.container > section:nth-of-type(1) > .box h2 {max-width:60%;}
.vertical div.container > section:nth-of-type(2) > .box h2 {max-width:60%;}
.vertical div.container > section:nth-of-type(3) > .box h2 {max-width:60%;}
.vertical div.container > section:nth-of-type(4) > .box h2 {max-width:60%;}
.vertical div.container > section:nth-of-type(5) > .box h2 {max-width:none;width:90%;}

.vertical div.container > section:nth-of-type(5) p.message {font-size:1.8vmax;}

.vertical div.container > section:nth-of-type(5) p.last_link {max-width:none;width:70%;margin:0 auto;}

/*** 子ページコンテンツ ***/

.vertical section.sub figure {
  position:absolute;
  display:block;
  margin:auto;
  width:50%;
  max-width:none;
  height:50%;
  top:0%;
  bottom:0;
  left:5%;
  right:0;
  text-align:center;
}

.vertical section.sub figure img {width:auto;max-height:100%;}

.vertical section section.sub .box {
  position:absolute;
  width:75%;
  top:5%;
  height:auto;
  z-index:1;
}

.vertical section:nth-of-type(odd) section.sub .box {left:5%;}
.vertical section:nth-of-type(even) section.sub .box {right:5%;}

.vertical section:nth-of-type(1) section.sub h3 {width:60%;max-width:none;}
.vertical section:nth-of-type(2) section.sub h3 {width:60%;max-width:none;}
.vertical section:nth-of-type(3) section.sub h3 {width:60%;max-width:none;}
.vertical section:nth-of-type(4) section.sub h3 {width:60%;max-width:none;}

.vertical section section.sub p.content {
  font-size:1.8vmax;
}

.vertical section:nth-of-type(3) section.sub p.content ,
.vertical section:nth-of-type(4) section.sub p.content {color:#000;font-size:1.8vmax;}
  

.vertical section:nth-of-type(1) section.sub .catch {width:10%;max-width:none;right:2%;}
.vertical section:nth-of-type(2) section.sub .catch {width:10%;max-width:none;left:2%;}
.vertical section:nth-of-type(3) section.sub .catch {width:10%;max-width:none;right:2%;}
.vertical section:nth-of-type(4) section.sub .catch {width:10%;max-width:none;left:2%;}


.vertical section section.sub ul {
  width:90%;
  max-width:none;
}

.vertical section:nth-of-type(4) section.sub ul {width:100%;}

.vertical section section.sub ul li {
  font-size:2vmax;
}

.vertical section section.sub ul li.return_link_r , 
.vertical section section.sub ul li.return_link_l {
  font-size:2vmax;
}  

.vertical section:nth-of-type(4) section.sub ul li {font-size:1.8vmax;}

/* ナビゲーション*/

.vertical nav {
  margin:0;
  top:2em;
  right:2%;
}

/* フッター*/

.vertical footer .pagetop {
  width:10%;
  max-width:none;
  bottom:5%;
}
