@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;}ins{background-color:#ff9;color:#000;text-decoration:none;}mark{background-color:#ff9;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;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}
img{vertical-align:bottom;}
ol,ul {list-style:none;}

/*----------------------------
  Fonts
font-family: linotype-sabon, ten-mincho-text;
----------------------------*/
/*
font-family: 'Noto Sans Japanese', sans-serif;
「Thin 100」、「Light 300」、「DemiLight 350」、「Regular 400」、「Medium 500」、「Bold 700」、「Black 900」
*/

/*
font-family: 'Noto Sans SC', sans-serif;
font-family: 'Noto Serif SC', serif;
*/

.grecaptcha-badge{
  visibility: hidden;
}
@font-face {
  font-family: 'Karimoku';
  font-weight: normal;
  font-display: auto;
  src: 
  url('KarimokuSans-Regular-c3cc9e3c3911ce07d27a1a55e300da61.woff2') format('woff2'), 
  url('KarimokuSans-Regular.woff') format('woff');
}

html,body{
    font-family: 'Karimoku','Noto Sans JP',"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0em;
    line-height: 1.6;
    font-weight: normal;
    font-style: normal;
    color: #242423;
    background: #fff;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    min-height: 100%;
    word-wrap: break-word;
    font-feature-settings: "palt";
}
body.lang-cn,
body.lang-tw{
  font-family: 'Karimoku','Noto Sans SC', "Microsoft Yahei", "MS黑体", "MS Hei", "Hiragino Sans GB", "Hiragino Sans GB W3", Meiryo, メイリオ, sans-serif;
}
h1,h2,h3,h4{
  font-weight: normal;
}
a {
  -webkit-text-decoration-skip: none;
}
.pc_only{
  display: block;
}
.sp_only{
  display: none;
}
input {
  -webkit-writing-mode: horizontal-tb !important;
  text-rendering: auto;
  color: -internal-light-dark-color(black, white);
  letter-spacing: normal;
  word-spacing: normal;
  text-transform: none;
  text-indent: 0px;
  text-shadow: none;
  display: inline-block;
  text-align: start;
  -webkit-appearance: textfield;
  background-color: -internal-light-dark-color(white, black);
  -webkit-rtl-ordering: logical;
  cursor: text;
  margin: 0em;
  font: 400 13.3333px Arial;
  padding: 1px 0px;
  border-width: 2px;
  border-style: inset;
  border-color: initial;
  border-image: initial;
}
@media only screen and (max-width: 768px) {
  .pc_only{
    display: none;
  }
  .sp_only{
    display: block;
  }
  body.page{
    padding-top: 0vw;
  }
}
img{
  width: 100%;
  height: auto;
}
::selection {
  background: #000;
  color: #fff;
}

::-moz-selection {
  background: #000;
  color: #fff;
}
/*----------------------------------------------------
 link
--------------------------------------------------- */
a:link,
a:visited,
a:active{
    color: #242423;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}
a:hover{
    text-decoration: underline;
}

/*----------------------------------------------------
 lazyload
--------------------------------------------------- */
.lazyload{
  opacity: 0;
}
.lazyloaded{
  opacity: 1;
	transition: all 700ms;
}
/*----------------------------------------------------
 slick
--------------------------------------------------- */
:focus {
  outline: none;
}
.slick-slider{position: relative;display: block;box-sizing: border-box;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;-webkit-touch-callout: none;-khtml-user-select: none;-ms-touch-action: pan-y;touch-action: pan-y;-webkit-tap-highlight-color: transparent;}
.slick-list{position: relative;display: block;overflow: hidden;margin: 0;padding: 0;}
.slick-list:focus{outline: none;}
.slick-list.dragging{cursor: pointer;cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{-webkit-transform: translate3d(0, 0, 0);-moz-transform: translate3d(0, 0, 0);-ms-transform: translate3d(0, 0, 0);-o-transform: translate3d(0, 0, 0);transform: translate3d(0, 0, 0);}
.slick-track{position: relative;top: 0;left: 0;display: block;}
.slick-track:before,
.slick-track:after{display: table;content: '';}
.slick-track:after{clear: both;}
.slick-loading .slick-track{visibility: hidden;}
.slick-slide{display: none;float: left;height: 100%;min-height: 1px;}
[dir='rtl'] .slick-slide{float: right;}
.slick-slide img{display: block;}
.slick-slide.slick-loading img{display: none;}
.slick-slide.dragging img{pointer-events: none;}
.slick-initialized .slick-slide{display: block;}
.slick-loading .slick-slide{visibility: hidden;}
.slick-vertical .slick-slide{display: block;height: auto;border: 1px solid transparent;}
.slick-arrow.slick-hidden {display: none;}

.slick-prev{
  display: block;
  position: absolute;
  top: 50%;
  z-index: 10;
  border:none;
  text-indent: -9999px;
  cursor: pointer;
    -webkit-transition: all 0.5s 0s ease;
       -moz-transition: all 0.5s 0s ease;
        -ms-transition: all 0.5s 0s ease;
         -o-transition: all 0.5s 0s ease;
            transition: all 0.5s 0s ease;
    border-radius: 40px;
    -webkit-border-radius: 40px;  
    -moz-border-radius: 40px;
    width: 40px;
    height: 40px;
    left: 50%;
    margin-left:-540px;
    background: #002C57 url(https://www.karimoku-casestudy.com/wp/wp-content/themes/karimoku/assets/img/common/arrow_left.svg) no-repeat center center;
}
.slick-prev:hover{
  opacity: 0.5;
  -webkit-transform: scale3d(1,1,1) translate(-10px,0px) rotate(0deg);
     -moz-transform: scale3d(1,1,1) translate(-10px,0px) rotate(0deg);
      -ms-transform: scale3d(1,1,1) translate(-10px,0px) rotate(0deg);
       -o-transform: scale3d(1,1,1) translate(-10px,0px) rotate(0deg);
          transform: scale3d(1,1,1) translate(-10px,0px) rotate(0deg);
}
.slick-next{
  display: block;
  position: absolute;
  top: 50%;
  z-index: 10;
  border:none;
  text-indent: -9999px;
  cursor: pointer;
    -webkit-transition: all 0.5s 0s ease;
       -moz-transition: all 0.5s 0s ease;
        -ms-transition: all 0.5s 0s ease;
         -o-transition: all 0.5s 0s ease;
            transition: all 0.5s 0s ease;
            border-radius: 40px;
            -webkit-border-radius: 40px;  
            -moz-border-radius: 40px;
            width: 40px;
            height: 40px;
            left: 50%;
            margin-left:430px;
            background: #002C57 url(https://www.karimoku-casestudy.com/wp/wp-content/themes/karimoku/assets/img/common/arrow_right.svg) no-repeat center center;
}
.slick-next:hover{
  opacity: 0.5;
  -webkit-transform: scale3d(1,1,1) translate(10px,0px) rotate(0deg);
     -moz-transform: scale3d(1,1,1) translate(10px,0px) rotate(0deg);
      -ms-transform: scale3d(1,1,1) translate(10px,0px) rotate(0deg);
       -o-transform: scale3d(1,1,1) translate(10px,0px) rotate(0deg);
          transform: scale3d(1,1,1) translate(10px,0px) rotate(0deg);
}
.slide .slick-disabled{
  opacity: 0.2;
}
@media only screen and (max-width: 768px) {
  .slide .slick-prev:hover{
    opacity: 1;
  }
  .slide .slick-next:hover{
    opacity: 1;
  }
  .slick-prev{

    top: 50%;
    left: 15px;
    margin-top: -15px;
    background-size: 30px auto;
    width: 30px;
    height: 30px;
    z-index: 10;
  }
  .slick-next{
    top: 50%;
    right: 15px;
    margin-top: -15px;
    background-size: 30px auto;
    width: 30px;
    height: 30px;
    z-index: 10;
  }
  .slick-prev:hover,
  .slick-next:hover {
    -webkit-transform: scale3d(1,1,1) translate(0px,0px) rotate(0deg);
    -moz-transform: scale3d(1,1,1) translate(0px,0px) rotate(0deg);
    -ms-transform: scale3d(1,1,1) translate(0px,0px) rotate(0deg);
    -o-transform: scale3d(1,1,1) translate(0px,0px) rotate(0deg);
    transform: scale3d(1,1,1) translate(0px,0px) rotate(0deg);
  }
}

/*----------------------------------------------------
  .scrollview
--------------------------------------------------- */
.scrollview{
  -webkit-transition: all 0.8s 0s ease;
     -moz-transition: all 0.8s 0s ease;
      -ms-transition: all 0.8s 0s ease;
       -o-transition: all 0.8s 0s ease;
          transition: all 0.8s 0s ease;
          opacity: 0;
  -webkit-transform: scale(1,1) translate(-0%,20px);
     -moz-transform: scale(1,1) translate(-0%,20px);
      -ms-transform: scale(1,1) translate(-0%,20px);
       -o-transform: scale(1,1) translate(-0%,20px);
          transform: scale(1,1) translate(-0%,20px);
}
.scrollview.view{
  opacity: 1;
  -webkit-transform: scale(1,1) translate(-0%,0%);
     -moz-transform: scale(1,1) translate(-0%,0%);
      -ms-transform: scale(1,1) translate(-0%,0%);
       -o-transform: scale(1,1) translate(-0%,0%);
          transform: scale(1,1) translate(-0%,0%);

}
.scrollview_fix{
  -webkit-transition: all 1.2s 0s ease;
     -moz-transition: all 1.2s 0s ease;
      -ms-transition: all 1.2s 0s ease;
       -o-transition: all 1.2s 0s ease;
          transition: all 1.2s 0s ease;
          opacity: 0;
}
.scrollview_fix.view{
  opacity: 1;

}
/*----------------------------------------------------
 loading
--------------------------------------------------- */
#loading{
    position: fixed;
    top: 0;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: #ffffff;
}
#loading.out{
  opacity: 0;
    -webkit-transition: all 0.6s 0.2s linear;
       -moz-transition: all 0.6s 0.2s linear;
        -ms-transition: all 0.6s 0.2s linear;
         -o-transition: all 0.6s 0.2s linear;
            transition: all 0.6s 0.2s linear;
}
#loading .inner{
  position: absolute;
  top:0%;
  left: 0%;
  width: 100%;
  height: 100%;
  transform-origin: center center;
-webkit-transform-origin: center center;
  -webkit-transform: scale(0,0);
     -moz-transform: scale(0,0);
          transform: scale(0,0);
          opacity: 1;
}
body.loadStart #loading .inner{
  opacity: 1;
  -webkit-transform: scale(1,1);
     -moz-transform: scale(1,1);
          transform: scale(1,1);
  -webkit-transition: all 0.4s 0.0s ease;
     -moz-transition: all 0.4s 0.0s ease;
          transition: all 0.4s 0.0s ease;
}
body.pageLoad #loading .inner{
  -webkit-transition: all 0.4s 0.0s ease;
     -moz-transition: all 0.4s 0.0s ease;
          transition: all 0.4s 0.0s ease;
          /* -webkit-transform: scale(0,0) translate(-0%,0%);
             -moz-transform: scale(0,0) translate(-0%,0%);
                  transform: scale(0,0) translate(-0%,0%); */
}
#loading .FormatLoader {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  margin-left: -25px;
  border-radius: 50%;
  z-index: 12;
  border-top: 1px solid rgba(0,0,0, 0.2);
  border-right: 1px solid rgba(0,0,0, 0.2);
  border-bottom: 1px solid rgba(0,0,0, 0.2);
  border-left: 1px solid #000;
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}


