@charset "utf-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}
body { line-height:1;}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { display:block;}
nav ul { list-style:none;}
blockquote, q { quotes:none;}
blockquote:before, blockquote:after,
q:before, q:after { content:''; content:none;}
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;}
/* change colours to suit your needs */
ins { background-color:#E0D8BF; color:#000; text-decoration:none;}
/* change colours to suit your needs */
mark { background-color:#E0D8BF; color:#000; font-style:italic; font-weight:bold;}
del { text-decoration: line-through;}
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help;}
table { border-collapse:collapse; border-spacing:0;}
ul {list-style:none;}
ol { list-style-type: none;}
img { width: 100%; max-width: 100%; height: auto; line-height: 0;}
picture,figure { display: block; line-height: 0;}
br { line-height: inherit;}
span {
 font-size: inherit;
 line-height: inherit;
}

hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}
input, select { vertical-align:middle;}

*, ::after, ::before { box-sizing: border-box;}

::selection { color:#262626; background:#E0D8BF; text-shadow:none; opacity:1;}
::-moz-selection { color:#262626; background:#E0D8BF; text-shadow:none; opacity:1;}

input, button, textarea, select {
 margin: 0;
 padding: 0;
 background: none;
 border: none;
 border-radius: 0;
 outline: none;
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 letter-spacing: .1em;
 color: #000;
 font-family : inherit;
 font-size: 16px;
 -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
      -o-transition: all .3s ease-in-out;
         transition: all .3s ease-in-out;
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}

/*--------------------------------------------------------------------------
 html
---------------------------------------------------------------------------*/
html{
 font-size: 62.5%;
 -ms-overflow-x: hidden;
     overflow-x: hidden;
 -ms-overflow-y: scroll;
     overflow-y: scroll;
 -ms-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
}

/*--------------------------------------------------------------------------
 body
---------------------------------------------------------------------------*/
body {
 letter-spacing: .1em;
 line-height: 1.8;
 color: #262626;
 font-family: YakuHanJPs_Narrow, "Yu Gothic Medium", "Yu Gothic", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
 font-size: 16px;
 font-weight: 400;
 -webkit-text-size-adjust: 100%;
 font-feature-settings : "palt";
 -webkit-font-smoothing: antialiased;
 text-rendering: optimizelegibility;
 width: 100vw;
}
.icon {
 letter-spacing: 0;
 line-height: 1;
}
.zw-zt {
	font-family: Microsoft YaHei,PingFang SC sans-serif;
}
@media all and (max-width: 1200px){
 body { font-size: 14px;}
}

/* @SP */
@media all and (max-width: 768px){
 body {
  min-width: 375px;
 -ms-overflow-x: hidden;
     overflow-x: hidden;
 -ms-overflow-y: scroll;
     overflow-y: scroll;
 }
}

a,a:link,a:visited,a:focus,a:active {
 color: #262626;
 outline:none;
 text-decoration: none;
}
a {
 -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
      -o-transition: all .3s ease-in-out;
         transition: all .3s ease-in-out;
}

br.sp { display: none;}
@media all and (max-width: 768px){
 br.sp { display: inline;}
}

.fade-in { opacity: 0;}

@media all and (-ms-high-contrast:none){
.fade-in {
 opacity: 1;
}
}
.in {
 -webkit-animation-name: fadeIn;
 animation-name: fadeIn;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 animation-timing-function: ease;
}

@-webkit-keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}

@keyframes fadeIn {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}

.fade-up {
 opacity: 0;
 transform: translate(0,30px);
 -webkit-transform: translate(0,30px);
}
/* ie11 ハック*/
@media all and (-ms-high-contrast:none){
	.fade-up {
		opacity: 1;
		transform: translate(0,0);
		-webkit-transform: translate(0,0);
	}
}
.up {
 -webkit-animation-name: fadeUp;
 animation-name: fadeUp;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 animation-timing-function: ease;
}
.left-fade {
 -webkit-animation-name: fadeLeft;
 animation-name: fadeLeft;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 animation-timing-function: ease;
}
.right-fade {
 -webkit-animation-name: fadeRight;
 animation-name: fadeRight;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 animation-timing-function: ease;
}

.delay01 { animation-delay: 0.5s;}
.delay02 { animation-delay: 1s;}
.delay03 { animation-delay: 0.3s;}
@media screen and (max-width: 768px) {
 .delay01 { animation-delay: 0s;}
 .delay02 { animation-delay: 0s;}
}

@-webkit-keyframes fadeUp {
 from {
  opacity: 0;
  transform: translate(0,40px);
  -webkit-transform: translate(0,40px);
 }
 to {
  opacity: 1;
  transform: translate(0,0);
  -webkit-transform: translate(0,0);
 }
}
@keyframes fadeUp {
 from {
  opacity: 0;
  transform: translate(0,30px);
  -webkit-transform: translate(0,30px);
 }
 to {
  opacity: 1;
  transform: translate(0,0);
  -webkit-transform: translate(0,0);
 }
}
@-webkit-keyframes fadeLeft {
 from {
  opacity: 0;
  transform: translate(40px,0);
  -webkit-transform: translate(40px, 0);
 }
 to {
  opacity: 1;
  transform: translate(0,0);
  -webkit-transform: translate(0,0);
 }
}
@keyframes fadeLeft {
 from {
  opacity: 0;
  transform: translate(30px, 0);
  -webkit-transform: translate(30px, 0);
 }
 to {
  opacity: 1;
  transform: translate(0,0);
  -webkit-transform: translate(0,0);
 }
}
@-webkit-keyframes fadeRight {
 from {
  opacity: 0;
  transform: translate(-40px,0);
  -webkit-transform: translate(-40px, 0);
 }
 to {
  opacity: 1;
  transform: translate(0,0);
  -webkit-transform: translate(0,0);
 }
}
@keyframes fadeRight {
 from {
  opacity: 0;
  transform: translate(-30px, 0);
  -webkit-transform: translate(-30px, 0);
 }
 to {
  opacity: 1;
  transform: translate(0,0);
  -webkit-transform: translate(0,0);
 }
}

.mask_wrap{
 display: table;
 overflow: hidden;
}
.mask-wrap .mask{
 display: table;
 line-height: 0;
 position: relative;
 left: -100%;
 overflow: hidden;
}
.mask-wrap .mask-bg{
 display: block;
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 background: #262626;
 z-index: 10;
}
.zoom  {
 display: block;
 -webkit-transition: .4s ease-out;
 -moz-transition: .4s ease-out;
 transition: .4s ease-out;
}
a:hover .zoom {
 opacity: .8;
 transform:scaleX(1.05)scaleY(1.05);
}

.inner-xxl {
 width: 87.923vw;
 max-width: 1632px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
}
.inner-xl {
 width: 87.923vw;
 max-width: 1536px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
}
.inner-ll {
 width: 87.923vw;
 max-width: 1440px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
}
.inner-l {
 width: 87.923vw;
 max-width: 1344px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
}
.inner-m {
 width: 87.923vw;
 max-width: 1248px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
}
.inner-s {
 width: 87.923vw;
 max-width: 1152px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
}
.inner-ss {
 width: 87.923vw;
 max-width: 1080px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
}
.inner-xs {
 width: 87.923vw;
 max-width: 1050px;
 margin-left: auto;
 margin-right: auto;
 position: relative;
}

.mTop120 { margin-top: 120px;}
.mTop100 { margin-top: 100px;}
.mTop80 { margin-top: 80px;}
.mTop70 { margin-top: 70px;}
.mTop60 { margin-top: 60px;}
.mTop50 { margin-top: 50px;}
.mTop45 { margin-top: 45px;}
.mTop40 { margin-top: 40px;}
.mTop35 { margin-top: 35px;}
.mTop30 { margin-top: 30px;}
.mTop25 { margin-top: 25px;}
.mTop20 { margin-top: 20px;}
.mTop15 { margin-top: 15px;}
.mTop10 { margin-top: 10px;}

.mt05em { margin-top: 0.5em;}
.mt1em { margin-top: 1em;}
.mt1_5em { margin-top: 1.5em;}
.mt2em { margin-top: 2em;}
.mt3em { margin-top: 3em;}
.mt4em { margin-top: 4em;}

.lh2 { line-height: 2;}

@media screen and (max-width: 1200px) {
 .mTop120 { margin-top: 100px;}
 .mTop100 { margin-top: 80px;}
 .mTop80 { margin-top: 60px;}
 .mTop70 { margin-top: 55px;}
 .mTop60 { margin-top: 45px;}
 .mTop50 { margin-top: 40px;}
 .mTop45 { margin-top: 35px;}
 .mTop40 { margin-top: 30px;}
 .mTop35 { margin-top: 25px;}
 .mTop30 { margin-top: 25px;}
 .mTop25 { margin-top: 20px;}
 .mTop20 { margin-top: 15px;}
 .mTop15 { margin-top: 12px;}
 .mTop10 { margin-top: 8px;}
}
@media screen and (max-width: 768px) {
 .mTop120 { margin-top: 70px;}
 .mTop100 { margin-top: 60px;}
 .mTop80 { margin-top: 40px;}
 .mTop70 { margin-top: 40px;}
 .mTop60 { margin-top: 35px;}
 .mTop50 { margin-top: 30px;}
 .mTop45 { margin-top: 30px;}
 .mTop40 { margin-top: 25px;}
 .mTop35 { margin-top: 20px;}
 .mTop30 { margin-top: 20px;}
 .mTop25 { margin-top: 15px;}
 .mTop20 { margin-top: 12px;}
 .mTop15 { margin-top: 10px;}
 .mTop30.dyt.sdrt,.mTop30.dyt{font-size: 12px;}
}

br.sp-only { display: none;}
@media screen and (max-width: 768px) {
 br.sp-only { display: inline;}
 br.sp-none { display: none;}
}

#header {
 width: 100%;
 z-index: 500;
 position: absolute;
}
#header.fixed {
 position: fixed;
 top: 0;
 background: #FFF;
 animation-name: toggle;
 animation-duration: .4s;
 animation-timing-function: ease-in-out;
}
#header .header-wrap {
 height: 120px;
 display: flex;
 -webkit-align-items: center;
         align-items: center;
  /* border-left: 10px solid #c2a991; */
}
#header.fixed .header-wrap { height: 100px; padding: 10px 0;}
#header .header-wrap #head-logo {
 margin-left: 45px;
 -webkit-transform: translateX(-1%);
 -ms-transform: translateX(-1%);
 transform: translateX(-1%);
}
#header .header-wrap #head-logo a {
 display: block;
 line-height: 0;
}
#header .header-wrap #head-logo a img {
 width: auto;
 height: 60px;
}
#header.fixed .header-wrap #head-logo a img { height: 60px;}
#header .studio-name { display: none;}
#header .header-wrap nav {
 margin: 0 35px 0 auto;
 font-family: Microsoft YaHei,PingFang SC sans-serif;
}
#header .header-wrap nav ul {
 display: flex;
 -webkit-align-items: center;
         align-items: center;
}
#header .header-wrap nav ul li:not(:last-child) { margin-right: 35px;}
#header .header-wrap nav ul li a {
 display: block;
 letter-spacing: 0.1em;
 line-height: 2;
 color: #111;
 font-size: 16px;
 position: relative;
}
#header .header-wrap nav ul li a::after {
 content: "";
 width: 0;
 height: 1px;
 display: block;
 background: #111;
 position: absolute;
 left: 50%;
 bottom: 0;
 -webkit-transition: all .2s;
    -moz-transition: all .2s;
     -ms-transition: all .2s;
      -o-transition: all .2s;
         transition: all .2s;
}
#header .header-wrap nav ul li a:hover::after {
 width: 100%;
 left: 0;
}
#header .header-wrap .head-note { margin: 0 45px 0 10px ;}
#header .header-wrap .head-instagram a,
#header .header-wrap .head-note a {
 width: 36px;
 height: 36px;
 display: block;
 color: #111;
 border: 1px solid rgba(17,17,17,.5);
 -webkit-border-radius: 50%;
         border-radius: 50%;
 position: relative;
}
#header .header-wrap .head-instagram a:hover,
#header .header-wrap .head-note a:hover {
 color: #FFF !important;
 background: #262626 !important;
 border: none !important;
}
#header .header-wrap .head-instagram a i,
#header .header-wrap .head-note a i {
 letter-spacing: 0;
 line-height: 1;
 font-size: 20px;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 -ms-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
}
#border-left, aside {
	border-left: 10px solid #c2a991;
}
@keyframes toggle {
 0% { transform:  translateY(-80px);}
 100% { transform:  translateY(0);}
}

