@charset "utf-8";

/* header
------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
}

.is-animation {
  background: rgba(255, 255, 255, 1);
  -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  transition: .5s;
  height:70px;
}

@media screen and (max-width: 900px) {
.is-animation {
  height:50px;
}
}

#headerArea{
  width:100%;
  margin: 0 auto;
  padding:30px 25px 0;
  box-sizing: border-box;
  position: relative;
}

.is-animation #headerArea{
  box-sizing: border-box;
  padding:15px 25px;
}

@media only screen and  (max-width: 900px) {
#headerArea{
  width:100%;
  padding:15px 0;
}

.is-animation #headerArea{
  padding:15px 0;
}
}

/* logo */

header #logo{
  display:none;
}

.is-animation #logo{
  width:328px;
  height:44px;
  position: absolute;
  top: 13px;
  left: 25px;
  display:block;
  background-size:auto 44px;
  background-image: url(../images/common/header-logo.png);
}

.is-animation #logo a{
  width:328px;
  height:44px;
  text-decoration:none;
  display: block;
  text-indent:-9999px;
}

@media only screen and  (max-width: 1580px) {
.is-animation #logo{
  width:253px;
  height:34px;
  background-size:auto 34px;
  top: 17px;
  left: 15px;
}
.is-animation #logo a{
  width:253px;
  height:34px;
}
}

@media only screen and  (max-width: 900px) {
.is-animation #logo{
  width:253px;
  height:34px;
  background-size:auto 34px;
  top: 7px;
  left: 15px;
}
.is-animation #logo a{
  width:253px;
  height:34px;
}
}

#main_menu{
  width:100%;
  display:block;
  padding-right:80px;
  text-align: right;
  box-sizing: border-box;
  font-weight:400;
  font-family: 'Zen Old Mincho', serif;
}

@media only screen and  (max-width: 1580px) {
#main_menu{
  padding-right:50px;
}
}

@media only screen and  (max-width: 1150px) {
#main_menu{
  display:none;
}
}

#main_menu ul{
  text-align: right;
}

.is-animation #main_menu ul{
  margin-top:3px;
}

#main_menu li{
  text-shadow:1px 1px 1px #000;
  display:inline-block;
  vertical-align:middle;
  margin:0px 20px;
}

@media only screen and  (max-width: 1580px) {
#main_menu li{
  margin:0px 15px;
}
}

@media only screen and  (max-width: 1280px) {
#main_menu li{
  margin:0px 10px;
}
}

.is-animation #main_menu li{
  text-shadow:none;
}

#main_menu li a{
  text-decoration:none;
  color:#FFF;
  padding:5px 0;
}

.is-animation #main_menu li a{
  text-decoration:none;
  color:#000;
}

#main_menu li a:hover {  
  opacity: 0.7;
  text-decoration: none;
}

/* top_content
--------------------------------------- */
.top_content{
  width: 100%;
  height:100%;
  margin: 0 auto;
  position: relative;
  background-repeat: repeat-xy;
  background-image: url(../images/bg-lenga.webp);
  overflow:hidden;
}

.top_left{
  width: 32.5%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/bg-illust.png);
  background-color:#333A56;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 100%;
}

@media screen and (max-width: 900px) {
.top_left{
  width: 50%;
}
}

@media screen and (max-width: 568px) {
.top_left{
  width: 275px;
}
}

.top_topimg{
  width: 100%;
  position: relative;
}

#top-logo{
  width:150px;
  height:150px;
  display:block;
  position: absolute;
  top: 25px;
  left: 25px;
  background-size:auto 150px;
  background-image: url(../images/common/h-logo.webp);
  z-index:2;
}

#top-logo a{
  width:150px;
  height:150px;
  text-decoration:none;
  display: block;
  text-indent:-9999px;
}

@media only screen and  (max-width: 900px) {
#top-logo{
  width:253px;
  height:34px;
  background-size:auto 34px;
  top: 15px;
  left: 15px;
  background-image: url(../images/common/header-logo-w.webp);
}

#top-logo a{
  width:253px;
  height:34px;
}
}

@media only screen and  (max-width: 568px) {
#top-logo{
  top: 15px;
  left: 10px;
}
}

.top-main{
  position: absolute;
  top: 33%;
  left:9.5%;
  width:50%;
  color:#FFF;
}

@media only screen and  (max-width: 1580px) {
.top-main{
  left:5%;
}
}

@media only screen and  (max-width: 1280px) {
.top-main{
  left:5%;
  top: 35%;
}
}

@media only screen and  (max-width: 900px) {
.top-main{
  left:3%;
  top: initial;
  bottom: 5%;
  width:90%;
}
}

@media only screen and  (max-width: 568px) {
.top-main{
  bottom: 12px;
}
}

.top-main h1{
  z-index:2;
  color:#FFF;
  font-size:2.8em;
  font-weight:400;
  margin-bottom:5%;
  position: relative;
  font-family: 'Zen Antique', serif;
}