@media only screen and (max-width: 768px) {
  #loading .inner{
  }
}
/*----------------------------------------------------
  .wrapper
--------------------------------------------------- */
.wrapper{
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 768px) {
   .wrapper{
  }
}
/*----------------------------------------------------
  .block_header
--------------------------------------------------- */
.block_header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  z-index: 100;
  font-family:'Karimoku','Noto Sans JP',"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}
body.onScroll .block_header{
  -webkit-transform: translate(0px,-90px);
     -moz-transform: translate(0px,-90px);
          transform: translate(0px,-90px);

}
body.onScroll.viewHeader .block_header{
  -webkit-transition: all 0.4s 0.0s ease;
     -moz-transition: all 0.4s 0.0s ease;
          transition: all 0.4s 0.0s ease;
  -webkit-transform: translate(0px,0px);
     -moz-transform: translate(0px,0px);
          transform: translate(0px,0px);
}
.block_header .inner{
  margin: 0 4.5vw;
  display: flex;
  position: relative;
}
.block_header .inner .title{
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}
.block_header .inner .title a{
  color: #242423;
  text-decoration: none;
  display: inline-block;
  margin-top: 37px;
  letter-spacing: 0.157rem;
  font-size: 0.8333333333333334vw;
  line-height: 2;
  font-weight: 400;
}
body.page .block_header .inner .title a{
  color: #FFF;
}
body.onScroll.viewHeader .block_header .inner .title a,
body.h_bk .block_header .inner .title a{
  color: #000;
}
body.onScroll.viewHeader.still_w .block_header .inner .title a,
body.h_bk.still_w .block_header .inner .title a{
  color: #FFF;
}
.block_header .inner ul.menu{
  /* -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto; */
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  text-align: right;
  /* margin-right: 5%; */
  letter-spacing: -0.4em;
}
.block_header .inner ul.menu li{
  display: inline;
  letter-spacing: normal;
}
.block_header .inner ul.menu li a{
  display: inline-block;
  padding: 37px 1.38888888vw;
  font-size: 12px;
  line-height: 2;
  color: #242423;
  text-decoration: none;
}
body.page .block_header .inner ul.menu li a{
  color: #FFF;
}
body.onScroll.viewHeader .block_header .inner ul.menu li a,
body.h_bk .block_header .inner ul.menu li a{
  color: #000;
}
body.onScroll.viewHeader.still_w .block_header .inner ul.menu li a,
body.h_bk.still_w .block_header .inner ul.menu li a{
  color: #FFF;
}
.block_header .inner ul.menu li a span{
  display: inline-block;
  position: relative;
}
.block_header .inner ul.menu li a span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #242423;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
body.page .block_header .inner ul.menu li a span:before{
  background: #FFF;
}
body.onScroll.viewHeader .block_header .inner ul.menu li a span:before,
body.h_bk .block_header .inner ul.menu li a span:before{
  background: #000;
}
body.onScroll.viewHeader.still_w .block_header .inner ul.menu li a span:before,
body.h_bk.still_w .block_header .inner ul.menu li a span:before{
  background: #FFF;
}
.block_header .inner ul.menu li a:hover span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}
.block_header .inner .lang_change{
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  padding: 0px 1.38888888vw;
  position: relative;
}
.block_header .inner .lang_change a.icon{
  display: block;
  /* background: url(../img/common/lang_icon.svg) no-repeat center center;
  background-size: contain; */
  width: 16px;
  height: 16px;
}
.block_header .inner .lang_change a.icon svg{
  width: 16px;
  vertical-align: top;
}