@media screen and (min-width: 961px) {
 .sp-nav-cont { display: none !important;}
 .nav-toggle { display: none !important;}
}

@media screen and (max-width: 1200px) {
 #header .header-wrap { height: 120px; border-left-width: 8px;}
 #header.fixed .header-wrap { height: 80px;}
 #header .header-wrap #head-logo { margin-left: 35px;}
 #header .header-wrap #head-logo a img { height: 70px;}
 #header.fixed .header-wrap #head-logo a img { height: 60px;}
 #header .studio-name { display: none;}
 #header .header-wrap nav { margin: 0 25px 0 auto;}
 #header .header-wrap nav ul li:not(:last-child) { margin-right: 25px;}
 #header .header-wrap nav ul li a { font-size: 12px;}
 #header .header-wrap .head-note { margin: 0 35px 0 8px ;}
 #header .header-wrap .head-instagram a,
 #header .header-wrap .head-note a {
  width: 30px;
  height: 30px;
 }
 #header .header-wrap .head-instagram a i,
 #header .header-wrap .head-note a i { font-size: 16px;}
 #border-left, aside{border-left-width: 8px;}
}
@media screen and (max-width: 960px) {
 #header {}
 #header.fixed { position: absolute;}
 #header .header-wrap { height: 75px;border-left-width: 6px}
 #header .header-wrap #head-logo {
  height: 50px;
  margin-left: 6.0385vw;
  margin-right: auto;
 }
 #header .header-wrap #head-logo a  {
  margin-left: -1%;
  display: block;
  line-height: 50px;
 }
 #header .header-wrap #head-logo a img { height: 50px;}
 #header .header-wrap nav,
 #header .header-wrap .head-instagram ,
 #header .header-wrap .head-note { display: none;}
 .nav-toggle { display: block;}
 .nav-toggle {
  width: 44px;
  height: 44px;
  position: absolute;
  right: 13px;
  top: 13px;
  cursor: pointer;
  z-index: 9999;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
 }
 #border-left, aside{border-left-width: 6px;}
 .nav-toggle span {
  display: block;
  position: absolute;
  border-bottom: solid 1px #c2a991;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
  width: 20px;
  left: 12px;
 }
 .nav-toggle.active span { border-color: #fff !important;}
 .nav-toggle span:nth-child(1) { top: 16px;}
 .nav-toggle span:nth-child(2) {top: 22px;}
 .nav-toggle span:nth-child(3) { top: 28px;}

 .nav-toggle.active span:nth-child(1) {
  top: 22px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
 }

 .nav-toggle.active span:nth-child(2) { opacity: 0;}
 .nav-toggle.active span:nth-child(3) {
  top: 22px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
 }
 .nav-toggle.active { pointer-events: none;}

 .sp-nav-cont {
  text-align: left;
  background-color: #f8f8f8;
 }
 .sp-nav-cont .sp-global-menu { padding: 65px 8vw 0;}
 .sp-nav-cont .sp-global-menu .g-menu li a {
  padding: 15px 0;
  display: block;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #252525;
  font-size: 14px;
  font-weight: 600;
  position: relative;
 }
 .sp-nav-cont .contact-btn { margin: 25px 8vw 0;}
 .sp-nav-cont .contact-btn a {
  padding: 16px 30px;
  display: block;
  color: #FFF;
  font-size: 12px;
  font-weight: 600;
  background: #c2a991;
  position: relative;
 }
 .sp-nav-cont .contact-btn a i {
  letter-spacing: 0;
  line-height: 1;
  color: #c2a991;
  font-size: 10px;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
	background: #FFFEFE;
	border-radius: 3px;
	padding: 1px 2px 0 1px;
 }
 .sp-nav-cont .sns {
  margin: 40px 6.0385vw 0;
  display: flex;
 }
 .sp-nav-cont .sns .head-instagram { margin-right: 8px;}
 .sp-nav-cont .sns .head-instagram a,
 .sp-nav-cont .sns .head-note a {
  width: 30px;
  height: 30px;
  display: block;
  color: #FFF;
  border: 1px solid rgba(255,255,255,.5);
  -webkit-border-radius: 50%;
          border-radius: 50%;
  position: relative;
 }
 .sp-nav-cont .sns .head-instagram a i,
 .sp-nav-cont .sns .head-note a i {
  letter-spacing: 0;
  line-height: 1;
  font-size: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
 }
 .sp-nav-cont .sub-menu {
  margin: 40px 6.0385vw 80px;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
 }
 .sp-nav-cont .sub-menu li:not(:last-child){
  margin: 0 20px 5px 0;
 }
 .sp-nav-cont .sub-menu li a {
  color: #fff;
  font-size: 12px;
 }
 .sp-nav-cont .sub-menu li a span {
  margin: 0 0 0 5px;
  display: inline-block;
  vertical-align: bottom;
  font-size: 15px;
  -webkit-transform: translateY(-30%);
  -ms-transform: translateY(-30%);
  transform: translateY(-30%);
 }
 .remodal-close {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 13px;
  right: 13px;
  z-index: 100000000;
 }
 .remodal-close::before,
 .remodal-close::after {
  content: "";
  width: 20px;
  height: 1px;
  margin-left: -10px;
  background: #c2a991;
  position: absolute;
  top: 50%;
  left: 50%;
 }
 .remodal-close::before { transform: rotate(-45deg)}
 .remodal-close::after { transform: rotate(45deg)}
}
@keyframes fadein {
 0% {
  opacity: 0;
  visibility: hidden;
 }
 100% {
  opacity: 1;
  visibility: visible;
  }
}

