@charset "UTF-8";



/* # =================================================================
# animetion/common
# ================================================================= */

/*========= 表示・非表示 ===============*/

.pc { display: block !important; }
.sp { display: none !important; }

/*スマホ*/
@media screen and (max-width:767px){
.pc { display: none !important; }
.sp { display: block !important; }
}

/*========= ふわっとフェードイン ===============*/

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.8s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*========= テキストシャドウ ===============*/

.txt__shade__kurenaido{
    color:#fff;
    font-family: 'Zen Kurenaido', sans-serif;
    text-align: center;
    text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}

.txt__shade__nomal{
    color:#fff;
    text-align: center;
    text-shadow: 2px 2px 3px rgba(0,0,0,0.3);
}


/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
  overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
  display: inline-block;

}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name:slideTextX100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
  transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name:slideTextX-100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
  transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
  transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

/*========= 表示するテキストが切り替わるボタン ===============*/


/**********赤バージョン************/

.btntextchange_red{
  /*テキストの基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  border: 1px solid #e60012;
  border-radius:7px;
  min-width:210px;
  padding: 20px;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  color: #ffffff;
  outline: none;
  background-color: #e60012;
  /*アニメーションの指定*/
  transition: all .2s;
  font-size: 1.4vw;
}

/*hoverした際の変化*/
.btntextchange_red:hover{
  background:#e60012;
  color:#fff;
}

.btntextchange_red span{
    /*絶対配置でテキストの位置を決める*/
  position: absolute;
  left: 50%;
  top:50%;
    transform:translate(-50%,-50%);
    /*アニメーションの指定*/
    transition: all .5s;
  /*ブロック要素にしてテキスト折り返しなし*/  
  display: block;
  white-space: nowrap;
}

/*差し替わるテキストの設定*/
.btntextchange_red span:nth-child(2){
  opacity:0;/*透過0に*/
}

/*hoverするとテキストが入れ替わる設定*/
.btntextchange_red:hover span:nth-child(1){
  opacity:0;/*透過0に*/
}

.btntextchange_red:hover span:nth-child(2){
  opacity:1;/*不透明に*/
}

/**スマートフォン**/
@media screen and (max-width: 767px) {
.btntextchange_red{
  font-size: 1.4rem;
}
}

/**********白バージョン************/
.btntextchange_wht{
  /*テキストの基点とするためrelativeを指定*/
  position: relative;
  /*ボタンの形状*/
  border: 1px solid #fff;
  border-radius:7px;
  min-width:210px;
  padding: 20px;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  color: #e60012;
  outline: none;
  background-color: #fff;
  /*アニメーションの指定*/
  transition: all .2s;
  font-size: 1.4vw;
}

/*hoverした際の変化*/
.btntextchange_wht:hover{
  background:#fff;
  color:#e60012;
}

.btntextchange_wht span{
    /*絶対配置でテキストの位置を決める*/
  position: absolute;
  left: 50%;
  top:50%;
    transform:translate(-50%,-50%);
    /*アニメーションの指定*/
    transition: all .5s;
  /*ブロック要素にしてテキスト折り返しなし*/  
  display: block;
  white-space: nowrap;
}

/*差し替わるテキストの設定*/
.btntextchange_wht span:nth-child(2){
  opacity:0;/*透過0に*/
}

/*hoverするとテキストが入れ替わる設定*/
.btntextchange_wht:hover span:nth-child(1){
  opacity:0;/*透過0に*/
}

.btntextchange_wht:hover span:nth-child(2){
  opacity:1;/*不透明に*/
}

/**スマートフォン**/
@media screen and (max-width: 767px) {
.btntextchange_wht{
  font-size: 1.4rem;
}
}


/*========= 押すと平面に切り替わるボタン ===============*/


.btn03{
    /*影の基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  text-align: center;
  background: transparent;
  border-radius: 30px;
  border: solid 1px #e60012;
  outline: none;
    /*アニメーションの指定*/
  transition: all 0.2s ease;
  font-size: 1.6rem;
  margin: 2% 0;
  width: 50%;
}