body.page .block_header .inner .lang_change a.icon svg{
  fill: #FFF;
}
body.onScroll.viewHeader .block_header .inner .lang_change a.icon svg,
body.h_bk .block_header .inner .lang_change a.icon svg{
  fill: #000;
}
body.onScroll.viewHeader.still_w .block_header .inner .lang_change a.icon svg,
body.h_bk.still_w .block_header .inner .lang_change a.icon svg{
  fill: #FFF;
}


.block_header .inner .lang_change ul.l_m{
  position: absolute;
  top: 20px;
  left: 0;
  width: 100%;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s 0.0s ease;
}
.block_header .inner .lang_change:hover ul.l_m{
  opacity: 1;
  visibility: visible;
}
.block_header .inner .lang_change ul.l_m li{
  line-height: 1;
}
.block_header .inner .lang_change ul.l_m li a{
  display: inline-block;
  font-size: 10px;
  line-height: 1.5;
  position: relative;
  text-decoration: none;
}
body.page .block_header .inner .lang_change ul.l_m li a{
  color: #FFF;
}
body.onScroll.viewHeader .block_header .inner .lang_change ul.l_m li a,
body.h_bk .block_header .inner .lang_change ul.l_m li a{
  color: #000;
}
body.onScroll.viewHeader.still_w .block_header .inner .lang_change ul.l_m li a,
body.h_bk.still_w .block_header .inner .lang_change ul.l_m li a{
  color: #FFF;
}


