@charset "utf-8";
/* レイアウトのためのCSS */
*,
::before,
::after,
body {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

ul,
ol {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  list-style: none;
}

a {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color: inherit;
  text-decoration: none;
}

.header{
  left: 0;
  top: 0;
  width: 100%;
}
.header_inner {
  position: relative;
  padding: 25px;
}
.logo{
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px 15px;
}
.title{
  margin-top: 4px;
  font-size: 1rem;
  font-weight: 400;
}

#container {
  background-image: url(/images/index-background.png);
  margin: 0;
  padding: 0;
  width: 100%;
  background-repeat: repeat-y;
  background-size: cover;
}

/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 999;
    background:#DEAE2C;
    text-align:center;
    color:#fff;
  }
  
  /* Loading画像中央配置　*/
  #splash_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  /* Loading アイコンの大きさ設定　*/
  #splash_logo img {
    width:260px;
  }
  
  /* fadeUpをするアイコンの動き */
  .fadeUp{
  animation-name: fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity: 0;
  font-size: 1.5rem;
  }
  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }

/* header固定のため余白をつける。メニューのCSSには関係ない */


@media only screen and (max-width: 768px) {
  .nav {
    position: fixed;
    right: -320px; /* 右から出てくる */
    top: 0;
    width: 300px; /* スマホに収まるサイズ */
    height: 100vh;
    padding-top: 60px;
    background-color: #fff;
    transition: all .6s;
    z-index: 200;
    overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  }
  .hamburger {
    position: absolute;
    right: 15px;
    top: 8px;
    width: 40px; /* クリックしやすい幅 */
    height: 40px; /* クリックしやすい高さ */
    cursor: pointer;
    z-index: 300;
  }
  .nav_list {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .nav_item {
    text-align: center;
    padding: 0 14px;
    font-size: 0.8rem;
  }
  .nav_item a {
    display: block;
    padding: 8px 0;
    border-bottom: 1px solid #333;
    text-decoration: none;
    color: #333;
  }
  .nav_item a:hover {
    background-color: #eee;
  }
  .hamburger_border {
    position: absolute;
    left: 11px;
    width: 18px;
    height: 2px;
    background-color: #333;
    transition: all .6s;
  }
  .hamburger_border_top {
    top: 14px;
  }
  .hamburger_border_center {
    top: 20px;
  }
  .hamburger_border_bottom {
    top: 26px;
  }
  .black_bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    background-color: #333;
    opacity: 0;
    visibility: hidden;
    transition: all .6s;
    cursor: pointer;
  }

  /* 表示された時用のCSS */
  .nav-open .nav {
    right: 0;
  }
  .nav-open .black_bg {
    opacity: .8;
    visibility: visible;
  }
  .nav-open .hamburger_border_top {
    transform: rotate(45deg);
    top: 20px;
  }
  .nav-open .hamburger_border_center {
    width: 0;
    left: 50%;
  }
  .nav-open .hamburger_border_bottom {
    transform: rotate(-45deg);
    top: 20px;
  }

}/* sp */

@media only screen and (min-width: 769px) {
  .header_inner{
    max-width: 980px;
    width: 100%;
    padding: 15px 30px;
    margin-left: auto;
    margin-right: auto;
  }
  .logo{
    padding: 12px 30px;
  }
  .nav_list{
    text-align: right;
  }
  .nav_list li{
    display: inline-block;
    text-align: right;
    padding-left: 20px;
    font-size: 1rem;
  }
  .nav_list li a{
    color: #333;
    font-weight: 400;
  }

}/* pc */

.blank{
  height: 3px;
  background-color: #DEAE2C;
}

.blank1{
  height: 22px;
  background-color: #DEAE2C;
}