@keyframes fadeout {
 0% {
  opacity: 1;
  visibility: visible;
 }
 100% {
  opacity: 0;
  visibility: hidden;
 }
}

.en-tit {
 letter-spacing: .1em;
 line-height: 1.1;
 font-family: 'Marcellus', serif;
 font-weight: 400;
 -webkit-transform: translateX(-.05em);
 -ms-transform: translateX(-.05em);
 transform: translateX(-.05em);
}
.zw-tit {
 letter-spacing: .1em;
 line-height: 1.1;
 font-weight: 400;
 -webkit-transform: translateX(-.05em);
 -ms-transform: translateX(-.05em);
 transform: translateX(-.05em);
}
.zw-tit.small {
  font-size: 40px;
  margin: 40px 0;
}
.en-tit.big { font-size: 70px;}
.en-tit.medium { font-size: 46px;}
.en-tit.small { font-size: 35px;}
.en-tit.center { text-align: center;}
.line-title-box { text-align: center;}
.line-title-box.left { text-align: left;}
.line-title-box .en-tit {
 line-height: 1.4;
 color: #111;
}
.line-title-box .en-tit span {
 padding-bottom: .15em;
 display: inline-block;
 font-size: 40px;
 font-family: 'Marcellus', serif;
 font-weight: 400;
 border-bottom: 1px solid #111;
}
.line-title-box .ja-tit {
 margin-top: 1.6em;
 line-height: 1.8;
 color: #111;
 font-weight: normal;
}
.copyright{
	height: 36px;
	line-height: 36px;
	text-align: center;
	font-size: 12px;
	color: #5E5D5D;
	background-color: #F0F0F0;
  font-family: Microsoft YaHei,PingFang SC sans-serif;
}
.copyright a{color: #5E5D5D;}
@media screen and (max-width: 1200px) {
 .en-tit.big { font-size: 55px;}
 .en-tit.medium { font-size: 36px;}
 .en-tit.small { font-size: 28px;}
 .zw-tit.small {
   font-size: 28px;
   margin: 30px 0;
 }
 .line-title-box .en-tit span { font-size: 32px;}
}
@media screen and (max-width: 768px) {
 .en-tit.big { font-size: 44px;}
 .en-tit.medium { font-size: 28px;}
 .en-tit.small {
   font-size: 22px;
 }
 .zw-tit.small {
   font-size: 22px;
   margin: 20px 0;
 }
 .line-title-box .en-tit span { font-size: 22px;}
 .line-title-box .ja-tit { font-size: 13px;}
 .copyright {
 	/* height: 18px; */
 	line-height: 18px;
 	font-size: 6px;
 }
}
.simple-btn span {
 display: inline-block;
 padding-bottom: .5em;
 line-height: 1.1;
 font-size: 14px;
 font-family: 'Marcellus', serif;
 font-weight: 400;
 position: relative;
}
.simple-btn span::after {
 content: "";
 width: 100%;
 height: 1px;
 background: #111;
 position: absolute;
 left: 0;
 bottom: 0;
 -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
      -o-transition: all .3s ease-in-out;
         transition: all .3s ease-in-out;
}
a:hover .simple-btn span::after { width: 0;}
.basic-btn {}
.basic-btn a {
 width: 360px;
 display: block;
 text-align: center;
 line-height: 65px;
 color: #FFF;
 background: #c2a991;
 position: relative;
}
.basic-btn a:hover {
 color: #c2a991;
 background: #FFF;
 box-shadow: 0 0 0 1px #c2a991 inset;
}
.basic-btn a span {
 line-height: 1;
 font-size: 14px;
}
.basic-btn a .en {
 font-family: 'Marcellus', serif;
 font-weight: 400;
}
.basic-btn a .ja { font-weight: 600;}
.basic-btn a i {
 font-size: 24px;
 position: absolute;
 top: 50%;
 right: 20px;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
}
#page-header .head-title + p { color: #5E5D5D;}
@media screen and (max-width: 1200px) {
 .simple-btn span { font-size: 12px;}
 .basic-btn a {
  width: 290px;
  line-height: 52px;
 }
 .basic-btn a span { font-size: 12px;}
 .basic-btn a i {
  font-size: 20px;
  right: 15px;
 }
}
@media screen and (max-width: 768px) {
 .basic-btn a { width: 235px;}
 .basic-btn a i { right: 10px;}
}

#page-header { padding: 180px 0 150px;}
#page-header .head-title { color: #111;}
#page-header .head-title h1 {
 line-height: 1.3;
 font-size: 18px;
 font-weight: 600;
}
#page-header .head-title .en-tit { margin-top: 0.335em;}
#page-header .head-title + p {
 margin-top: 2em;
 line-height: 2;
}