.block_header .inner .lang_change ul.l_m li a span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #242423;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
body.page .block_header .inner .lang_change ul.l_m li a span:before{
  background: #FFF;
}
body.onScroll.viewHeader .block_header .inner .lang_change ul.l_m li a span:before,
body.h_bk .block_header .inner .lang_change ul.l_m li a span:before{
  background: #000;
}
body.onScroll.viewHeader.still_w .block_header .inner .lang_change ul.l_m li a span:before,
body.h_bk.still_w .block_header .inner .lang_change ul.l_m li a span:before{
  background: #FFF;
}
.block_header .inner .lang_change ul.l_m li a:hover span:before,
.block_header .inner .lang_change ul.l_m li a.active span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}
.block_header .inner ul.lang{
  /* -webkit-flex: 1 1 0;
  -ms-flex: 1 1 0;
  flex: 1 1 0; */
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  text-align: right;
  letter-spacing: -0.4em;
}
.block_header .inner ul.lang li{
  display: inline;
  letter-spacing: normal;
}
.block_header .inner ul.lang li:nth-child(1){
  position: relative;
}
.block_header .inner ul.lang li:nth-child(1):after{
  content: "";
  position: absolute;
  top: 7px;
  right: -1px;
  width: 1px;
  height: 14px;
  background: #000;
  opacity: 0.5;
}
body.page .block_header .inner ul.lang li:nth-child(1):after{
  background: #FFF;
}
.block_header .inner ul.lang li a{
  display: inline-block;
  padding: 37px 10px;
  font-size: 12px;
  line-height: 2;
  color: #242423;
  text-decoration: none;
  opacity: 0.5;
}
body.page .block_header .inner ul.lang li a{
  color: #FFF;
}
body.onScroll.viewHeader .block_header .inner ul.lang li a,
body.h_bk .block_header .inner ul.lang li a{
  color: #000;
}
body.onScroll.viewHeader.still_w .block_header .inner ul.lang li a,
body.h_bk.still_w .block_header .inner ul.lang li a{
  color: #FFF;
}
body.onScroll.viewHeader .block_header .inner ul.lang li:nth-child(1):after,
body.h_bk .block_header .inner ul.lang li:nth-child(1):after{
  background: #000;
  opacity: 0.5;
}
body.onScroll.viewHeader.still_w .block_header .inner ul.lang li:nth-child(1):after,
body.h_bk.still_w .block_header .inner ul.lang li:nth-child(1):after{
  background: #FFF;
  opacity: 0.5;
}

.block_header .inner ul.lang li a.active{
  opacity: 1;
}
.block_header .inner ul.lang li a span{
  display: inline-block;
  position: relative;
}
.block_header .inner ul.lang li a span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #242423;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.block_header .inner ul.lang li a:hover span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}
body.page .block_header .inner ul.lang li a span:before{
  background: #FFF;
}
body.onScroll.viewHeader .block_header .inner ul.lang li a span:before,
body.h_bk .block_header .inner ul.lang li a span:before{
  background: #000;
}
body.onScroll.viewHeader.still_w .block_header .inner ul.lang li a span:before,
body.h_bk.still_w .block_header .inner ul.lang li a span:before{
  background: #FFF;
}

@media only screen and (max-width: 1200px) {
  .block_header .inner ul.menu{
    display: none;
  }
  .block_header .inner ul.lang{
    display: none;
  }
}
@media only screen and (max-width: 768px) {
  .block_header{
    height: 61px;
  }
  body.onScroll .block_header{
    -webkit-transform: translate(0px,-61px);
       -moz-transform: translate(0px,-61px);
            transform: translate(0px,-61px);
  }
  body.onScroll.viewHeader .block_header{
  }
  .block_header .inner{
    margin: 0 8vw;
  }
  .block_header .inner .title{
  }
  .block_header .inner .title a{
    margin-top: 37px;
    font-size: 12px;
  }
  .block_header .inner ul.menu{
    display: none;
  }
  .block_header .inner .lang_change{
    display: none;
  }
}