/* 全体設定 */
.css-carousel-slider4 {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.css-carousel-slider4 img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

/* スライド設定 */
.css-carousel-slider4 .slide-wrap {
  width: 400%;
  position: absolute;
  display: flex;
  top: 0;
  left: 0;
  z-index: 0;
  animation: css-carousel-slider4 20s infinite;
  animation-delay: 2s;
}
.css-carousel-slider4 .slide-wrap-main {
  width: 100%;
  z-index: 1;
  animation: css-carousel-slider-main4 20s infinite;
  animation-delay: 2s;
}
.css-carousel-slider4 .slide {
  width: 100%;
}

/* スライダーアニメーションの設定 */
@keyframes css-carousel-slider4 {
  0% { transform: translateX(0); }

  20% { transform: translateX(calc(1 / 4 * -100%)); }
  25% { transform: translateX(calc(1 / 4 * -100%)); }

  45% { transform: translateX(calc(2 / 4 * -100%)); }
  50% { transform: translateX(calc(2 / 4 * -100%)); }

  70% { transform: translateX(calc(3 / 4 * -100%)); }
  75% { transform: translateX(calc(3 / 4 * -100%)); }

  95% { transform: translateX(calc(4 / 4 * -100%)); }
  100% { transform: translateX(calc(4 / 4 * -100%)); }
}

@keyframes css-carousel-slider-main4 {
  0% { transform: translateX(100%); }
  75% { transform: translateX(100%); }
  95% { transform: translateX(0%);}
}

#topics h2{
  font-size: 1.5rem;
  text-align: left;
}

#topics{
  border-left:3px solid #000;
  padding: 0 0 0 20px;
  margin-top: 3%;
  margin-bottom: 3%;
  margin-left: 10%;
  margin-right: 10%;
}

@media screen and (max-width:768px) {
  #topics{
  margin-top: 3%;
  margin-bottom: 3%;
  margin-left: 5%;
  margin-right: 5%;
}
}

@media screen and (max-width: 641px) {
  #topics{
    margin-top: 5%;
    margin-bottom: 0%;
  }

  #topics h2{
    font-size: 16px;
  }
}

.slider-1 li {
  font-size: 0.8rem;
}


.footer-nav_item1 {
  background-image: url(/images/footer-background1.png);
  background-size: cover;
  width:100%;
  padding-top: 50px;    
  padding-bottom: 50px;
  padding-right: 5%;
}
.footer-nav_item2 {
  background-image: url(/images/footer-background2.png);
  background-size: cover;
  width:100%;
  padding-top: 50px;    
  padding-bottom: 50px;   
  padding-left: 5%; 
}

.footer-nav_item2 li,
.footer-nav_item4 li {
margin-left: 2px;
}
.footer-nav_item3 {
  background-image: url(/images/footer-background3.png);
  background-size: cover;
  width:100%;
  padding-top: 50px;    
  padding-bottom: 50px;  
  padding-right: 5%;  
}
.footer-nav_item4 {
  background-image: url(/images/footer-background4.png);
  background-size: cover;
  width:100%;
  padding-top: 50px;    
  padding-bottom: 50px;    
  padding-left: 5%; 
}

.reverce1,
.reverce2 {
  display: flex;
  justify-content: flex-end;
}


/* READ MORE ボタン */
.btn-6 {
  background: #000;
 color: #fff;
 line-height: 30px;
 margin: 3px;
 margin-top: 10px;
 padding: 0;
 border: none;
 position: relative;
}
.btn-6 span {
 position: relative;
 display: block;
 width: 100%;
 height: 100%;
}
.btn-6:before,
.btn-6:after {
 position: absolute;
 height: 0%;
 width: 2px;
 background: #000;
}
.btn-6:before {
 right: 0;
 top: 0;
 transition: all 500ms ease;
}
.btn-6:after {
 left: 0;
 bottom: 0;
 transition: all 500ms ease;
}
.btn-6:hover{
 color: #000;
 background: transparent;
}
.btn-6:hover:before {
 transition: all 500ms ease;
 height: 100%;
}
.btn-6:hover:after {
 transition: all 500ms ease;
 height: 100%;
}
.btn-6 span:before,
.btn-6 span:after {
 position: absolute;
 background: #000;
}
.btn-6 span:before {
 left: 0;
 top: 0;
 width: 0%;
 height: 2px;
 transition: all 500ms ease;
}
.btn-6 span:after {
 right: 0;
 bottom: 0;
 width: 0%;
 height: 2px;
 transition: all 500ms ease;
}
.btn-6 span:hover:before {
 width: 100%;
}
.btn-6 span:hover:after {
 width: 100%;
}
/* READ MORE ボタン　ここまで */