@media only screen and  (max-width: 1580px) {
.top-main h1{
  font-size:2.6em;
}
}

@media only screen and  (max-width: 1280px) {
.top-main h1{
  font-size:2.2em;
  margin-bottom:8%;
}
}

@media only screen and  (max-width: 900px) {
.top-main h1{
  font-size:2em;
  margin-bottom:70px;
}
}

@media only screen and  (max-width: 820px) {
.top-main h1{
  font-size:1.75em;
}
}

@media only screen and  (max-width: 568px) {
.top-main h1{
  font-size:1.45em;
  margin-bottom:40px;
}
}

.top-main p{
  font-family: Roboto,sans-serif;
  font-weight:400;
  display:inline-block;
  margin:0 10px;
  z-index:2;
  position: relative;
}

.button-white_ghost_line{position:relative;text-decoration:none;overflow:hidden;letter-spacing:2px;z-index:1;transition:.3s}
.button-white_ghost_line{padding:15px 40px 15px 30px;border:1px solid #fff;color:#fff;line-height:1;letter-spacing:0.05em;}
.button-white_ghost_line:before{content:"";position:absolute;left:0;top:0;height:100%;width:0;z-index:-1;transition:.6s;background:#fff}
.button-white_ghost_line:hover{color:#fff;right:0;transition:.5s;border:1px solid #fff;color: #333A56;}
.button-white_ghost_line:hover:before{width:100%;transition:.5s;z-index:-1;background:#fff}
.button-white_ghost_line:hover:after{}


.top-main p a:after{
  font-family: 'FontAwesome';
  display: inline-block;
  font: normal normal normal 10px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  float: left;
  font-weight: normal;
  font-style: normal;
  background:#none;
}

.top-main p a:after {
  content: '\f105';
  margin-top: -8px;
  position: absolute;
  top: 50%;
  right: 15px;
}

@media only screen and  (max-width: 900px) {
.linkbt{
  display:inline-block;
  vertical-align:middle;
  margin-left:1%;
}
}

@media screen and (max-width: 568px) {
.linkbt{
  display:none;
}
}

.icon-bt{
  margin:5% 10px 0;
  z-index:2;
  position: relative;
}

@media only screen and  (max-width: 900px) {
.icon-bt{
  display:inline-block;
  vertical-align:middle;
  margin:0 10px 0;
}
}

.icon-bt .hdbt{
  display:inline-block;
  vertical-align:middle;
  margin:0px 15px;
  font-size:20px;
  line-height:1;
}

.icon-bt .insbt{
  display:inline-block;
  vertical-align:middle;
  margin:0px 15px;
  font-size:20px;
  line-height:1;
}

@media only screen and  (max-width: 900px) {
.icon-bt .hdbt,.icon-bt.insbt{
  margin:0px 12px;
}
}

.icon-bt li a{
  text-decoration:none;
  color:#FFF;
}

.icon-bt li a:hover {  
  opacity: 0.6;
  text-decoration: none;
}

.icon-bt .lines{
  width:26px;
  height:25px;
  display:inline-block;
  vertical-align:middle;
  margin:0px 15px;
  background-size:auto 25px;
  background-repeat: no-repeat;
  background-image: url(../images/common/line-logo.webp);
}

.icon-bt .lines:hover{
  opacity: 0.6;
  text-decoration: none;
}

@media only screen and  (max-width: 900px) {
.icon-bt .lines{
  margin:0 12px;
}
}

.icon-bt .lines a{
  width:26px;
  height:25px;
  text-decoration:none;
  display: block;
  text-indent:-9999px;
}

/* .top-info
================================================== */
.top-info {
  width: 100%;
  margin:0;
  padding:0;
  background-image: url(../images/bg.webp);
  background-repeat: repeat-xy;
}

.top-info .yashi{
  width: 100%;
  margin:0 auto;
  padding:5% 2% 4%;
  box-sizing: border-box;
  position: relative;
  text-align: center;
  background-image: url(../images/bg_yashi.webp);
  background-repeat: no-repeat;
  background-size: 100% auto;
}

@media screen and (max-width: 1280px) {
.top-info .yashi{
  padding:5% 0 4%;
}
}

@media screen and (max-width: 568px) {
.top-info .yashi{
  background-image: url(../images/bg_yashi_sp.webp);
  padding:7% 4% 6%;
}
}

.top-info h2{
  font-family: 'Zen Antique', serif;
  font-weight:400;
  font-size:2.2em;
  margin-bottom:40px;
  line-height:1.5;
}

@media screen and (max-width: 1280px) {
.top-info h2{
  font-size:1.8em;
}
}

@media screen and (max-width: 900px) {
.top-info h2{
  font-size:1.6em;
  margin-bottom:15px;
  line-height:1.5;
}
}

@media screen and (max-width: 568px) {
.top-info h2{
  font-size:1.3em;
  margin-bottom:10px;
  line-height:1.4;
}
}

.top-info p{
  letter-spacing:0em;
  line-height:2;
  margin-bottom:3%;
  font-size:1.1em;
  color:#000;
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
}

.top-info p span{
  color:#465C8B;
}

@media screen and (max-width: 1280px) {
.top-info p{
  font-size:1em;
  margin-bottom:2%;
}
}

@media screen and (max-width: 568px) {
.top-info p{
  text-align: left;
  line-height:1.8;
  font-size:0.95em;
}
}

/*top-photo
---------------------------------------------------------------------------*/
.top-photo {
  width:62%;
  margin: 0 0 0 30%;
  padding:15vh 0 10vh;
}

@media only screen and  (max-width: 1580px) {
.top-photo {
  width:67%;
  padding:12vh 0 8vh;
  margin: 0 0 0 28%;
}
}

@media screen and (max-width: 1280px) {
.top-photo {
  width:70%;
  margin: 0 0 0 25%;
}
}

@media screen and (max-width: 900px) {
.top-photo {
  width:90%;
  margin: 0 0 0 5%;
  padding:70px 0 85px;
}
}

@media screen and (max-width: 568px) {
.top-photo {
  width:100%;
  padding:70px 25px 50px;
  margin: 0;
  box-sizing: border-box;
}
}

.bx-wrapper {
  width: 100%;
  margin: 0 auto 0;
  position: relative;
  z-index:1;
  overflow:hidden;
}

#slider01{
  display:block;
}

@media screen and (max-width: 568px) {
#slider01 {
  display:none;
}
}

#slider01 li{
  position: relative;
  width: 100%;
}

#slider01 .sl{
  z-index:1;
  background-color: rgba(73, 22, 14, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#slider02{
  display:none;
}

@media screen and (max-width: 568px) {
#slider02 {
  display:block;
}
}