/*hoverをした後のボタンの形状*/
.btn03:hover{
  border-color:transparent; 
}

/*ボタンの中のテキスト*/
.btn03 span {
  position: relative;
  z-index: 2;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
    /*テキストの形状*/
  display: block;
  padding: 10px 30px;
  background:#e60012;
  border-radius: 30px;
  color:#fff;
    /*アニメーションの指定*/
    transition: all 0.3s ease;
}

/**タブレット**/
@media screen and (max-width: 960px) {
}

/**スマートフォン**/
@media screen and (max-width: 767px) {
.btn03{
  font-size: 1.4rem;
  width: 80%;
}
}

/**iphone SE**/
@media screen and (max-width: 360px) {
}

/*== 7-1-17　左下に押し込まれる（立体が平面に） */

/*影の設定*/
.pushleft:before {
    content: "";
    /*絶対配置で影の位置を決める*/
    position: absolute;
  z-index: 1;
    top: 6px;
    right: 6px;
    /*影の形状*/
    width: 100%;
    height: 100%;
    border-radius: 30px;
    background-color: #990033;
}

/*hoverの際にX軸に-4px・Y軸に4pxずらす*/
.pushleft:hover span {
  background-color: #fff;
  color: #e60012;
  transform: translate(-6px, 6px);
}


/*========= ページスクロール ===============*/

/*スクロールリンクの形状*/
.scroll-top {
  /*表示位置*/
  position: fixed;
  right: 20px;
  bottom: 30px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  visibility: hidden; 
  transition: opacity .5s, visibility .5s; /*それぞれに0.5秒の変化のアニメーション*/
  /*縦書き*/
  -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  /*改行禁止*/
    white-space: nowrap;
  /*矢印の動き*/
  animation: arrowmove 1s ease-in-out infinite;
}

@keyframes arrowmove{
      0%{bottom:20px;}
      50%{bottom:25px;}
     100%{bottom:20px;}
 }


/*.scroll-viewクラスがついたら出現*/
.scroll-top.scroll-view {
  opacity: 1;
  visibility: visible;
}

/*リンク全体の aタグの形状*/
.scroll-top a {
  text-decoration: none;
  color: #000;
  font-weight: bold;
  text-transform: uppercase;
  font-size:1.4rem;
  display: block;
}

/*スクロールリンクの形状*/

.js-scroll a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background:#000;
}