@media screen and (max-width: 1200px) {
 #page-header { padding: 130px 0 100px;}
 #page-header .head-title h1 { font-size: 16px;}
}
@media screen and (max-width: 768px) {
 #page-header { padding: 90px 0 70px;}
 #page-header .head-title h1 { font-size: 14px;}
 #page-header .head-title + p {
  font-size: 12px;
 }
}

.label-area {
 padding: 10px;
 line-height: 1;
 display: inline-block;
 color: #FFF;
 font-size: 15px;
 background: #c2a991;
 position: relative;
}
.label-area i {
 font-size: 20px;
 position: absolute;
 top: 50%;
 left: 7px;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
}
.label-area span {
 padding-left: 25px;
 font-size: 15px;
}
.trip-tag { line-height: 1.3;}
.trip-tag span {
 margin-right: 1em;
 color: #111;
 font-size: 13px;
 opacity: .5;
}
.back-to-index {
 margin-top: 150px;
 text-align: center;
}
.thumb-dest {
 display: flex;
 -webkit-align-items: center;
         align-items: center;
}
.thumb-dest figure {
 width: 44px;
 margin-right: 14px;
}
.thumb-dest figure img {
 -webkit-border-radius: 50%;
         border-radius: 50%;
}
.thumb-dest dl {}
.thumb-dest dl dt {
 letter-spacing: .14em;
 line-height: 1.1;
 font-family: 'Marcellus', serif;
 font-size: 10px;
 font-weight: 400;
}
.thumb-dest dl dd {
 margin-top: .5em;
 line-height: 1.5;
 font-size: 14px;
}
.back-to-index a {
 height: 150px;
 display: flex;
 -webkit-align-items: center;
         align-items: center;
 -webkit-justify-content: center;
         justify-content: center;
 color: #111;
 background: #F6F6F6;
}
.back-to-index a:hover {
 color: #FFF;
 background: #4A4A4A;
}
.back-to-index a i { font-size: 24px;}
.back-to-index a span { padding-left: .5em;}