/*----------------------------------------------------
  .block_sp_menu
--------------------------------------------------- */
.block_sp_menu{
  display: block;
  position: fixed;
  z-index: 120;
  top: 18px;
  right: 10.416666666666668vw;
  width: 60px;
  height: 60px;
  display: none;
}
@media only screen and (max-width: 1200px) {
  .block_sp_menu{
    display: block;
  }
}
body.menu_open .block_sp_menu{
  display: block;
}
.block_sp_menu a{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.block_sp_menu a.toggle span.l1{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  margin-top: -8px;
  margin-left: -10px;
  background: #000;
          transform-origin: center center;
  -webkit-transform-origin: center center;
-webkit-transition: all 0.6s 0s cubic-bezier(0.875, 0.005, 0.090, 0.990);
        transition: all 0.6s 0s cubic-bezier(0.875, 0.005, 0.090, 0.990);
}
.block_sp_menu a.toggle span.l2{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 1px;
  margin-top: -1px;
  margin-left: -5px;
  background: #000;
          transform-origin: center center;
  -webkit-transform-origin: center center;
-webkit-transition: all 0.6s 0s cubic-bezier(0.875, 0.005, 0.090, 0.990);
        transition: all 0.6s 0s cubic-bezier(0.875, 0.005, 0.090, 0.990);
}
.block_sp_menu a.toggle:hover span.l2{
  width: 20px;
  margin-left: -10px;
}
.block_sp_menu a.toggle span.l3{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1px;
  margin-top: 6px;
  margin-left: -10px;
  background: #000;
          transform-origin: center center;
  -webkit-transform-origin: center center;
-webkit-transition: all 0.6s 0s cubic-bezier(0.875, 0.005, 0.090, 0.990);
        transition: all 0.6s 0s cubic-bezier(0.875, 0.005, 0.090, 0.990);
}
body.menu_open .block_sp_menu a.toggle span.l1{
  margin-top: 0px;
  -webkit-transform: scale3d(1,1,1) translate(0px,0px) rotate(45deg);
    -moz-transform: scale3d(1,1,1) translate(0px,0px) rotate(45deg);
          transform: scale3d(1,1,1) translate(0px,0px) rotate(45deg);
}
body.menu_open .block_sp_menu a.toggle span.l2{
  -webkit-transform: scale3d(0,1,1) translate(0px,0px) rotate(0deg);
    -moz-transform: scale3d(0,1,1) translate(0px,0px) rotate(0deg);
          transform: scale3d(0,1,1) translate(0px,0px) rotate(0deg);
}
body.menu_open .block_sp_menu a.toggle span.l3{
  margin-top: 0px;
  width: 20px;
  -webkit-transform: scale3d(1,1,1) translate(0px,0px) rotate(-45deg);
    -moz-transform: scale3d(1,1,1) translate(0px,0px) rotate(-45deg);
          transform: scale3d(1,1,1) translate(0px,0px) rotate(-45deg);
}
body.page .block_sp_menu a.toggle span.l1,
body.page .block_sp_menu a.toggle span.l2,
body.page .block_sp_menu a.toggle span.l3{
  background: #FFF;
}
body.page.menu_open .block_sp_menu a.toggle span.l1,
body.page.menu_open .block_sp_menu a.toggle span.l2,
body.page.menu_open .block_sp_menu a.toggle span.l3{
  background: #000;
}

body.onScroll.viewHeader .block_sp_menu a.toggle span.l1,
body.onScroll.viewHeader .block_sp_menu a.toggle span.l2,
body.onScroll.viewHeader .block_sp_menu a.toggle span.l3,
body.h_bk .block_sp_menu a.toggle span.l1,
body.h_bk .block_sp_menu a.toggle span.l2,
body.h_bk .block_sp_menu a.toggle span.l3{
  background: #000;
}
body.onScroll.viewHeader.still_w .block_sp_menu a.toggle span.l1,
body.onScroll.viewHeader.still_w .block_sp_menu a.toggle span.l2,
body.onScroll.viewHeader.still_w .block_sp_menu a.toggle span.l3,
body.h_bk.still_w .block_sp_menu a.toggle span.l1,
body.h_bk.still_w .block_sp_menu a.toggle span.l2,
body.h_bk.still_w .block_sp_menu a.toggle span.l3{
  background: #FFF;
}

@media only screen and (max-width: 768px) {
  .block_sp_menu{
    top: 18px;
    right: 2vw;
  }
  body.onScroll .block_sp_menu{
    -webkit-transform: translate(0px,-61px);
       -moz-transform: translate(0px,-61px);
            transform: translate(0px,-61px);
  }
  body.onScroll.viewHeader .block_sp_menu{
    -webkit-transition: all 0.4s 0.0s ease;
       -moz-transition: all 0.4s 0.0s ease;
            transition: all 0.4s 0.0s ease;
    -webkit-transform: translate(0px,0px);
       -moz-transform: translate(0px,0px);
            transform: translate(0px,0px);
  }
  body.onScroll.viewHeader .block_sp_menu a.toggle span.l1,
  body.onScroll.viewHeader .block_sp_menu a.toggle span.l2,
  body.onScroll.viewHeader .block_sp_menu a.toggle span.l3{
    background: #000;
  }
  body.h_bk .block_sp_menu a.toggle span.l1,
  body.h_bk .block_sp_menu a.toggle span.l2,
  body.h_bk .block_sp_menu a.toggle span.l3{
    background: #000;
  }
}
/*----------------------------------------------------
  .navigation
--------------------------------------------------- */
.navigation{
  display: block;
  position: fixed;
  z-index: 110;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  background-color: #f7f4ed;
  visibility: hidden;
  opacity: 0;
  display: flex;
  flex-direction: column; /* row row-reverse column */
  justify-content: center; /* flex-start  center  space-between */
  align-items: center; /* flex-start  center  */
  -webkit-transition: all 0.6s 0s ease;
          transition: all 0.6s 0s ease;
          
  font-family: 'Karimoku','Noto Sans JP',"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}
body.menu_open .navigation{
  opacity: 1;
  visibility: visible;
}
.navigation .inner{
  /* position: absolute;
  top: 50%;
  left: 0;
  width: 100%; */
  text-align: center;
  /* -webkit-transform: translate(0px,-50%) ;
     -moz-transform: translate(0px,-50%) ;
          transform: translate(0px,-50%) ; */
          
}

.navigation .inner ul.menu{
  align-self: center;
  padding-top: 5vh;
}
.navigation .inner ul.menu li{
}
.navigation .inner ul.menu li a{
  display: inline-block;
  padding: 0.5vh 0;
  font-size: 22px;
  line-height: 2;
  color: #242423;
  text-decoration: none;
}
.navigation .inner ul.menu li a span{
  display: inline-block;
  position: relative;
}
.navigation .inner ul.menu li a span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #242423;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.navigation .inner ul.menu li a:hover span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}
.navigation .inner .lang_change{
  margin-top: 15px;
  padding-bottom: 5vh;

}
.navigation .inner .lang_change a.icon{
  width: 30px;
  margin:0 auto;
  display: block;
}
.navigation .inner ul.lang{
  display: none;
}
.navigation .inner ul.lang li{
  display: block;
  letter-spacing: normal;
}
.navigation .inner ul.lang li a{
  display: inline-block;
  font-size: 12px;
  line-height: 2;
  color: #000;
  text-decoration: none;
}
.navigation .inner ul.lang li a.active{
  opacity: 1;
}
.navigation .inner ul.lang li a span{
  display: inline-block;
  position: relative;
}
.navigation .inner ul.lang li a span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #242423;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.navigation .inner ul.lang li a.active span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}

@media only screen and (max-width: 768px) {
  .navigation .inner ul.lang li:nth-child(1):after{
    right: -2px;
  }
}
/*----------------------------------------------------
  .footer_block
--------------------------------------------------- */
.footer_block{
  font-family: 'Karimoku','Noto Sans JP',"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}
.footer_block .inner{
  margin: 0 10.416666666666668vw;
}
.footer_block .first{
  background-color: #EEECE3;
  padding: 60px 0;
}
.footer_block .first .inner{
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}
.footer_block .first .inner .column:nth-child(1){
  flex: 1 1 auto;
}
.footer_block .first .inner .column:nth-child(2){
  flex: 1 1 16.666666666666668%;
  max-width: 16.666666666666668%;
}
.footer_block .first .inner .column:nth-child(3){
  flex: 1 1 16.666666666666668%;
  max-width: 16.666666666666668%;
}
.footer_block .first .inner .column:nth-child(4){
  flex: 1 1 16.666666666666668%;
  max-width: 16.666666666666668%;
}
.footer_block .first .inner .column:nth-child(5){
  flex: 1 1 20.666666666666668%;
  max-width: 20.666666666666668%;
}
.footer_block .first .inner .column .title{
    text-transform: uppercase;
    letter-spacing: .2em;
    font-size: 12px;
    line-height: 1;
    font-weight: 300;
    margin-bottom: 80px;
}
.footer_block .first .inner .column .newsletter{
}
.footer_block .first .inner .column .newsletter p{
  font-size: 12px;
  line-height: 2;
  font-weight: 400;
  line-height: 1.25;
  margin-bottom: 10px;
}
.footer_block .first .inner .column .newsletter form{
  
  font-weight: 400;
  line-height: 1.25;
  position: relative;
}
.footer_block .first .inner .column .newsletter input[type="email"] {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #000;
  width: 100%;
  padding: 7px 0;
  border-radius: 0;
  line-height: 2;
  font-weight: 400;
  width: 100%;
}
.footer_block .first .inner .column .newsletter .button {
  position: absolute;
  top: 0;
  right: 0;
  height: 40px;
  font-size: 12px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: .05em;
  padding: 7px 0;
  background: transparent;
  border: 0;
  width: 70px;
  padding-right: 40px;
  -webkit-text-decoration: none;
  text-decoration: none;
  background-image: url(../img/common/link-arrow.svg);
  background-repeat: no-repeat;
  background-position: right center;
  cursor: pointer;
  -webkit-transition: all 0.4s 0.0s ease;
     -moz-transition: all 0.4s 0.0s ease;
          transition: all 0.4s 0.0s ease;
}
.footer_block .first .inner .column .newsletter .button:hover{
  opacity: 0.5;
}
#mce-responses{
  max-width: 300px;
  padding-top: 10px;
  font-size: 0.833333vw;
}
#mc_embed_signup div.mce_inline_error{
  margin: 0 0 1em 0;
  padding:10px 0px !important;
  background-color: #EEECE3 !important;
  font-weight: normal !important;
  z-index: 1;
  color: #000 !important;
  padding-top: 10px !important;
  font-size: 0.833333vw;
}
/* .footer_block .first .inner .column .newsletter .button:before {
  content: 'Sign up';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
} */
.footer_block .first .inner .column dl{

}
.footer_block .first .inner .column dl + dl{
  margin-top: 40px;
}
.footer_block .first .inner .column dl dt{
  font-size: 12px;
  line-height: 2;
  font-weight: 400;
  line-height: 1.8;
  opacity: .5;
}
.footer_block .first .inner .column dl dd{
  line-height: 1.25;
}
.footer_block .first .inner .column dl dd ul.menu{
}
.footer_block .first .inner .column dl dd ul.menu li{
}
.footer_block .first .inner .column dl dd ul.menu li a{
  display: inline-block;
  font-size: 12px;
  line-height: 2;
  color: #242423;
  text-decoration: none;
}
.footer_block .first .inner .column dl dd ul.menu li a span{
  display: inline-block;
  position: relative;
}
.footer_block .first .inner .column dl dd ul.menu li a span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #242423;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.footer_block .first .inner .column dl dd ul.menu li a:hover span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}

.footer_block .first .inner .column dl dd ul.lang{
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  text-align: left;
  letter-spacing: -0.4em;
  margin-left: -10px;
}
.footer_block .first .inner .column dl dd ul.lang li{
  display: block;
  letter-spacing: normal;
}
.footer_block .first .inner .column dl dd ul.lang li a{
  display: inline-block;
  padding: 3px 10px;
  font-size: 12px;
  line-height: 2;
  color: #000;
  text-decoration: none;
}
.footer_block .first .inner .column dl dd ul.lang li a.active{
  opacity: 1;
}
.footer_block .first .inner .column dl dd ul.lang li a span{
  display: inline-block;
  position: relative;
}
.footer_block .first .inner .column dl dd ul.lang li a span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.footer_block .first .inner .column dl dd ul.lang li a:hover span:before,
.footer_block .first .inner .column dl dd ul.lang li a.active span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}
.footer_block .first .inner .column dl dd a.blank{
  font-size: 12px;
  line-height: 2;
  font-weight: 400;
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: .19em;
  padding: 3px 0;
  background: transparent;
  border: 0;
  -webkit-text-decoration: none;
  text-decoration: none;
  position: relative;
  background-image: url(../img/common/link-arrow.svg);
  padding-right: 30px;
  background-repeat: no-repeat;
  background-position: right center;
}
.footer_block .first .inner .column dl dd a.blank span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #242423;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.footer_block .first .inner .column dl dd a.blank:hover span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}
.footer_block .second{
  background-color: #E4E2D9;
  padding: 10px 0;
  overflow: hidden;
}
.footer_block .second .copyright{
  float: left;
  font-size: 12px;
  opacity: 0.4;
  display: inline-block;
}
.footer_block .second a{
  float: right;
  font-size: 12px;
  opacity: 0.4;
  text-decoration: none;
  position: relative;
  display: inline-block;
  margin-left: 70px;
}
.footer_block .second a span:before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #242423;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
      transform-origin: right center;
      -webkit-transform: scale(0, 1);
          -ms-transform: scale(0, 1);
              transform: scale(0, 1);
      -webkit-transition: -webkit-transform 0.25s ease-out;
              transition: -webkit-transform 0.25s ease-out;
                      transition: transform 0.25s ease-out;
                      transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}