#slider02 li{
  position: relative;
  width: 100%;
}

#slider02 .sl{
  z-index:1;
  background-color: rgba(73, 22, 14, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bx-wrapper img {
  width: 100%;
  height:auto;
  position: relative;
  z-index:0;
}

/* PAGER */

.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .75em;
  font-weight: bold;
  color: #666;
  z-index:100;
  position: absolute;
  bottom: 1px;
  width:100%;
}

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}

.bx-wrapper .bx-controls-auto {
  display: none;
}

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #FFF;
  background: rgba(255, 255, 255, 0.6);
  text-indent: -9999px;
  display: block;
  width: 7px;
  height: 7px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}


.bx-wrapper .bx-pager {
  font-size: .7em;
  bottom: 0;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  width: 6px;
  height: 6px;
  margin: 0 4px;
}


.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #FFF;
}

/* DIRECTION CONTROLS (NEXT / PREV) */

.bx-wrapper .bx-prev:hover,.bx-wrapper .bx-next:hover {
  filter:alpha (opacity=80);
  -moz-opacity:0.80;
  opacity:0.80;
  background: #333a55;
}

.bx-wrapper .bx-controls-direction a.disabled {
  display: none;
}


.bx-wrapper .bx-prev {
 left: 10px;
}
.bx-wrapper .bx-next {
 right: 10px;
}

.bx-wrapper .bx-controls-direction a {
  position: absolute;
  top: 50%;
  margin-top: -25px;
  outline: 0;
  text-indent: -9999px;
  width: 50px;
  height: 50px;
  z-index: 99;
}
.bx-wrapper .bx-controls-direction a:before,
.bx-wrapper .bx-controls-direction a:after {
 content: '';
 position: absolute;
 top: 16px;
 left: 12px;
}
.bx-wrapper .bx-controls-direction a:after {
 width: 16px;
 height: 16px;
 border-top: 1px solid #fff;
 border-right: 1px solid #fff;
 transform: rotate(45deg);
}

.bx-wrapper .bx-controls-direction a.bx-prev:after {
 transform: rotate(-135deg);
 left: 20px;
}

.bx-wrapper .bx-prev {
 left: 5px;

}
.bx-wrapper .bx-next {
 right: 5px;
}
.bx-wrapper .bx-controls-direction a {
  position: absolute;
  margin-top: -15px;
  width: 30px;
  height: 30px;
}

.bx-wrapper .bx-controls-direction a:before,
.bx-wrapper .bx-controls-direction a:after {
 content: '';
 position: absolute;
 top: 10px;
 left: 7px;
}

.bx-wrapper .bx-controls-direction a:after {
 width: 10px;
 height: 10px;
}

.bx-wrapper .bx-controls-direction a.bx-prev:after {
 left: 12px;
}

.scroll{
  height: 200px;
  position: absolute;
  bottom: 10px;
  right: 25px;
}

@media screen and (max-width: 900px) {
.scroll{
  right: 15px;
  height: 180px;
}
}

@media screen and (max-width: 568px) {
.scroll{
  right: 10px;
}
}