.js-scroll a::before {
    content: "";
    position: absolute;
    top: 30px;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #000;
    transform: skewX(-31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-scroll a::before{
  right:-11px;
}

/*ページトップリンクの形状*/

.js-pagetop a::after{
  content:"";
  position: absolute;
  top:0;
  right:0;
  width:1px;
  height: 50px;
  background:#000;
}

.js-pagetop a::before {
    content: "";
    position: absolute;
    top: 0;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #000;
    transform: skewX(31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-pagetop a::before{
  right:0;
}


/*========= ページ内共通ヘッダー ===============*/

.common-header{
    width: 100%;
    height: auto;
    background-image: url(../images/bg-common_header.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    margin: 80px 0 0 0;
    padding: 30px 20px;
    letter-spacing: 0.6rem;
}

.common-header h1{font-size: 3.0rem; margin: 0; padding: 10px; color: #fff; letter-spacing: 0.15em;}
.common-header h2{font-size: 1.8rem; margin: 0; padding: 0 10px 10px 10px; color: #fff; letter-spacing: 0.1em;}

/**タブレット**/
@media screen and (max-width: 960px) {
}

/**スマートフォン**/
@media screen and (max-width: 767px) {
.common-header{
    width: 100%;
    height: auto;
    background-image: url(../images/bg-common_header.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    margin: 80px 0 0 0;
    padding: 20px;
    letter-spacing: 0.6rem;
}

.common-header h1{font-size: 2.4rem; margin: 0; padding: 10px; color: #fff; letter-spacing: 0.15em; text-align: left;}
.common-header h2{font-size: 1.4rem; margin: 0; padding: 0 10px 10px 10px; color: #fff; letter-spacing: 0.1em; text-align: left;}
}

/**iphone SE**/
@media screen and (max-width: 360px) {
}


/*========= リスト内リンクボタン ===============*/

.linkbtn{
    width: auto;
    padding: 0 20px;
    background-color:#e60012;
    color: #fff;
    float: right;
    border-radius: 5px;
}

.linkbtn a{
    color: #fff;
    text-decoration: none;
}

.linkbtn a:hover{
    color: #fff;
    text-decoration: none;
    opacity: 0.7;
}


/*========= アンカーリンクずれ防止 ===============*/
a.jump_point {height: 1px;
display: block;
padding-top: 40px;
margin-top: -40px;
}

/*========= フォントサイズ ===============*/

.rem01{font-size: 1.0rem;}
.rem015{font-size: 1.5rem;}
.rem02{font-size: 2.0rem;}
.rem03{font-size: 3.0rem;}
.rem04{font-size: 4.0rem;}
.rem05{font-size: 5.0rem;}
.rem06{font-size: 6.0rem;}
.rem07{font-size: 7.0rem;}
.rem08{font-size: 8.0rem;}
.rem09{font-size: 9.0rem;}
.rem10{font-size: 10.0rem;}

.vw01{font-size: 1.0vw;}
.vw012{font-size: 1.2vw;}
.vw013{font-size: 1.3vw;}
.vw014{font-size: 1.4vw;}
.vw015{font-size: 1.5vw;}
.vw018{font-size: 1.8vw;}
.vw02{font-size: 2.0vw;}
.vw025{font-size: 2.5vw;}
.vw03{font-size: 3.0vw;}
.vw035{font-size: 3.5vw;}
.vw04{font-size: 4.0vw;}
.vw05{font-size: 5.0vw;}

.lh102{line-height: 1.2;}
.lh104{line-height: 1.4;}

.bold{font-weight: bold;}
.text-red{color: #e60012;}
.text-dred{color: #8d181e;}
.text-wht{color: #fff;}
.border-red{text-decoration: }
.alignleft{text-align: left;}

.clear{clear:borh;}

.pt5{padding-top: 5px;}
.pt10{padding-top: 10px;}
.pt15{padding-top: 15px;}
.pt20{padding-top: 20px;}
.pt30{padding-top: 30px;}
.pt40{padding-top: 40px;}
.pt50{padding-top: 50px;}
.pt55{padding-top: 55px;}
.pt60{padding-top: 60px;}
.pt65{padding-top: 65px;}
.pt70{padding-top: 70px;}
.pt80{padding-top: 80px;}
.pt90{padding-top: 90px;}
.pt100{padding-top: 100px;}
.pt150{padding-top: 150px;}

.pb5{padding-bottom: 5px;}
.pb10{padding-bottom: 10px;}
.pb15{padding-bottom: 15px;}
.pb20{padding-bottom: 20px;}
.pb30{padding-bottom: 30px;}
.pb40{padding-bottom: 40px;}
.pb50{padding-bottom: 50px;}
.pb55{padding-bottom: 55px;}
.pb60{padding-bottom: 60px;}
.pb65{padding-bottom: 65px;}
.pb70{padding-bottom: 70px;}
.pb80{padding-bottom: 80px;}
.pb90{padding-bottom: 90px;}
.pb100{padding-bottom: 100px;}

.slider-2 .slick-slide {
  width: 600px;
  height: 400px;
  margin: 0 40px;
  position: relative;
  overflow: hidden;
}
.slider-2 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-2 .slick-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 180px;
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.slider-2 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #09000d;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 24px;
  transform: rotate(45deg);
}
.slider-2 .slick-next {
  right: 0;
}
.slider-2 .slick-prev {
  left: 0;
}
.slider-2 .slick-next::before {
  left: 20px;
}
.slider-2 .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 22px;
}
.dots-2 .slick-dots {
  text-align: center;
}
.dots-2 .slick-dots li {
  display: inline-block;
}
.dots-2 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.dots-2 .slick-dots .slick-active button {
  background: #0a467d;
}