.footer_block .second a:hover span:before{
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}
@media only screen and (max-width: 768px) {
  .footer_block{

  }
  .footer_block .inner{
    margin: 0 10.416666666666668vw;
  }
  .footer_block .first{
    padding: 50px 0;
  }
  .footer_block .first .inner{
    display: block;
  }
  .footer_block .first .inner .column:nth-child(1){
    flex: 1 1 auto;
    margin-bottom: 60px;
  }
  .footer_block .first .inner .column:nth-child(2){
    flex: 1 1 16.666666666666668%;
    max-width: 100%;
    margin-bottom: 60px;
  }
  .footer_block .first .inner .column:nth-child(3){
    flex: 1 1 16.666666666666668%;
    max-width: 100%;
    margin-bottom: 60px;
  }
  .footer_block .first .inner .column:nth-child(4){
    flex: 1 1 16.666666666666668%;
    max-width: 100%;
    margin-bottom: 60px;
  }
  .footer_block .first .inner .column:nth-child(5){
    flex: 1 1 20.666666666666668%;
    max-width: 100%;
  }
  .footer_block .first .inner .column .title{
      font-size: 12px;
      margin-bottom: 80px;
  }
  .footer_block .first .inner .column .newsletter{
  }
  .footer_block .first .inner .column .newsletter p{
  }
  .footer_block .first .inner .column .newsletter form{
  }
  .footer_block .first .inner .column .newsletter input {
  }
  .footer_block .first .inner .column .newsletter .css-ct9qo1 {
  }
  .footer_block .first .inner .column .newsletter .css-ct9qo1:before {
  }
  
  .footer_block .first .inner .column .newsletter .button {
    font-size: 10px;
    width: 60px;
    padding: 0;
  }
  #mce-responses{
    font-size: 12px;
  }
  #mc_embed_signup div.mce_inline_error{
    font-size: 12px;
  }
  .footer_block .first .inner .column dl{
  
  }
  .footer_block .first .inner .column dl + dl{
  }
  .footer_block .first .inner .column dl dt{
  }
  .footer_block .first .inner .column dl dd{
  }
  .footer_block .first .inner .column dl dd ul.menu{
  }
  .footer_block .first .inner .column dl dd ul.menu li{
  }
  .footer_block .first .inner .column dl dd ul.menu li a{
  }
  .footer_block .first .inner .column dl dd ul.menu li a span{
  }
  .footer_block .first .inner .column dl dd ul.menu li a span:before{
  }
  .footer_block .first .inner .column dl dd ul.menu li a:hover span:before{
  }
  .footer_block .first .inner .column dl dd ul.lang{
  }
  .footer_block .first .inner .column dl dd ul.lang li{
  }
  .footer_block .first .inner .column dl dd ul.lang li:nth-child(1){
  }
  .footer_block .first .inner .column dl dd ul.lang li:nth-child(1):after{
  }
  .footer_block .first .inner .column dl dd ul.lang li a{
  }
  .footer_block .first .inner .column dl dd ul.lang li a.active{
  }
  .footer_block .first .inner .column dl dd ul.lang li a span{
  }
  .footer_block .first .inner .column dl dd ul.lang li a span:before{
  }
  .footer_block .first .inner .column dl dd ul.lang li a:hover span:before{
  }
  .footer_block .first .inner .column dl dd a.blank{
  }
  .footer_block .first .inner .column dl dd a.blank span:before{
  }
  .footer_block .first .inner .column dl dd a.blank:hover span:before{
  }
  .footer_block .second{
    padding: 20px 0;
  }
  .footer_block .second .copyright{
    float: none;
    font-size: 12px;
    display: block;
    padding-top: 20px;
  }
  .footer_block .second a{
    float: none;
    margin-left: 0px;
    font-size: 12px;
    display: block;
    margin-bottom: 10px;
  }
  .footer_block .second a span{
    display: inline-block;
    position: relative;
  }
  .footer_block .second a span:before{
  }
  .footer_block .second a:hover span:before{
  }

}