.scrollbar-text{
  display: inline-block;
  position: absolute;
  bottom: 0;
  padding: 10px 10px 110px;
  color: #fff;
  font-size: 14px;
  font-family: serif;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  writing-mode: vertical-lr;
  left: 50%;
  transform: translateX(-50%);
  text-shadow:1px 1px 1px #000;
}

@media screen and (max-width: 900px) {
.scrollbar-text{
  font-size: 12px;
}
}

.scrollbar {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1px;
}

.scrollbar::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 100px;
  background: #fff;
  animation: liner 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes liner {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/* .other-info
================================================== */
.other-info {
  width: 100%;
  margin:0;
  padding:0 0 3%;
  background-image: url(../images/bg.webp);
  background-repeat: repeat-xy;
}

.bus-info {
  width: 100%;
  margin:0;
  padding:0 0 1%;
  background-image: url(../images/bg.webp);
  background-repeat: repeat-xy;
}

.sub-top-photo{
  width: 100%;
  margin:0 auto;
}

.sub-top-photo img{
  width: 100%;
  height:auto;
}

.sub-contents{
  width: 100%;
  margin:0 auto;
  padding:2% 0;
  position: relative;
  overflow: hidden;
}

.style-contents{
  width: 100%;
  margin:0 auto 5%;
  padding:0;
  position: relative;
}

.slrg-contents{
  width: 100%;
  position: relative;

}

.sub_ttl{
  height:135px;
  width:auto;
  min-width:135px;
  margin-bottom:30px;
  background-image: url(../images/bg-star.webp);
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: left top;
  margin-left:-65px;
}

@media screen and (max-width: 1280px) {
.sub_ttl{
  margin-left:-1%;
  height:100px;
  min-width:100px;
  margin-bottom:20px;
}
}

@media screen and (max-width: 568px) {
.sub_ttl{
  height:80px;
  min-width:80px;
  margin-bottom:10px;
}
}

.sub_ttl p{
  font-size:2em;
  line-height:1;
  padding-left:65px;
  padding-top:60px;
  font-family: 'Crimson Text', serif;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 1280px) {
.sub_ttl p{
  font-size:1.8em;
  padding-left:45px;
  padding-top:43px;
}
}

@media screen and (max-width: 568px) {
.sub_ttl p{
  font-size:1.6em;
  padding-left:40px;
  padding-top:33px;
}
}

.sb_syousai{
  padding:0 1.5%;
  box-sizing: border-box;
  width: 100%;
}

@media screen and (max-width: 568px) {
.sb_syousai{
  padding:0 4%;
}
}

.sub-contents h3{
  font-family: 'Zen Antique', serif;
  font-weight:400;
  font-size:2.2em;
  margin-bottom:30px;
  line-height:1.5;
}

@media screen and (max-width: 1280px) {
.sub-contents h3{
  font-size:1.8em;
  margin-bottom:15px;
}
}

@media screen and (max-width: 900px) {
.sub-contents h3{
  font-size:1.6em;
  margin-bottom:15px;
}
}

@media screen and (max-width: 568px) {
.sub-contents h3{
  font-size:1.3em;
  margin-bottom:5px;
  line-height:1.4;
}
}

.sub-contents .sb-txt{
  letter-spacing:0em;
  line-height:2;
  font-size:1.1em;
  color:#000;
  margin:15px 0;
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
}

.sub-contents .sb-txt2{
  letter-spacing:0em;
  line-height:2;
  font-size:1.1em;
  color:#000;
  margin:15px 0 15px 15px;
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
}

.sub-contents .sb-txt3{
  letter-spacing:0em;
  line-height:2;
  font-size:1.1em;
  color:#000;
  margin:15px 0 15px 15px;
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
}

@media screen and (max-width: 1280px) {
.sub-contents .sb-txt{
  line-height:1.8;
  font-size:1em;
  margin:10px 0;
}

.sub-contents .sb-txt2{
  line-height:1.8;
  font-size:1em;
  margin:10px 0 10px 10px;
}

.sub-contents .sb-txt3{
  line-height:1.8;
  font-size:1em;
  margin:10px 0;
}
}

@media screen and (max-width: 568px) {
.sub-contents .sb-txt{
  margin:10px 0;
  line-height:1.6;
  font-size:0.95em;
}

.sub-contents .sb-txt2{
  margin:10px 0;
  line-height:1.6;
  font-size:0.95em;
}


.sub-contents .sb-txt3{
  margin:10px 0;
  line-height:1.6;
  font-size:0.95em;
  padding:0 4%;
}
}

.scroll-infinity{
  padding:0;
}

@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  margin:1% auto;
}

.scroll-infinity__wrap img{
  width:100%;
  height:auto;
}

.sc-pc{display:block;}
.sc-sp{display:none;}

@media screen and (max-width: 450px) {
.sc-pc{display:none;}
.sc-sp{display:block;}
}


.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 1s both;
}
.scroll-infinity__item {
  width: calc(100vw / 4);
  padding:0 15px;
  box-sizing: border-box;
}