.plan-list {
	width: 740px;
	margin: 0 auto;
}
.plan-list > li {
 position: relative;
 margin-bottom: 100px;
}
.plan-list>li .itm{
	padding: 40px;
 	background: #FFF;
}
.plan-list > li .plan-name {
 line-height: 1.5;
 color: #111;
 font-size: 30px;
 font-weight: 400;
 padding-left: 20px;
}
.plan-list>li .tips{
	font-size: 12px;
	color: #878787;
	line-height: 2em;
	margin: 42px 0;
}
.plan-list>li .link-btn a {
	display: block;
	text-align: center;
	line-height: 50px;
	color: #FFF;
	background: #c2a991;
	font-size: 18px;
}
.plan-list > li .plan-name + p {
 color: #111;
 font-size: 12px;
 font-weight: 600;
 padding-left: 20px;
}
.plan-list > li ul {
 margin: 20px 0 0;
 border-top: 2px solid #262626;
 border-bottom: 2px solid #262626;
}
.plan-list > li ul li {
 padding: .6em 20px;
 font-size: 14px;
 display: flex;
 color: #5E5D5D;
}
.plan-list>li ul li span {
	width: 155px;
	font-weight: bold;
	color: #000;
}
.plan-list > li ul li:not(:first-child) {
 background: url(../image/dotline.png) left top repeat-x;
 -webkit-background-size: 4px auto;
 -o-background-size: 4px auto;
 background-size: 4px auto;
}
.plan-list > li .price {
 margin-top: 25px;
 line-height: 0;
 display: flex;
 align-items: center;
 padding-left: 20px;
}
.plan-list > li .svg-price {
	width: 110px;
	margin-right: 20px;
}

.plan-list > li .badge {
 width: 90px;
 line-height: 0;
 position: absolute;
 top: 0;
 right: 0;
}
.hori {
 font-style: normal;
 -webkit-text-combine: horizontal;
 -ms-text-combine-horizontal: all;
 -moz-text-combine-upright: all;
 text-combine-upright: all;
}

@media screen and (max-width: 1200px) {
 .label-area {
  padding: 8px;
  font-size: 13px;
 }
 .label-area i {
  font-size: 16px;
  left: 6px;
 }
 .label-area span {
  padding-left: 18px;
  font-size: 13px;
 }
 .trip-tag span { font-size: 11px;}
 .thumb-dest figure {
  width: 36px;
  margin-right: 12px;
 }
 .thumb-dest dl dt { font-size: 9px;}
 .thumb-dest dl dd { font-size: 12px;}
 .back-to-index { margin-top: 120px;}
 .back-to-index a { height: 120px;}
 .back-to-index a i { font-size: 20px;}
 /* .plan-list > li { padding: 35px;} */
 .plan-list > li .plan-name { font-size: 24px;}
 .plan-list > li .plan-name + p { font-size: 10px;}
 .plan-list > li ul { margin: 15px 0 0;}
 .plan-list > li ul li { font-size: 12px; flex-wrap: wrap;    padding: .6em 0;}
 .plan-list > li .svg-price {
  width: 88px;
 }
 .plan-list > li .badge { width: 72px;}
}

@media screen and (max-width: 768px) {
 .label-area {
  padding: 6px;
  font-size: 12px;
 }
 .plan-list > li .price{
	 line-height: initial;
	 padding-left: 0;
 }
 .label-area i {
  font-size: 15px;
  left: 6px;top: 12px;
 }
 .label-area span {
  padding-left: 16px;
  font-size: 12px;
 }
 .trip-tag span {
  margin-right: .5em;
  font-size: 10px;
 }
 .back-to-index { margin-top: 90px;}
 .back-to-index a { height: 90px;}
 .plan-list { display: block;width: 100%;}
 .plan-list > li {
  width: 100%;
  padding: 0;
	margin-bottom: 40px;
 }
 .plan-list>li .itm { padding: 20px;}
 .plan-list > li:not(:first-child) { margin-top: 25px;}
 .plan-list>li ul li span{width: 100%;}
 .thumb-dest dl dt, .thumb-dest dl dd { font-size: 6px;}
 .thumb-dest figure{margin-right: 8px;}
 .thumb-dest dl{width: 70%;}
}

aside { background: #FFF;}
#links {
 padding: 80px 0;
 display: flex;
 -webkit-justify-content: center;
         justify-content: center;
}
#links .links-box {
 width: 50%;
 text-align: center;
 position: relative;
}
#links .links-box:not(:first-child)::before {
 content: "";
 width: 1px;
 height: 100%;
 background: #111;
 position: absolute;
 top: 0;
 left: 0;
}
#links .links-box a {
 padding: 35px;
 display: block;
}
#links .links-box a p { line-height: 1.75;}
#links .links-box a .sp-arrow { display: none;}


@media screen and (max-width: 1200px) {
 #links { padding: 60px 0;}
 #links .links-box {text-align: left;}
 #links .links-box a { padding: 35px;}
 #links .links-box a .en-tit { text-align: left;}
 #links .links-box a p br { display: none;}
}
@media screen and (max-width: 768px) {
 #links {
  width: 100vw;
  padding: 0;
  display: block;
 }
 #links .links-box {
  width: 100%;
  border-top: 1px solid #E8E8E8;
 }
 #links .links-box:not(:first-child) { margin-top: 0;}
 #links .links-box:not(:first-child)::before { content: none;}
 #links .links-box a {
  padding: 25px 6.0385vw 25px;
  position: relative;
 }
 #links .links-box a p {
  margin-top: 1em;
  font-size: 12px;
 }
 #links .links-box a p br { display: inline;}
 #links .links-box a .simple-btn { display: none;}
 #links .links-box a .sp-arrow {
  display: block;
  line-height: 0;
  position: absolute;
  top: 50%;
  right: 6.0385vw;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
 }
 #links .links-box a .sp-arrow i {
  color: #262626;
  font-size: 15px;
 }
}

#cta {}
#cta a {
 width: 100%;
 height: 300px;
 display: flex;
 -webkit-align-items: center;
         align-items: center;
 -webkit-justify-content: center;
         justify-content: center;
 color: #5E5D5D;
 background: #f0f0f0;
 position: relative;
 z-index: 100;
}
#cta a:hover { background: #ddd;}
#cta a .txt-wrap { text-align: center;}
#cta a .txt-wrap p {
 margin-bottom: .5em;
 line-height: 1.5;
 font-size: 16px;
}
#cta a .txt-wrap p .sp { display: none;}
#cta a .btn {
 width: 56px;
 height: 56px;
 display: block;
 background: #c2a991;
 -webkit-border-radius: 50%;
         border-radius: 50%;
 position: absolute;
 top: 50%;
 right: 3.5%;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
 -webkit-transition:  all .3s;
 -moz-transition:  all .3s;
 -o-transition:  all .3s;
 transition:  all .3s;
}
#cta a .btn i {
 line-height: 1;
 color: #fff;
 font-size: 24px;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-45%);
 -ms-transform: translateY(-50%) translateX(-45%);
 transform: translateY(-50%) translateX(-45%);
}