/*----------------------------------------------------
  .cookie_modal
--------------------------------------------------- */
.cookie_modal{
    position: fixed;
    bottom: 70px;
    left: 50%;
    width: 454px;
    margin-left: -227px;
    z-index: 1000;
    background-color: #fafafa;
    border: 1px #000 solid;
    display: none;
}
.cookie_modal.out{
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.4s 0s ease;
     -moz-transition: all 0.4s 0s ease;
          transition: all 0.4s 0s ease;
}
.cookie_modal .inner{
    padding: 20px;
    overflow: hidden;
}
.cookie_modal .inner p{
    font-size: 20px;
    line-height: 0px;
    margin-bottom: 4px;
}
body.lang-jp .cookie_modal .inner p{
  font-family:'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}
.cookie_modal .inner p a{
  text-decoration: underline;
}
.cookie_modal .inner .btn{
  margin:0 0 0 auto;
  float: right;
}
.cookie_modal .inner .btn a{
  display: block;
  width: 44px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  font-size: 12px;
  color: #231F20;
  border: 1px #231F20 solid;
  text-decoration: none;
  -webkit-transition: all 0.4s 0s ease;
     -moz-transition: all 0.4s 0s ease;
          transition: all 0.4s 0s ease;
}
.cookie_modal .inner .btn a:hover{
  background: #231F20;
  color: #FFF;
}
@media only screen and (max-width: 768px) {

  .cookie_modal{
    bottom: 20px;
    width: 80%;
    margin-left: -40%;
  }
  .cookie_modal .inner{
    padding: 15px;
  }
  .cookie_modal .inner p{
    font-size: 12px;
    line-height: 20px;
    margin-bottom: 4px;
  }
  .cookie_modal .inner p a{
    text-decoration: underline;
  }
  .cookie_modal .inner .btn{
    margin:10px 0 0 auto;
    float: right;
  }
  .cookie_modal .inner .btn a{
    display: block;
    width: 100px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    font-size: 12px;
    color: #231F20;
    border: 1px #231F20 solid;
    text-decoration: none;
    -webkit-transition: all 0.4s 0s ease;
       -moz-transition: all 0.4s 0s ease;
            transition: all 0.4s 0s ease;
  }
  .cookie_modal .inner .btn a:hover{
    background: #231F20;
    color: #FFF;
  }
}