@media screen and (max-width: 1280px) {
.scroll-infinity__item {
  padding:0 10px;
}
}

@media screen and (max-width: 900px) {
.scroll-infinity__item {
  width: calc(100vw / 2.5);
  padding:0 8px;
}
}

@media screen and (max-width: 568px) {
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0s both;
}
.scroll-infinity__item {
  width: calc(100vw / 1.5);
  padding:0 5px;
}
}

.scroll-infinity__item>img {
  width: 100%;
  height:auto;
  display:block;
}

/* #topics
-------------------------------------------------- */
#topics{
  width:100%;
  text-align:center;
  margin:3% auto 0;
  max-width:1200px;
}

@media screen and (max-width: 820px) {
#topics{
  width:96%;
}
}

#topics .w30{
  width:30.333%;
  margin:2% 1% 0 1%;
  position: relative;
  display:inline-block;
  vertical-align:top;
}

@media screen and (max-width: 820px) {
#topics .w30{
  width:48%;
}
}

#topics .w30 .item{
  width: 100%;
  box-sizing: border-box;
}

#topics .w30 .item a{
  border-radius: 3px 3px 3px 3px;
  display:block;
}

#topics .w30 .item a:hover{
  opacity: 0.8;
}

#topics .w30 .item .tl_photo{
  width: 100%;
  height:auto;
  margin:0;
  position: relative;
  overflow: hidden;
  border-radius: 3px 3px 3px 3px;
}

#topics .w30 .item .tl_photo img{
  width: 100%;
  height:auto;
}

#topics .w30 .overlays{
  background: rgba(0, 0, 0, 0.2);
  width:100%;
  height:100%;
  position: absolute;
  top: 0;
  left: 0;
}

#topics .w30 .tl_title{
  position: absolute;
  bottom: 15px;
  left: 0;
  color: #FFF;
  display:inline-block;
  line-height:1;
  text-align:center;
  width:100%;
}

@media screen and (max-width: 568px) {
#topics .w30 .tl_title{
  line-height:1.2;
  bottom: 7px;
}
}

#topics .w30 .tl_title .ja{
  color: #FFF;
  font-size: 1.2em;
  font-weight:500;
  font-family: 'Noto Sans JP', sans-serif;
  margin-bottom:10px;
  text-shadow:1px 1px 1px #000;
}

@media screen and (max-width: 820px) {
#topics .w30 .tl_title .ja{
  font-size: 1.1em;
}
}

#topics .w30 .tl_title .en{
  color: #FFF;
  font-size: 0.9em;
  font-weight:400;
  font-family: 'Roboto', sans-serif;
  padding-left:10px;
  text-shadow:1px 1px 1px #000;
}

@media screen and (max-width: 568px) {
#topics .w30 .tl_title .ja{
  font-size: 1em;
}

#topics .w30 .tl_title .en{
  padding-left:0px;
}
}

#topics .w30 .ot_tx{
  padding:10px;
  color:#000;
  font-size:14px;
  text-align:left;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Helvetica,Arial,sans-serif;
}


@media screen and (max-width: 568px) {
#topics .w30 .ot_tx{
  font-size:13px;
  line-height:1.4;
  padding:7px 5px;
}
}

.sb_syousaiL{
  width: 60%;
  display: inline-block;
  vertical-align: top;
  padding:0 0 0 1.5%;
  box-sizing: border-box;
}

@media screen and (max-width: 1000px) {
.sb_syousaiL{
  width: 100%;
  display: block;
  padding:0 2%;
}
}

@media screen and (max-width: 568px) {
.sb_syousaiL{
  padding:0 4%;
}
}

.sb_photo{
  width: 40%;
  position: absolute;
  top: 0;
  right: 0;
}

@media screen and (max-width: 1580px) {
.sb_photo{
  width: 38%;
}
}

@media screen and (max-width: 1000px) {
.sb_photo{
  width: 100%;
  display: block;
  padding:3% 6% 0;
  position: relative;
  box-sizing: border-box;
}
}

@media screen and (max-width: 568px) {
.sb_photo{
  padding:3% 0 0;
}
}

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

/* news_contents
--------------------------------------- */
.news_left{
  width: 52%;
  height: 80%;
  position: absolute;
  top: 140px;
  left: 0;
  background-image: url(../images/bg-illust.png);
  background-color:#b1b6c8;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index:0;
}

@media screen and (max-width: 1580px) {
.news_left{
  width: 60%;
}
}

.news_right{
  width: 52%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../images/bg-illust.png);
  background-color:#e7e6d0;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index:0;
}

@media screen and (max-width: 1580px) {
.news_right{
  width: 60%;
}
}

.news_right22{
  width: 52%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../images/bg-illust.png);
  background-color:#e7e6d0;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index:0;
}

@media screen and (max-width: 1580px) {
.news_right22{
  width: 60%;
}
}

@media screen and (max-width: 568px) {
.news_right22{
  width: 60%;
  height: 98%;
}
}