@media screen and (max-width: 1200px) {
 #cta a { height: 240px;}
 #cta a .txt-wrap p { font-size: 14px;}
 #cta a .btn {
  width: 46px;
  height: 46px;
 }
 #cta a .btn i { font-size: 19px;}
}
@media screen and (max-width: 768px) {
	#cta .zw-zt span{ display: block;}
 #cta a { height: 200px;}
 #cta a .txt-wrap { padding-bottom: 45px;}
 #cta a .txt-wrap p .pc { display: none;}
 #cta a .txt-wrap p .sp { display: inline;}
 #cta a .btn {
  width: 36px;
  height: 36px;
  top: auto;
  right: auto;
  bottom: 35px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
 }
 #cta a .btn i { font-size: 15px;}
}

.side-fix {
 position: fixed;
 top: 50%;
 right: -60px;
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 transform: translateY(-50%);
 z-index: 10;
 -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
     -ms-transition: all .3s ease-out;
      -o-transition: all .3s ease-out;
         transition: all .3s ease-out;
 opacity: 0;
}
.side-fix.active {
 right: 0;
 opacity: 1;
}
.side-fix a {
 width: 60px;
 height: 200px;
 display: block;
 text-align: center;
 color: #fff;
 background: #262626;
}
.side-fix a:hover { background: #4A4A4A;}
.side-fix a i {
 padding-top: 25px;
 display: block;
 font-size: 22px;
 line-height: 1;
}
.side-fix a span {
 padding-top: 1.5em;
 letter-spacing: .26em;
 font-size: 13px;
 font-feature-settings : normal;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
}

@media screen and (max-width: 1200px) {
 .side-fix a {
  width: 48px;
  height: 160px;
  right: -48px;
 }
 .side-fix a i {
  padding-top: 20px;
  font-size: 18px;
 }
 .side-fix a span { font-size: 11px;}
}
@media screen and (max-width: 768px) {
 .side-fix { display: none;}
}

#footer {
	padding: 80px 6vw;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	background-color:#c2a991;
	color: #fff;
	font-size: 16px;
	flex-wrap:wrap;
}
#footer .title{
  font-family: 'Marcellus', serif;
  font-size: 40px;
}
#footer .upr {
	width: 50%;
	position: relative;
	padding: 0 30px;
}
#footer .upr p{
  font-size: 14px;
}
#footer a { color: #fff ;}
#footer .upr .center-jst{
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin: 2.5em 0;
}
#footer .upr .code{
	width: 120px;
	margin-right: 20px;
}
#footer .upr .logo{
	width: 116px;
}
#footer .upr .link{
	height: 86px;
	width: auto;
}
#footer .link-list {
display: flex;
-webkit-align-items: center;
align-items: center;
margin-bottom: 2em;
font-size: 13px;
text-align: center;
}
#footer .link-list > div{
	margin-right: 50px;
	white-space: nowrap;
}
#footer .upr:not(:first-child)::before {
	content: "";
	width: 1px;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
}
#footer .out-link a{ padding-right: 30px;font-size: 14px;line-height: 34px;display: inline-block;}
#footer .fts24{ font-size: 24px;}
@media screen and (max-width: 1200px) {
	#footer .upr .link {
		height: 43px;
	}
	#footer .upr .code {
		width: 110px;
	}

	#footer .upr .logo {
		width: 106px;
	}
  #footer .title{
    font-family: 'Marcellus', serif;
    font-size: 30px;
  }
}
@media screen and (max-width: 768px) {
	#footer{font-size: 12px;}
	#footer .upr {
		width: 100%;
    margin-top: 10px;
	}
	#footer .upr:not(:first-child)::before {
		width: 0;
	}
	#footer .fts24{ font-size: 20px;}
	#footer .upr .code {
		width: 90px;
	}

	#footer .upr .logo {
		width: 92px;
	}
  #footer .title{
    font-family: 'Marcellus', serif;
    font-size: 26px;
  }
}

#campaign {
 position: fixed;
 right: 20px;
 bottom: 20px;
 z-index: 999;
}
#campaign.active { opacity: 1; }
#campaign .en-tit { display: none;}
#campaign a {
 width: 300px;
 display: block;
 position: relative;
 cursor: pointer;
}
#campaign a::before {
 content: "";
 width: 100%;
 height: 100%;
 -webkit-box-shadow: 0 0 0 2px #262626 inset;
         box-shadow: 0 0 0 2px #262626 inset;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 2;
 pointer-events: none;
}
#campaign a:hover { opacity: .8;}
#campaign .action-close { position: relative;}
#campaign .action-close .btn {
 width: 30px;
 height: 30px;
 margin: 0;
 padding: 0;
 cursor: pointer;
 -webkit-transition: background 0.4s ease-in-out;
 transition: background 0.4s ease-in-out;
 color: #fff;
 background: #262626;
 border-radius: 50%;
 position: absolute;
 top: -10px;
 right: -10px;
 z-index: 3;
}

#campaign .action-close .btn::before,
#campaign .action-close .btn::after {
 display: block;
 content: "";
 position: absolute;
 top: 50%;
 left: 50%;
 width: 14px;
 height: 1px;
 margin-left: -7px;
 background: #fff;
}
#campaign .action-close .btn::before {transform: rotate(-45deg);}
#campaign .action-close .btn::after {transform: rotate(45deg);}
/* checkbox 非表示 */
#campaign .add-control .checkbox { display: none;}
/* close button's control */
#campaign .add-control .action-close #close:checked ~ .btn { display: none;}
#campaign .add-control .action-close #close:checked ~ .box { display: none;}


