@charset "UTF-8";
/*---------------------------
common
-----------------------------*/
html{
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body{
  /* font-family: 'Cormorant Garamond', '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; */
  font-family: "Zen Old Mincho", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #211915;
  font-size: 15px;
  font-weight: 500;
  text-align: justify;
  line-height: 1.6;
  letter-spacing: 0.06em;
  background-color: #fff;
  margin: 0;
  box-sizing: border-box;
}

.min{
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
}
.zen{
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
}
.go{
  font-family: Avenir Next, 'Avenir Next', 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
}

::before,
::after{
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

main{
  position: relative;
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl{
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6{
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
  margin-block: 0;
}

ul,
ol{
  margin: 0;
  padding: 0;
  list-style: none;
}

dt{
  font-weight: bold;
}

dd{
  margin-left: 0;
}

hr{
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

a{
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

small{
  font-size: 80%;
}

sub,
sup{
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub{
  bottom: -0.25em;
}

sup{
  top: -0.5em;
}

iframe{
  vertical-align: bottom;
}

img{
  display: block;
  max-width: 100%;
  width: 100%;
}

button,
input,
select,
textarea{
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

[type="checkbox"]{
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type="radio"]{
  -webkit-appearance: radio;
  appearance: radio;
}

button,
input{
  overflow: visible;
}

button,
select{
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"]{
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

option{
  padding: 0;
}

fieldset{
  margin: 0;
  padding: 0;
  min-width: 0;
}

textarea{
  overflow: auto;
}

label[for]{
  cursor: pointer;
}

table{
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th{
  vertical-align: top;
  padding: 0;
}

th{
  text-align: left;
  font-weight: bold;
}



/*---------------------------
アニメーション用CSS
-----------------------------*/

.btn{
  transition: .5s;
  opacity: 1;
  cursor: pointer;
}
.btn:hover{
  transition: .5s;
  opacity: .8;
}

.no-link{
  pointer-events: none;
  opacity: .5 !important;
  cursor: default;
}

.filterBlur{
  opacity: 0;
  filter: blur(6px);
  transition: 1.2s ease;
  -webkit-transition: 1.2s ease;
  -webkit-filter: blur(6px);
}
.filterBlur.active{
  opacity: 1;
  filter: blur(0);
  -webkit-filter: blur(0);
}

.filterBlur-02{
  filter: blur(6px);
  transition: 1.2s ease;
  -webkit-transition: 1.2s ease;
  -webkit-filter: blur(6px);
}
.filterBlur-02.active{
  filter: blur(0);
  -webkit-filter: blur(0);
}

.clipPath{
  clip-path: inset(0 0 100% 0);
  -webkit-clip-path: inset(0 0 100% 0);
  transition: 3s ease;
  -webkit-transition: 3s ease;
}
.clipPath.delay{
  transition-delay: 1s;
  -webkit-transition-delay: 1s;
}
.clipPath.active{
  clip-path: inset(0 0 0 0);
  -webkit-clip-path: inset(0 0 0 0);
}
.clipPath.left-to-right {
  clip-path: inset(0 100% 0 0);
  -webkit-clip-path: inset(0 100% 0 0);
  transition: 2s ease-out;
  -webkit-transition: 2s ease-out;
}
.clipPath.left-to-right.active{
  clip-path: inset(0 0 0 0);
  -webkit-clip-path: inset(0 0 0 0);
}
.clipPath.right-to-left {
  clip-path: inset(0 0 0 100%);
  -webkit-clip-path: inset(0 0 0 100%);
  transition: 2s ease-out;
  -webkit-transition: 2s ease-out;
}
.clipPath.right-to-left.active{
  clip-path: inset(0 0 0 0);
  -webkit-clip-path: inset(0 0 0 0);
}

.overflowHidden{
  overflow: hidden;
}
.scaleDown{
  transform: scale(1.2);
  -webkit-transform: scale(1.2);
  transition: 2s ease;
  -webkit-transition: 2s ease;
}
.scaleDown.slow{
  transform: scale(1.5);
  -webkit-transform: scale(1.5);
  transition: 3s ease;
  -webkit-transition: 3s ease;
}
.scaleDown.active{
  transform: scale(1);
  -webkit-transform: scale(1);
}

.scaleUp{
  transform: scale(.5);
  -webkit-transform: scale(.5);
  transition: 3s ease-out;
  -webkit-transition: 3s ease-out;
}
.scaleUp.active{
  transform: scale(1);
  -webkit-transform: scale(1);
}

.blurUp{
  filter: blur(6px);
  -webkit-filter: blur(6px);
  transform: translate(0px, 10px);
  -webkit-transform: translate(0px, 10px);
  transition: .3s ease;
  -webkit-transition: .3s ease;
  opacity: 0.4;
}
.blurUp.active{
  filter: blur(0);
  -webkit-filter: blur(0);
  transform: translate(0px, 0px);
  -webkit-transform: translate(0px, 0px);
  opacity: 1;
}

.translateUp{
  transform: translate(0px, 20px);
  -webkit-transform: translate(0px, 20px);
  opacity: 0;
  transition: 1s ease;
  -webkit-transition: 1s ease;
}
.translateUp.active{
  opacity: 1;
  transform: translate(0px, 0px);
  -webkit-transform: translate(0px, 0px);
}

.rotateTxt span{
  display: inline-block;
  opacity: 0;
  transform: rotateY(90deg);
  -webkit-transform: rotateY(90deg);
  transition: transform 2s ease-out, opacity 2s ease-out;
  -webkit-transition: transform 2s ease-out, opacity 2s ease-out;
}
.rotateTxt span.space{
  width: .5vw;
}
.rotateTxt.active span:nth-child(1) { transition-delay: 0s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(2) { transition-delay: 0.1s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(3) { transition-delay: 0.2s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(4) { transition-delay: 0.3s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(5) { transition-delay: 0.4s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(6) { transition-delay: 0.5s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(7) { transition-delay: 0.6s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(8) { transition-delay: 0.7s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(9) { transition-delay: 0.8s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(10) { transition-delay: 0.9s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(11) { transition-delay: 1.0s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(12) { transition-delay: 1.1s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}
.rotateTxt.active span:nth-child(13) { transition-delay: 1.2s; transform: rotateY(0); -webkit-transform: rotateY(0); opacity: 1;}

.transform-accelerate {
  transform: translate3d(0, 0, 0);
}

@media(max-width:750px){
  .blurUp{
    filter: blur(0);
    -webkit-filter: blur(0);
    transform: translate(0px, 0px);
    -webkit-transform: translate(0px, 0px);
  }
  .filterBlur{
    filter: blur(0);
    -webkit-filter: blur(0);
  }
}

/*---------------------------
レスポンシブ対応
-----------------------------*/
@media(min-width:1400px){
  .tb_block{
    display: none;
  }
}
@media(max-width:1400px){
  .tb_block{
    display: block;
  }
}
@media(min-width:749px){
  .sp{
    display: none !important;
  }
}
@media(max-width:750px){
  .pc{
    display: none !important;
  }
}