.feature_contents{
  width: 100%;
  padding:2% 0;
  z-index:1;
  overflow: hidden;
  position: relative;
}

.news_contents{
  width: 100%;
  z-index:1;
  overflow: hidden;
  position: relative;
  margin-bottom:5%;
}

.insta{
  width:100%;
  max-width:1200px;
  display:block;
  box-sizing: border-box;
  padding:1% 1% 0;
  margin:0 auto;
}

@media (max-width: 820px) {
.insta{
  padding:1% 4% 0;
}
}

@media (max-width: 568px) {
.insta{
  padding:2%;
}
}

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

.insta li{
  background:#FFF;
  width:24%;
  margin:1% 0.5%;
  padding:5px;
  display:inline-block;
  vertical-align: top;
  box-sizing: border-box;
}

@media (max-width: 820px) {
.insta li{
  width:49%;
  margin:0.5%;
}
}

.card-wrapper {
  background: #fff;
  overflow:hidden;
}

.card-head {
  width: 100%;
  padding:3% 4%;
  box-sizing: border-box;
}

.card-head dt{
  width: 85%;
  text-align : left;
  display:inline-block;
  vertical-align: middle;
  line-height:1.4;
  font-family: 'Roboto', sans-serif;
  font-weight:400;
}
.elname{font-size:13px;font-weight:500;}
.elday{font-size:12px;color: #6E6E6E;margin-left:2px;}

.card-head dt a { color:#000;text-decoration:none; }
.card-head dt a:hover { color:#000;text-decoration:none; }

.card-head dd{
  width: 15%;
  text-align : right;
  display:inline-block;
  vertical-align: middle;
  font-size:1.3em;
}
.card-head dd a { color:#000;text-decoration:none; }
.card-head dd a:hover { color:#000;text-decoration:none; }

.card-image {
  width: 100%;
  display:block;
}

.card-image img {
  width: 100%;
  height:auto;
}

.card-image a:hover { opacity: 0.8; }

.card-info {
  padding: 10px;
  color:#333;
  text-align :left;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Helvetica,Arial,sans-serif;
}

@media (max-width: 810px) {
.card-info {
  padding: 7px;
}
}

.card-info a { color:#000;text-decoration:none; }
.card-info a:hover { color:#000;text-decoration:none; }

.card-info .nw_tl{
  font-size:14px;
  line-height:1.4;
  margin:10px 0;
  padding:0;
  display:block;
  font-weight:bold;
}

.card-info .nw_tx{
  font-size:13px;
  display:block;
  height:auto;
  word-wrap: break-word;
}

@media (max-width: 810px) {
.card-info .nw_tx{
  line-height:1.5;
  font-size:12px;
}
}

/* camp_slider
--------------------------------------- */
.feature_list{
  z-index:1;
  overflow: hidden;
  position: relative;
}

.camp_slider{
  padding:80px 0 2%;
  width:160%;
  overflow: visible;
}

@media screen and (max-width: 1880px) {
.camp_slider{
  width:155%;
}
}

@media screen and (max-width: 1780px) {
.camp_slider{
  width:145%;
}
}

@media screen and (max-width: 1680px) {
.camp_slider{
  width:140%;
}
}

@media screen and (max-width: 1580px) {
.camp_slider{
  width:135%;
}
}

@media screen and (max-width: 1480px) {
.camp_slider{
  width:130%;
}
}

@media screen and (max-width: 1380px) {
.camp_slider{
  width:125%;
}
}

@media screen and (max-width: 1280px) {
.camp_slider{
  width:120%;
}
}

@media screen and (max-width: 768px) {
.camp_slider{
  width:120%;
  padding:60px 0 0;
}
}


@media screen and (max-width: 480px) {
.camp_slider{
  width:170%;
}
}

.camp_slider .sl {
  margin:0 40px 0 20px;
  max-width:300px;
}

@media screen and (max-width: 1580px) {
.camp_slider .sl{
  margin:0 25px;
}
}

@media screen and (max-width: 1350px) {
.camp_slider .sl{
  margin:0 20px;
}
}

@media screen and (max-width: 1280px) {
.camp_slider .sl{
  margin:0 25px;
}
}

@media screen and (max-width: 1100px) {
.camp_slider .sl{
  margin:0 20px;
}
}

@media screen and (max-width: 568px) {
.camp_slider .sl{
  margin:0 15px;
}
}


.slide-arrows{
  position: absolute;
  top: -60px;
  left:40%;
  cursor: pointer;
}

@media screen and (max-width: 568px) {
.slide-arrows{
  top: -50px;
  left:40%;
}
}

@media screen and (max-width: 480px) {
.slide-arrows{
  left:30%;
  right:initial;
  top: -45px;
}
}

.slide-arrows:hover { opacity: 0.7;}

.prev-arrows{
  margin-left:0;
  display: block;
  width: 40px;
  height: 40px;
}

.next-arrows{
  margin-left:50px;
  display: block;
  width: 40px;
  height: 40px;
}


@media screen and (max-width: 568px) {
.prev-arrows{
  margin-left:0;
  display: block;
  width: 30px;
  height: 30px;

}
.next-arrows{
  margin-left:45px;
  display: block;
  width: 30px;
  height: 30px;
}
}

@media screen and (max-width: 480px) {
.next-arrows{
  margin-left:35px;
  right:initial;
}
}

.camp_slider .item {
  width: 100%;
  box-sizing: border-box;
  position: relative;
}

.tok-photo {
  width:100%;
  position: relative;
  z-index:1;
  margin-bottom:-15px;
  overflow: hidden;
}

.tok-photo img{
  width:100%;
  height:auto;
  display:block;
}

.camp_slider .item img {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  -webkit-transition: -webkit-transform 400ms;
  transition: transform 400ms;
}

.camp_slider .item:hover img {
  -webkit-transform: scale3d(1.1, 1.1, 1);
  transform: scale3d(1.1, 1.1, 1);
}

.tok_title{
  margin: 0 0 5px 0;
  color: #FFF;
  background:#333A56;
  display:inline-block;
  line-height:1;
  text-align:left;
  padding:9px 10px 7px;
  position: relative;
  z-index:2;
  font-size:14px;
  font-family: 'Crimson Text', serif;
  font-family: 'Roboto', sans-serif;
  letter-spacing: 0.02em;
}

@media screen and (max-width: 568px) {
.tok_title{
  line-height:1.2;
  font-size:13px;
}
}

.tok_ttl{
  font-size:1.1em;
  color:#475f6c;
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight:500;
  padding:10px 0 5px;
  line-height:1.5;
}


@media screen and (max-width: 568px) {
.tok_ttl{
  font-size:1em;
  padding:5px 0 5px;
}
}

.tok_txt{
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Helvetica,Arial,sans-serif;
  padding: 5px 0;
  color: #000;
  font-size:13px;
}

.camp_slider .sl a{
  display:block;
}

.camp_slider .sl a:hover{
  opacity: 0.8;
}

/* youtube-box
================================================== */
#youtube-box{
  padding:3% 0;
  margin:0 auto;
  width:100%;
  background-image: url(../images/bg.webp);
  background-repeat: repeat-xy;
  position: relative;
}

@media screen and (max-width: 810px) {
#youtube-box{
  padding:0;
}
}

.wakunori{
  margin:0 auto;
  width:100%;
  max-width:1200px;
  box-sizing: border-box;
  padding:0 2%;
  position: relative;
  z-index:2;
}

@media screen and (max-width: 810px) {
.wakunori{
  padding:4% 0 5%;
}
}

@media screen and (max-width: 568px) {
.wakunori{
  padding:3% 0 6%;
}
}

.tube-ttl{
  font-family: 'Zen Antique', serif;
  font-weight:400;
  font-size:1.7em;
  color:#475f6c;
  text-align:left;
  padding:0 5px 20px;
}

@media screen and (max-width: 1280px) {
.tube-ttl{
  font-size:1.6em;
  padding-left:2%;
}
}

@media screen and (max-width: 900px) {
.tube-ttl{
  text-align:center;
}
}

@media screen and (max-width: 568px) {
.tube-ttl{
  font-size:1.15em;
  margin-bottom:0;
  padding:0 5px 15px;
}
}

.tube-movie{
  width:50%;
  display:inline-block;
  vertical-align:middle;
}

@media screen and (max-width: 1280px) {
.tube-movie{
  box-sizing: border-box;
  padding-left:2%;
}
}

@media screen and (max-width: 820px) {
.tube-movie{
  width:100%;
  display:block;
  box-sizing: border-box;
  padding:0 5%;
}
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}

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

.youtube:hover { opacity: 0.7;}

.youtube iframe {
  width: 100%;
  height: 100%;
}

.tube-text{
  width:50%;
  display:inline-block;
  vertical-align:middle;
  font-size:0.95em;
  box-sizing: border-box;
  padding-left:3%;
  text-align:left;
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
}

@media screen and (max-width: 1280px) {
.tube-text{
  box-sizing: border-box;
  padding-right:2%;
}
}

@media screen and (max-width: 820px) {
.tube-text{
  width:100%;
  display:block;
  padding: 2% 6% 0;
  font-size:14px;
}
}

.mvttl{
  font-weight:400;
  font-size:1.1em;
  margin-bottom:15px;
  color:#000;
  line-height:1.8;
}

@media screen and (max-width: 810px) {
.mvttl{
  font-size:16px;
  margin-bottom:10px;
  line-height:1.6;
}
}

.yttx{
  font-size:14px;
  color:#000;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',Helvetica,Arial,sans-serif;
}

@media screen and (max-width: 568px) {
.yttx{
  font-size:13px;
}
}


/* earea-info
================================================== */
.earea-info{
  padding:5% 0 5%;
  margin:0 auto;
  width:100%;
  background-image: url(../images/bg.webp);
  background-repeat: repeat-xy;
  overflow: hidden;
}

.earea-info h4{
  font-weight:400;
  font-size:2.2em;
  margin-bottom:30px;
  line-height:1.5;
  font-family: 'Zen Antique', serif;
}

@media screen and (max-width: 1280px) {
.earea-info h4{
  font-size:1.8em;
  margin-bottom:15px;
}
}

@media screen and (max-width: 900px) {
.earea-info h4{
  font-size:1.6em;
  margin-bottom:15px;
}
}

@media screen and (max-width: 568px) {
.earea-info h4{
  font-size:1.3em;
  margin-bottom:5px;
  line-height:1.4;
}
}

.earea-info .sb-txt{
  letter-spacing:0em;
  line-height:2;
  font-size:1.1em;
  color:#000;
  margin:15px 0;
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
}

@media screen and (max-width: 1280px) {
.earea-info .sb-txt{
  font-size:1em;
}
}

@media screen and (max-width: 568px) {
.earea-info .sb-txt{
  margin:10px 0;
  line-height:1.8;
  font-size:0.95em;
}
}

.earea-info .sb-txt2{
  letter-spacing:0em;
  line-height:2;
  font-size:1.1em;
  color:#000;
  margin:15px 0;
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
}

@media screen and (max-width: 1280px) {
.earea-info .sb-txt2{
  font-size:1em;
}
}

@media screen and (max-width: 568px) {
.earea-info .sb-txt2{
  margin:15px 0 0;
  line-height:1.6;
  font-size:0.95em;
  padding:0 4%;
}
}

/* .area_box
-------------------------------------------------- */
.area_box{
  padding:3% 2% 2%;
  width:100%;
  box-sizing: border-box;
}

@media screen and (max-width: 568px) {
.area_box{
  padding:3% 0 2%;
}
}

.area_box .map{
  width:50%;
  vertical-align:top;
  display:inline-block;
  margin:2% 0 0 0;
}

@media screen and (max-width: 810px) {
.area_box .map{
  width:90%;
  max-width:527px;
  margin:0 auto 3%;
}
}

@media screen and (max-width: 568px) {
.area_box .map{
  width:94%;
  display:block;
  margin:0 auto 20px;
}
}

.area_box .map img{
  width:100%;
  max-width:527px;
  height:auto;
}

.area_box .are_text{
  width:100%;
  margin: 0 0 2%;
  text-align:center;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight:400;
  color:#464644;
  line-height:1.8;
}

.area_box ul{
  width:50%;
  display:inline-block;
  vertical-align:top;
  margin:0 0 5%;
  box-sizing: border-box;
  padding-left:5%;
  text-align:center;
}

@media screen and (max-width: 810px) {
.area_box ul{
  width:100%;
  padding-left:0;
  margin:15px 0 2%;
}
}

@media screen and (max-width: 568px) {
.smhide{
  display:none!important;
}
}

.area_box li{
  width:46%;
  display:inline-block;
  vertical-align:top;
  margin:1% 1.5%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight:400;
  color:#464644;
  font-size: 1em;
  text-align:left;
}

@media screen and (max-width: 1280px) {
.area_box li{
  font-size: 0.95em;
}
}

@media screen and (max-width: 568px) {
.area_box li{
  width:47%;
  margin:1.5%;
}
}

.area_ph{
  width:100%;
  box-sizing: border-box;
  position: relative;
  z-index:1;
  margin-bottom:-15px;
  overflow: hidden;
}

.go-tx{
  text-align:left;
  padding:3px 10px 3px;
  position: relative;
  font-size:13px;
  color:#FFF;
  background:#53658d;
  z-index:2;
  letter-spacing:0.05em;
  margin: 0 0 10px 0;
  display:inline-block;
}

.go-tx .fa{
  margin-right:3px;
}

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

.area_box .actx{
  text-align:center;
  line-height:1.6;
}

.are-buttons{
  margin-top:3%;
  font-weight:400;
  font-family: 'Noto Sans JP', sans-serif;
}

@media screen and (max-width: 1280px) {
.are-buttons{
  margin-bottom:3%;
}
}


@media screen and (max-width: 820px) {
.are-buttons{
  text-align:center;
  margin-left:auto;
}
}

@media screen and (max-width: 568px) {
.are-buttons{
  margin-top:20px;
  margin-bottom:15px;
  font-size:14px;
}
}

.are-button{border:none;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}
.are-button.c-button--ghost{display:inline-table;padding:10px 20px;border:2px solid #53658d;color:#FFF;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-transition-duration:0.2s;-o-transition-duration:0.2s;-webkit-transition-duration:0.2s;transition-duration:0.2s}
.are-button.c-button--ghost:hover{border:2px solid #53658d;}
.are-buttons a{text-decoration:none;background-color:#53658d;}
.are-buttons a:hover{text-decoration:none;display:inline-table;color:#53658d;background-color:#FFF;text-shadow:none;}