@media screen and (max-width: 1200px){
 #campaign a { width: 250px;}
 #campaign .action-close .btn {
  width: 25px;
  height: 25px;
  top: -8px;
  right: -8px;
 }
 #campaign .action-close .btn::before,
 #campaign .action-close .btn::after {
  width: 12px;
  margin-left: -6px;
 }
}

@media screen and (max-width: 768px){
 #campaign {
  right: auto;
  bottom: 15px;
  left: 50%;
  margin-left: -125px;
  opacity: 0;
  -webkit-transition: .4s all;
     -moz-transition: .4s all;
      -ms-transition: .4s all;
       -o-transition: .4s all;
          transition: .4s all;
 }
 #campaign.active { opacity: 1;}
 #campaign a::before {
  -webkit-box-shadow: 0 0 0 1.5px #262626 inset;
          box-shadow: 0 0 0 1.5px #262626 inset;
 }
}

.remodal.camp-modal {
 width: 92vw;
 max-width: 960px;
 min-height: initial;
 padding: 80px 5%;
 -webkit-border-radius: 20px;
         border-radius: 20px;
 background: #FFF;
 z-index: 10000000000;
}
.remodal.camp-modal .camp-wrap {
 text-align: left;
 position: relative;
}
.remodal.camp-modal .camp-wrap .en-tit { font-size: 12px;}
.remodal.camp-modal .camp-wrap h3 {
 margin-top: .5em;
 line-height: 1.6;
 color: #111;
 font-size: 26px;
 font-weight: 600;
}
.remodal.camp-modal .camp-wrap .period {
 padding: 15px 30px;
 color: #FFF;
 background: #262626;
}
.remodal.camp-modal .camp-wrap .period span {
 font-size: 22px;
 font-weight: 600;
}
.remodal.camp-modal .camp-wrap .period small {
 display: block;
 font-size: 14px;
}
.remodal.camp-modal .camp-wrap .period + p {
 line-height: 2;
 text-align: justify;
}
.remodal.camp-modal .camp-wrap .period + p b {
 color: #FF0200;
 font-weight: 600;
}
.remodal.camp-modal .camp-wrap .detail b {
 display: block;
 line-height: 1.66;
 font-weight: 600;
}
.remodal.camp-modal .camp-wrap .detail small {
 margin-top: .5em;
 display: block;
 font-size: 14px;
}
.remodal.camp-modal .camp-wrap .txt-link {}
.remodal.camp-modal .camp-wrap .txt-link a {
 font-size: 14px;
 display: inline-block;
 color: #0971B3;
 border-bottom: 1px solid #0971B3;
}
.remodal.camp-modal .camp-wrap .txt-link a:hover {
 color: #262626;
 border-color: transparent;
}
.remodal.camp-modal .camp-wrap .txt-link a span {
 margin-right: .2em;
 display: inline-block;
 vertical-align: bottom;
 line-height: 1;
 font-size: 20px;
 -webkit-transform: translateY(-.2em);
 -ms-transform: translateY(-.2em);
 transform: translateY(-.2em);
}
.remodal.camp-modal .camp-wrap .guideline h4 {
 text-align: center;
 position: relative;
}
.remodal.camp-modal .camp-wrap .guideline h4::before {
 content: "";
 width: 100%;
 height: 1px;
 position: absolute;
 top: 50%;
 left: 0;
 background: #111;
 z-index: 0;
}
.remodal.camp-modal .camp-wrap .guideline h4 span {
 padding: 0 1em;
 background: #FFF;
 position: relative;
 z-index: 1;
}
.remodal.camp-modal .camp-wrap .guideline ul {}
.remodal.camp-modal .camp-wrap .guideline ul li { padding: 25px 0;}
.remodal.camp-modal .camp-wrap .guideline ul li:not(:last-child) { border-bottom: 1px solid #E0E0E0;}
.remodal.camp-modal .camp-wrap .guideline ul li b {
 display: block;
 line-height: 1.66;
 font-size: 18px;
 font-weight: 600;
}
.remodal.camp-modal .camp-wrap .guideline ul li span {
 margin-top: .25em;
 display: block;
 font-size: 13px;
}
.remodal.camp-modal .camp-wrap .btn-wrap {
 display: flex;
 -webkit-justify-content: space-between;
         justify-content: space-between;
}
.remodal.camp-modal .camp-wrap .btn-wrap .btn {
 width: 49%;
 text-align: center;
}
.remodal.camp-modal .camp-wrap .btn-wrap .btn a {
 display: block;
 line-height: 70px;
 font-weight: 600;
}
.remodal.camp-modal .camp-wrap .btn-wrap .btn.black a {
 color: #FFF;
 background: #FF0200;
 border: 1px solid #FF0200;
}
.remodal.camp-modal .camp-wrap .btn-wrap .btn.white a {
 color: #111;
 background: #FFF;
 border: 1px solid #262626;
}
.remodal.camp-modal .camp-wrap .btn-wrap .btn a:hover {
 color: #FFF !important;
 background: #262626 !important;
 border-color: #262626 !important;
}
.remodal.camp-modal .camp-wrap .close-txt {
 text-align: center;
 cursor: pointer;
}
.remodal.camp-modal .camp-wrap .close-txt span {
 padding-left: 22px;
 position: relative;
}
.remodal.camp-modal .camp-wrap .close-txt span::before,
.remodal.camp-modal .camp-wrap .close-txt span::after {
 content: "";
 width: 14px;
 height: 1px;
 background: #262626;
 position: absolute;
 top: 50%;
 left: 0;
}
.remodal.camp-modal .camp-wrap .close-txt span::before {transform: rotate(-45deg);}
.remodal.camp-modal .camp-wrap .close-txt span::after {transform: rotate(45deg);}
.remodal.camp-modal .close-btn {
 width: 60px;
 height: 60px;
 background: #262626;
 -webkit-border-radius: 50%;
         border-radius: 50%;
 position: absolute;
 right: 30px;
 top: 30px;
 cursor: pointer;
}
.remodal.camp-modal .close-btn::before,
.remodal.camp-modal .close-btn::after {
 content: "";
 width: 20px;
 height: 1px;
 margin-left: -10px;
 background: #FFF;
 position: absolute;
 top: 50%;
 left: 50%;
}
.remodal.camp-modal .close-btn::before {transform: rotate(-45deg);}
.remodal.camp-modal .close-btn::after {transform: rotate(45deg);}

@media screen and (max-width: 1200px){
 .remodal.camp-modal {
  padding: 60px 6.0385vw;
  -webkit-border-radius: 16px;
          border-radius: 16px;
 }
 .remodal.camp-modal .camp-wrap .en-tit { font-size: 10px;}
 .remodal.camp-modal .camp-wrap h3 { font-size: 20px;}
 .remodal.camp-modal .camp-wrap .period { padding: 12px 25px;}
 .remodal.camp-modal .camp-wrap .period span { font-size: 17px;}
 .remodal.camp-modal .camp-wrap .period small { font-size: 12px;}
 .remodal.camp-modal .camp-wrap .txt-link a { font-size: 12px;}
 .remodal.camp-modal .camp-wrap .txt-link a span {
  font-size: 16px;
  -webkit-transform: translateY(-.2em);
  -ms-transform: translateY(-.2em);
  transform: translateY(-.2em);
 }
 .remodal.camp-modal .camp-wrap .detail small { font-size: 12px;}
 .remodal.camp-modal .camp-wrap .guideline ul li { padding: 20px 0;}
 .remodal.camp-modal .camp-wrap .guideline ul li b { font-size: 15px;}
 .remodal.camp-modal .camp-wrap .guideline ul li span { font-size: 11px;}
 .remodal.camp-modal .camp-wrap .btn-wrap .btn a {line-height: 60px;}
 .remodal.camp-modal .camp-wrap .close-txt span { padding-left: 18px;}
 .remodal.camp-modal .camp-wrap .close-txt span::before,
 .remodal.camp-modal .camp-wrap .close-txt span::after { width: 12px;}
 .remodal.camp-modal .close-btn {
  width: 50px;
  height: 50px;
  right: 25px;
  top: 25px;
 }
 .remodal.camp-modal .close-btn::before,
 .remodal.camp-modal .close-btn::after {
  width: 16px;
  margin-left: -8px;
 }
}
@media screen and (max-width: 768px){
 .remodal.camp-modal {
  padding: 50px 6.0385vw;
  -webkit-border-radius: 12px;
          border-radius: 12px;
 }
 .remodal.camp-modal .camp-wrap .en-tit { font-size: 10px;}
 .remodal.camp-modal .camp-wrap h3 {
  text-align: justify;
  font-size: 18px;
 }
 .remodal.camp-modal .camp-wrap h3 br { display: none;}
 .remodal.camp-modal .camp-wrap .period { padding: 10px 15px;}
 .remodal.camp-modal .camp-wrap .period span { font-size: 14px;}
 .remodal.camp-modal .camp-wrap .period small { font-size: 10px;}
 .remodal.camp-modal .camp-wrap .period + p { font-size: 12px;}
 .remodal.camp-modal .camp-wrap .detail b { font-size: 12px;}
 .remodal.camp-modal .camp-wrap .detail small { font-size: 10px;}
 .remodal.camp-modal .camp-wrap .guideline ul li { padding: 15px 0;}
 .remodal.camp-modal .camp-wrap .guideline ul li b { font-size: 13px;}
 .remodal.camp-modal .camp-wrap .guideline ul li span { font-size: 10px;}
 .remodal.camp-modal .camp-wrap .btn-wrap { display: block;}
 .remodal.camp-modal .camp-wrap .btn-wrap .btn { width: 100%;}
 .remodal.camp-modal .camp-wrap .btn-wrap .btn:last-child { margin-top: 10px;}
 .remodal.camp-modal .camp-wrap .btn-wrap .btn a {line-height: 50px;}
 .remodal.camp-modal .close-btn {
  width: 34px;
  height: 34px;
  right: 15px;
  top: 15px;
 }
 .remodal.camp-modal .close-btn::before,
 .remodal.camp-modal .close-btn::after {
  width: 12px;
  margin-left: -6px;
 }
}

.loader {
 background: #FFF;
 height: 100%;
 left: 0;
 position: fixed;
 top: 0;
 width: 100%;
 z-index: 9999999999;
}

#trip-link {
  margin-top: 150px;
  padding: 150px 0;
  position: relative;
  width: 100%;
  background-image: url(../image/home/landscape.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  background-color: #c2a991;
}

#trip-link .trip-link-wrap {
	width: 87.923vw;
	max-width: 1344px;
	margin: 0 auto;
}

#trip-link .trip-link-wrap .title-box {
	color: #FFF;
}

#trip-link .trip-link-wrap .title-box .ja-tit {
	line-height: 1.3;
	font-size: 18px;
	font-weight: 600;
}

#trip-link .trip-link-wrap .title-box .en-tit {
	margin-top: .335em;
}

#trip-link .trip-link-wrap .title-box+p {
	line-height: 2.2;
	color: #FFF;
}

#trip-link .trip-link-wrap .basic-btn a {
	color: #000000;
	background: #FFF;
}

#trip-link .trip-link-wrap .basic-btn a:hover {
	opacity: .8;
	-webkit-box-shadow: none;
	box-shadow: none;
}

@media screen and (max-width: 1200px) {
	#trip-link {
		margin-top: 120px;
		padding: 120px 0;
	}

	#trip-link .trip-link-wrap .title-box .ja-tit {
		font-size: 16px;
	}

	#trip-link .trip-link-wrap .title-box .en-tit {
		margin-top: .335em;
	}

	#trip-link .trip-link-wrap .title-box+p {
		line-height: 2.2;
		color: #FFF;
	}

	#trip-link .trip-link-wrap .basic-btn a {
		color: #000;
		background: #FFF;
	}

	#trip-link .trip-link-wrap .basic-btn a:hover {
		opacity: .8;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
}

@media screen and (max-width: 768px) {
	#trip-link {
		padding: 70px 0;
	}

	#trip-link .trip-link-wrap .title-box {
		margin-bottom: 35px;
	}

	#trip-link .trip-link-wrap .title-box+p {
		text-align: justify;
		line-height: 2;
	}

	#trip-link .trip-link-wrap .title-box+p br {
		display: none;
	}
}
.back-top{
  height: 200px;
  text-align: center;
  background: rgba(237,237,237,0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #5E5D5D;
  cursor: pointer;
}
.back-top a { color: #5E5D5D; }
@media screen and (max-width: 1200px) {
  .back-top{
    height: 150px;
  }
}
@media screen and (max-width: 768px) {
  .back-top{
    height: 100px;
  }
}