@charset "UTF-8";
/* line 190, component.scss */
.btn100 {
  width: 100%;
  max-width: 100%;
}

/* line 194, component.scss */
.btn75 {
  width: 75%;
  margin: 0 auto;
}

/* line 198, component.scss */
.btn50 {
  width: 50%;
  margin: 0 auto;
}

@media screen and (min-width: 781px) {
  /* line 204, component.scss */
  .cv_btn {
    /*矢印の基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    /*border: 1px solid #222;*/
    padding: 20px 90px 20px 60px;
    display: block;
    text-align: center;
    text-decoration: none;
    /*color: #222;*/
    font-size: 1.4rem;
    /*アニメーションの指定*/
    transition: all .2s linear;
  }
  /* line 217, component.scss */
  .cv_btn:hover {
    /*background:#222;*/
    /* color:#fff;*/
  }
  /* line 221, component.scss */
  .cv_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 40px;
    height: 1px;
    /*background:#222;*/
    transition: all .2s linear;
  }
  /* line 231, component.scss */
  .cv_btn::after {
    content: "";
    /*絶対配置で矢印の位置を決める*/
    position: absolute;
    top: 20%;
    right: 25px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    /*background:#222;*/
    transform: skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
  }
  /* line 245, component.scss */
  .cv_btn:hover::before {
    right: -40px;
  }
  /* line 248, component.scss */
  .cv_btn:hover::after {
    right: -32px;
  }
}
@media screen and (max-width: 780px) {
  /* line 254, component.scss */
  .cv_btn {
    position: relative;
    padding: 10px 90px 10px 60px;
    display: block;
    text-align: center;
    text-decoration: none;
    /*color: #222;*/
    font-size: 1.4rem;
    /*アニメーションの指定*/
    transition: all .2s linear;
  }
  /* line 264, component.scss */
  .cv_btn:hover {
    /*background:#222;*/
    /* color:#fff;*/
  }
  /* line 268, component.scss */
  .cv_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 20px;
    height: 1px;
    /*background:#222;*/
    transition: all .2s linear;
  }
  /* line 278, component.scss */
  .cv_btn::after {
    content: "";
    /*絶対配置で矢印の位置を決める*/
    position: absolute;
    top: 25%;
    right: 15px;
    /*矢印の形状*/
    width: 1px;
    height: 10px;
    /*background:#222;*/
    transform: skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
  }
  /* line 292, component.scss */
  .cv_btn:hover::before {
    right: -20px;
  }
  /* line 295, component.scss */
  .cv_btn:hover::after {
    right: -15px;
  }
}
/* line 302, component.scss */
.cv_btn_bk {
  position: relative;
  border: 1px solid #222;
  padding: 10px 120px 10px 60px;
  display: block;
  text-align: center;
  text-decoration: none;
  background-color: #222;
  color: #fff;
  font-size: 1.4rem;
  transition: all .2s linear;
}
/* line 313, component.scss */
.cv_btn_bk:hover {
  background: #fff;
  color: #222;
}
/* line 317, component.scss */
.cv_btn_bk::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 40px;
  height: 1px;
  background: #fff;
  transition: all .2s linear;
}
/* line 327, component.scss */
.cv_btn_bk::after {
  content: "";
  position: absolute;
  top: 24%;
  right: 20px;
  width: 1px;
  height: 12px;
  background: #fff;
  transform: skewX(45deg);
  transition: all .2s linear;
}
/* line 338, component.scss */
.cv_btn_bk:hover::before {
  right: -40px;
  background-color: #222;
}
/* line 342, component.scss */
.cv_btn_bk:hover::after {
  right: -32px;
  background-color: #222;
}

/* line 350, component.scss */
.nanairo_cv_pink {
  position: relative;
  padding: 10px 120px 10px 60px;
  display: block;
  text-align: center;
  text-decoration: none;
  /*background-color: $n-pink;*/
  /*color: #222;*/
  font-size: 1.4rem;
  transition: all .2s linear;
}
/* line 360, component.scss */
.nanairo_cv_pink:hover {
  background: #ddd;
  color: #222;
}
/* line 364, component.scss */
.nanairo_cv_pink::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 40px;
  height: 1px;
  /*background:#222;*/
  transition: all .2s linear;
}
/* line 374, component.scss */
.nanairo_cv_pink::after {
  content: "";
  position: absolute;
  top: 24%;
  right: 20px;
  width: 1px;
  height: 12px;
  /*background:#222;*/
  transform: skewX(45deg);
  transition: all .2s linear;
}
/* line 385, component.scss */
.nanairo_cv_pink:hover::before {
  right: -40px;
  /*background-color: #222;*/
}
/* line 389, component.scss */
.nanairo_cv_pink:hover::after {
  right: -32px;
  /*background-color: #222;*/
}

@media screen and (min-width: 781px) {
  /* line 399, component.scss */
  .line_btn {
    position: relative;
    /*border: 1px solid $LINE;*/
    padding: 20px 90px 20px 60px;
    display: block;
    text-align: center;
    text-decoration: none;
    /*color: $LINE;*/
    font-size: 1.4rem;
    transition: all .2s linear;
  }
  /* line 409, component.scss */
  .line_btn:hover {
    /*background:$LINE;*/
    /*border-color: $LINE;*/
    /*color:#fff;*/
  }
  /* line 414, component.scss */
  .line_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 60px;
    height: 1px;
    /*background:$LINE;*/
    transition: all .2s linear;
  }
  /* line 424, component.scss */
  .line_btn::after {
    content: "";
    position: absolute;
    top: 20%;
    right: 25px;
    width: 1px;
    height: 20px;
    /*background:$LINE;*/
    transform: skewX(45deg);
    transition: all .2s linear;
  }
  /* line 435, component.scss */
  .line_btn:hover::before {
    right: -40px;
  }
  /* line 438, component.scss */
  .line_btn:hover::after {
    right: -32px;
  }

  /* line 443, component.scss */
  .contact_btn {
    position: relative;
    /*border: 1px solid $LINE;*/
    padding: 20px 90px 20px 60px;
    display: block;
    text-align: center;
    text-decoration: none;
    /*color: $LINE;*/
    font-size: 1.4rem;
    transition: all .2s linear;
  }
  /* line 453, component.scss */
  .contact_btn:hover {
    /*background:$LINE;*/
    /*border-color: $LINE;*/
    /*color:#fff;*/
  }
  /* line 458, component.scss */
  .contact_btn::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    width: 60px;
    height: 1px;
    /*background:$LINE;*/
    transition: all .2s linear;
  }
  /* line 468, component.scss */
  .contact_btn::after {
    content: "";
    position: absolute;
    top: 20%;
    right: 25px;
    width: 1px;
    height: 20px;
    /*background:$LINE;*/
    transform: skewX(45deg);
    transition: all .2s linear;
  }
  /* line 479, component.scss */
  .contact_btn:hover::before {
    right: -40px;
  }
  /* line 482, component.scss */
  .contact_btn:hover::after {
    right: -32px;
  }

  /* line 487, component.scss */
  .shop_btn {
    /*矢印の基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    /*border: 1px solid $danger;*/
    padding: 20px 90px 20px 60px;
    display: block;
    text-align: center;
    text-decoration: none;
    /*color: #fff;*/
    /*background-color: $danger;*/
    font-size: 1.4rem;
    /*アニメーションの指定*/
    transition: all .2s linear;
  }
  /* line 501, component.scss */
  .shop_btn:hover {
    /*background:#222;*/
    /*border-color: #222;*/
    /*color:#fff;*/
  }
  /* line 506, component.scss */
  .shop_btn::before {
    content: "";
    /*絶対配置で下線の位置を決める*/
    position: absolute;
    top: 50%;
    right: 15px;
    /*下線の形状*/
    width: 60px;
    height: 1px;
    /* background:#fff;*/
    /*アニメーションの指定*/
    transition: all .2s linear;
  }
  /* line 519, component.scss */
  .shop_btn::after {
    content: "";
    /*絶対配置で矢印の位置を決める*/
    position: absolute;
    top: 20%;
    right: 25px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    /*background:#fff;*/
    transform: skewX(45deg);
    /*アニメーションの指定*/
    transition: all .2s linear;
  }
  /* line 533, component.scss */
  .shop_btn:hover::before {
    right: -40px;
    /*background-color: #222;*/
  }
  /* line 537, component.scss */
  .shop_btn:hover::after {
    right: -32px;
    /*background-color: #222;*/
  }
}
@media screen and (max-width: 780px) {
  /* line 544, component.scss */
  .line_btn {
    position: relative;
    /*border: 1px solid $LINE;*/
    padding: 15px;
    display: block;
    text-align: center;
    text-decoration: none;
    /*color: $LINE;*/
    font-size: 1.4rem;
    transition: all .2s linear;
  }
  /* line 554, component.scss */
  .line_btn:hover {
    /*background:$LINE;*/
    /*border-color: $LINE;*/
    /*color:#fff;*/
  }

  /* line 561, component.scss */
  .contact_btn {
    position: relative;
    /*border: 1px solid $LINE;*/
    padding: 15px;
    display: block;
    text-align: center;
    text-decoration: none;
    /*color: $LINE;*/
    font-size: 1.4rem;
    transition: all .2s linear;
  }

  /* line 573, component.scss */
  .shop_btn {
    /*矢印の基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    /*border: 1px solid $danger;*/
    padding: 15px;
    display: block;
    text-align: center;
    text-decoration: none;
    /*color: #fff;*/
    /*background-color: $danger;*/
    font-size: 1.4rem;
    /*アニメーションの指定*/
    transition: all .2s linear;
  }
  /* line 587, component.scss */
  .shop_btn:hover {
    /*background:#222;*/
    /*border-color: #222;*/
    /*color:#fff;*/
  }
}
/* line 598, component.scss */
.cv_btn_sm {
  position: relative;
  border: 1px solid #222;
  padding: 10px 90px 10px 60px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #222;
  font-size: 1.4rem;
  transition: all .2s linear;
}
/* line 608, component.scss */
.cv_btn_sm:hover {
  background: #222;
  color: #fff;
}
/* line 612, component.scss */
.cv_btn_sm::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 40px;
  height: 1px;
  background: #222;
  transition: all .2s linear;
}
/* line 622, component.scss */
.cv_btn_sm::after {
  content: "";
  position: absolute;
  top: 20%;
  right: 21px;
  width: 1px;
  height: 13px;
  background: #222;
  transform: skewX(45deg);
  transition: all .2s linear;
}
/* line 633, component.scss */
.cv_btn_sm:hover::before {
  right: -40px;
}
/* line 636, component.scss */
.cv_btn_sm:hover::after {
  right: -32px;
}

/* line 641, component.scss */
.line_btn_sm {
  position: relative;
  /*border: 1px solid $LINE;*/
  padding: 10px 90px 10px 60px;
  display: block;
  text-align: center;
  text-decoration: none;
  /*color: $LINE;*/
  font-size: 1.4rem;
  transition: all .2s linear;
}
/* line 651, component.scss */
.line_btn_sm:hover {
  /*background:$LINE;*/
  /*color:#fff;*/
}
/* line 655, component.scss */
.line_btn_sm::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 40px;
  height: 1px;
  /*background:$LINE;*/
  transition: all .2s linear;
}
/* line 665, component.scss */
.line_btn_sm::after {
  content: "";
  position: absolute;
  top: 20%;
  right: 21px;
  width: 1px;
  height: 13px;
  /*background:$LINE;*/
  transform: skewX(45deg);
  transition: all .2s linear;
}
/* line 676, component.scss */
.line_btn_sm:hover::before {
  right: -40px;
}
/* line 679, component.scss */
.line_btn_sm:hover::after {
  right: -32px;
}

/* line 691, component.scss */
.loader {
  position: fixed;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 5000;
  animation-name: is-anime;
  animation-fill-mode: forwards;
  animation-duration: 6s;
  animation-delay: 0;
  background-color: #fff;
}
/* line 705, component.scss */
.loader .loader_wrap {
  z-index: 5001;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -35px);
}
/* line 711, component.scss */
.loader .loader_wrap .loader_logo {
  height: 70px;
  width: auto;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}
/* line 718, component.scss */
.loader .loader_wrap .loader_logo .loader_word {
  animation-name: wave;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-timing-function: ease-in-out;
}
/* line 723, component.scss */
.loader .loader_wrap .loader_logo .loader_word img {
  height: 70px;
  width: auto;
}
/* line 728, component.scss */
.loader .loader_wrap .loader_logo .word01 {
  animation-delay: 1s;
}
/* line 731, component.scss */
.loader .loader_wrap .loader_logo .word02 {
  animation-delay: 1.2s;
}
/* line 734, component.scss */
.loader .loader_wrap .loader_logo .word03 {
  animation-delay: 1.4s;
}
/* line 737, component.scss */
.loader .loader_wrap .loader_logo .word04 {
  animation-delay: 1.6s;
}
/* line 740, component.scss */
.loader .loader_wrap .loader_logo .word05 {
  animation-delay: 1.8s;
}
/* line 743, component.scss */
.loader .loader_wrap .loader_logo .word06 {
  animation-delay: 2s;
}
/* line 746, component.scss */
.loader .loader_wrap .loader_logo .word07 {
  animation-delay: 2.2s;
}

@keyframes wave {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes is-anime {
  0% {
    opacity: 1;
    background-color: #faf2e6;
    height: 100vh;
  }
  70% {
    opacity: 1;
    background-color: #faf2e6;
    height: 100vh;
  }
  99% {
    z-index: 9999;
    opacity: 0;
    height: 0;
  }
  100% {
    z-index: -2;
    display: none;
    opacity: 0;
    background-color: #fff;
    height: 0;
  }
}
@-webkit-keyframes is-anime {
  0% {
    opacity: 1;
    background-color: #faf2e6;
    height: 100vh;
  }
  70% {
    opacity: 1;
    background-color: #faf2e6;
    height: 100vh;
  }
  99% {
    z-index: 9999;
    opacity: 0;
    height: 0;
  }
  100% {
    z-index: -2;
    display: none;
    opacity: 0;
    background-color: #fff;
    height: 0;
  }
}
/* line 816, component.scss */
.page_transition {
  position: fixed;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 1000;
  animation-name: page_transition;
  animation-fill-mode: forwards;
  animation-duration: 2s;
  animation-delay: 0;
}

@keyframes page_transition {
  0% {
    z-index: 1000;
    opacity: 1;
    background-color: #f9f0de;
    opacity: 1;
  }
  100% {
    z-index: -2;
    opacity: 0;
    display: none;
  }
}
/*サブページ遷移カーテン*/
/* line 858, component.scss */
.curtain {
  position: fixed;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 800;
  animation-name: curtain;
  animation-fill-mode: forwards;
  animation-duration: 3.5s;
  animation-delay: 0;
}
/* line 873, component.scss */
.curtain .curtain_wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
/* line 884, component.scss */
.curtain .curtain_wrap .curtain_title {
  z-index: 1100;
  color: #fff;
  width: 100%;
  text-align: center;
  animation-name: curtain-text;
  animation-fill-mode: forwards;
  animation-duration: 3.5s;
  animation-delay: 0;
}
/* line 893, component.scss */
.curtain .curtain_wrap .curtain_title h2 {
  font-size: 90px;
}
/* line 896, component.scss */
.curtain .curtain_wrap .curtain_title small {
  display: block;
  font-size: 21px;
  font-weight: bold;
}
/* line 902, component.scss */
.curtain .curtain_wrap .curtain1 {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 120%;
  height: 120vh;
  margin-left: -100px;
  margin-top: -100px;
  z-index: 1000;
  animation-name: curtain-open1;
  animation-fill-mode: forwards;
  animation-duration: 3.5s;
  animation-delay: 0;
  transform: rotate(5deg);
}
/* line 920, component.scss */
.curtain .curtain_wrap .curtain2 {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 120%;
  height: 120vh;
  margin-left: -100px;
  margin-top: -100px;
  z-index: 900;
  animation-name: curtain-open2;
  animation-fill-mode: forwards;
  animation-duration: 3.5s;
  transform: rotate(5deg);
  animation-delay: 0.2;
  filter: brightness(70%);
}
/* line 939, component.scss */
.curtain .curtain_wrap .curtain3 {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  z-index: 800;
  animation-name: curtain-open3;
  animation-fill-mode: forwards;
  animation-duration: 3.5s;
  transform: rotate(5deg);
  transform: scale(1.2);
  animation-delay: 0;
  filter: brightness(50%);
}

@keyframes curtain-open1 {
  0% {
    width: 120%;
  }
  30% {
    width: 15%;
  }
  70% {
    width: 15%;
  }
  100% {
    width: 0;
    z-index: -2;
    display: none;
  }
}
@-webkit-keyframes curtain-open1 {
  0% {
    width: 120%;
  }
  30% {
    width: 15%;
  }
  70% {
    width: 15%;
  }
  100% {
    width: 0;
    z-index: -2;
    display: none;
  }
}
@keyframes curtain-open2 {
  0% {
    width: 120%;
  }
  40% {
    width: 28%;
  }
  70% {
    width: 28%;
  }
  100% {
    width: 0;
    z-index: -2;
    display: none;
  }
}
@-webkit-keyframes curtain-open2 {
  0% {
    width: 120%;
  }
  40% {
    width: 28%;
  }
  70% {
    width: 28%;
  }
  100% {
    width: 0;
    z-index: -2;
    display: none;
  }
}
@keyframes curtain-open3 {
  0% {
    width: 100%;
  }
  30% {
    width: 100%;
  }
  70% {
    width: 100%;
  }
  100% {
    width: 0;
    z-index: -2;
    display: none;
  }
}
@-webkit-keyframes curtain-open3 {
  0% {
    width: 100%;
  }
  30% {
    width: 100%;
  }
  70% {
    width: 100%;
  }
  100% {
    width: 0;
    z-index: -2;
    display: none;
  }
}
@keyframes curtain {
  99% {
    z-index: 800;
  }
  100% {
    z-index: -2;
    display: none;
  }
}
@-webkit-keyframes curtain {
  99% {
    z-index: 800;
  }
  100% {
    z-index: -2;
    display: none;
  }
}
@-webkit-keyframes curtain-text {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  30% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes curtain-text {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  30% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
  }
  50% {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*共通コンポーネント｜写真ギャラリー*/
@media screen and (min-width: 1501px) {
  /* line 1140, component.scss */
  .gallery_wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 30px;
    grid-row-gap: 60px;
  }
  /* line 1146, component.scss */
  .gallery_wrap .location_gallery_text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
  }
  /* line 1151, component.scss */
  .gallery_wrap .location_gallery_text .location_period_disp {
    font-size: 0.9rem;
    padding: 0px;
    transition: 0.3s;
    border-radius: 3px;
    color: #fff;
  }
  /* line 1157, component.scss */
  .gallery_wrap .location_gallery_text .location_period_disp a {
    padding: 2px 10px;
    transition: 0.3s;
  }
  /* line 1160, component.scss */
  .gallery_wrap .location_gallery_text .location_period_disp a:hover {
    transition: 0.3s;
    background-color: #222;
  }
}
@media screen and (min-width: 781px) and (max-width: 1500px) {
  /* line 1170, component.scss */
  .gallery_wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 45px;
  }
  /* line 1176, component.scss */
  .gallery_wrap .location_gallery_text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
  }
  /* line 1181, component.scss */
  .gallery_wrap .location_gallery_text .location_period_disp {
    font-size: 0.9rem;
    padding: 0px;
    transition: 0.3s;
    color: #fff;
  }
  /* line 1186, component.scss */
  .gallery_wrap .location_gallery_text .location_period_disp a {
    border-radius: 3px;
    padding: 2px 10px;
    transition: 0.3s;
  }
  /* line 1190, component.scss */
  .gallery_wrap .location_gallery_text .location_period_disp a:hover {
    transition: 0.3s;
    background-color: #222;
  }
}
@media screen and (max-width: 780px) {
  /* line 1200, component.scss */
  .gallery_wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 15px;
    grid-row-gap: 45px;
  }
  /* line 1210, component.scss */
  .gallery_wrap .location_gallery_box .location_gallery_text {
    margin-top: 5px;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.0rem;
  }
  /* line 1214, component.scss */
  .gallery_wrap .location_gallery_box .location_gallery_text .location_period_disp {
    display: inline;
  }
  /* line 1217, component.scss */
  .gallery_wrap .location_gallery_box .location_gallery_text .location_period_disp a {
    display: inline;
    color: #fff;
    padding: 1px 10px 1px 0;
    border-radius: 3px;
    margin: 0;
  }
}
@media screen and (min-width: 781px) {
  /* line 1234, component.scss */
  .headline_wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 45px;
    grid-row-gap: 45px;
  }

  /* line 1242, component.scss */
  .headline_imgset {
    position: relative;
    width: 100%;
    margin-bottom: 30px;
  }
  /* line 1246, component.scss */
  .headline_imgset .headline_img {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 100%;
  }
  /* line 1251, component.scss */
  .headline_imgset .headline_img img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    transition: 0.3s;
  }
  /* line 1264, component.scss */
  .headline_imgset .headline_img::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  /* line 1269, component.scss */
  .headline_imgset .headline_date {
    padding-top: 100%;
    position: absolute;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    width: 100px;
    grid-row-gap: 0px;
    font-family: "A1明朝", A1 Mincho;
    bottom: -70px;
    right: 0;
    z-index: 10;
  }
  /* line 1282, component.scss */
  .headline_imgset .headline_date .news_date {
    grid-area: 1 / 1 / 2 / 3;
    font-size: 4.8rem;
    border-bottom: 1px solid #222;
    line-height: 1;
    text-align: center;
  }
  /* line 1289, component.scss */
  .headline_imgset .headline_date .news_month {
    line-height: 1;
    grid-area: 2 / 1 / 3 / 2;
    font-size: 1.3rem;
    text-align: right;
    padding-top: 3px;
    padding-right: 5px;
  }
  /* line 1297, component.scss */
  .headline_imgset .headline_date .news_year {
    line-height: 1;
    grid-area: 2 / 2 / 3 / 3;
    font-size: 1.3rem;
    padding-top: 3px;
    padding-left: 5px;
  }

  /* line 1306, component.scss */
  .headline_textset {
    padding-top: 15px;
    display: flex;
    align-items: stretch;
    flex-direction: column;
  }
  /* line 1312, component.scss */
  .headline_textset .headline_title h4 {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
    padding: 10px 0 0 0;
    transition: 0.3s;
    font-size: 1.4rem;
  }
  /* line 1323, component.scss */
  .headline_textset .headline_cat .cat_icon {
    margin-top: auto;
    background-color: #666;
    color: #fff;
    text-align: center;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 0.9rem;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
  }
}
@media screen and (max-width: 780px) {
  /* line 1339, component.scss */
  .headline_wrap_sp {
    display: flex;
    flex-direction: column;
  }
  /* line 1342, component.scss */
  .headline_wrap_sp .headline_box_sp {
    margin-bottom: 30px;
  }
  /* line 1344, component.scss */
  .headline_wrap_sp .headline_box_sp a {
    display: block;
  }
  /* line 1347, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
  }
  /* line 1352, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_imgset_sp {
    flex-basis: 30%;
    position: relative;
    border: 1px solid #cdcdcd;
  }
  /* line 1356, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_imgset_sp::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  /* line 1361, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_imgset_sp img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
  }
  /* line 1373, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_textset_sp {
    flex-basis: 65%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  /* line 1379, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_textset_sp .headline_cat {
    flex-basis: 50%;
  }
  /* line 1381, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_textset_sp .headline_cat .cat_icon {
    margin-top: auto;
    background-color: #666;
    color: #fff;
    text-align: center;
    padding: 2px 10px;
    border-radius: 4px;
    font-size: 0.9rem;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
  }
  /* line 1394, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_textset_sp .headline_date {
    flex-basis: 50%;
  }
  /* line 1397, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_textset_sp .headline_title {
    flex-basis: 100%;
  }
  /* line 1399, component.scss */
  .headline_wrap_sp .headline_box_sp .headline_box_inner .headline_textset_sp .headline_title h4 {
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 500;
    font-style: normal;
    padding: 10px 0 0 0;
    transition: 0.3s;
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 781px) {
  /* line 1422, component.scss */
  .faq_content .accordion_wrap {
    width: 100%;
    margin-bottom: 30px;
  }
  /* line 1425, component.scss */
  .faq_content .accordion_wrap .accordion_question {
    background-color: #fff;
    border: 1px solid #222;
    border-radius: 5px;
    color: #222;
    font-size: 1.4rem;
    padding: 15px 30px 15px 30px;
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition-duration: 0.3s;
  }
  /* line 1437, component.scss */
  .faq_content .accordion_wrap .accordion_question.open {
    background-color: #222;
    color: #fff;
    transition: 0.3s;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
  }
  /* line 1444, component.scss */
  .faq_content .accordion_wrap .accordion_question .i_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    color: #222;
    transform-origin: center center;
    transition-duration: 0.3s;
    font-size: 1.8rem;
  }
  /* line 1459, component.scss */
  .faq_content .accordion_wrap .accordion_question.open .i_box {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    color: #fff;
    transition: 0.3s;
  }
  /* line 1466, component.scss */
  .faq_content .accordion_wrap .accordion_answer {
    display: none;
    padding: 30px;
    border: 1px solid #222;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 780px) {
  /* line 1479, component.scss */
  .faq_content .accordion_wrap {
    width: 100%;
    margin-bottom: 30px;
  }
  /* line 1482, component.scss */
  .faq_content .accordion_wrap .accordion_question {
    background-color: #fff;
    border: 1px solid #222;
    border-radius: 5px;
    color: #222;
    font-size: 1.4rem;
    padding: 15px 45px 15px 15px;
    position: relative;
    z-index: +1;
    cursor: pointer;
    transition-duration: 0.3s;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  /* line 1494, component.scss */
  .faq_content .accordion_wrap .accordion_question.open {
    background-color: #222;
    color: #fff;
    transition: 0.3s;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
  }
  /* line 1501, component.scss */
  .faq_content .accordion_wrap .accordion_question .i_box {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    right: 15px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    color: #222;
    transform-origin: center center;
    transition-duration: 0.3s;
    font-size: 1.8rem;
  }
  /* line 1516, component.scss */
  .faq_content .accordion_wrap .accordion_question.open .i_box {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    color: #fff;
    transition: 0.3s;
  }
  /* line 1523, component.scss */
  .faq_content .accordion_wrap .accordion_answer {
    display: none;
    padding: 15px;
    border: 1px solid #222;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    margin-bottom: 30px;
  }
}
/* line 1539, component.scss */
#yesno_wrap #question_wrap {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 0.5rem;
}
/* line 1544, component.scss */
#yesno_wrap #question_wrap .yesno_q {
  text-align: center;
  display: block;
  padding: 1.4rem;
  margin-bottom: 1.8rem;
  font-size: 1.8rem;
  font-weight: bold;
  border: 1px #333 solid;
  border-radius: 10px;
}
/* line 1553, component.scss */
#yesno_wrap #question_wrap .yesno_q dt {
  display: block;
  padding: 1.4rem;
  margin-bottom: 1.8rem !important;
}
/* line 1558, component.scss */
#yesno_wrap #question_wrap .yesno_q dt span {
  padding: 1.4rem;
  font-size: 1.4rem;
  font-weight: bold;
  background: #17a2b8;
  color: #fff;
  border-radius: 5px;
}
/* line 1566, component.scss */
#yesno_wrap #question_wrap .yesno_q .yesno_q dd {
  padding: 1.8rem !important;
}
/* line 1571, component.scss */
#yesno_wrap #choices {
  list-style: none;
  margin: 0 !important;
  padding: 0;
  padding-left: 0;
}
/* line 1576, component.scss */
#yesno_wrap #choices li {
  list-style: none !important;
  margin-left: 0;
}
/* line 1580, component.scss */
#yesno_wrap #choices li button {
  width: 100%;
  padding: 0.7em 1em;
  margin-bottom: 10px;
  font-size: 16px;
  border-radius: 5px;
  background: #222;
  color: #ffffff;
  transition: 0.3s;
  text-align: center;
}
/* line 1591, component.scss */
#yesno_wrap #choices li:nth-child(1) button:hover {
  background: #dc3545;
  transition: 0.3s;
}
/* line 1595, component.scss */
#yesno_wrap #choices li:nth-child(2) button:hover {
  background: #007bff;
  transition: 0.3s;
}
/* line 1599, component.scss */
#yesno_wrap #choices li:nth-child(3) button:hover {
  background: #28a745;
  transition: 0.3s;
}
/* line 1603, component.scss */
#yesno_wrap #choices li:nth-child(4) button:hover {
  background: #ffc107;
  transition: 0.3s;
}
/* line 1607, component.scss */
#yesno_wrap #choices li:nth-child(4) button:hover {
  background: #17a2b8;
  transition: 0.3s;
}
/* line 1611, component.scss */
#yesno_wrap #choices li:nth-child(5) button:hover {
  background: #6610f2;
  transition: 0.3s;
}
/* line 1615, component.scss */
#yesno_wrap #choices li:nth-child(6) button:hover {
  background: #fd7e14;
  transition: 0.3s;
}
/* line 1619, component.scss */
#yesno_wrap #choices li:nth-child(7) button:hover {
  background: #0d6efd;
  transition: 0.3s;
}
/* line 1623, component.scss */
#yesno_wrap #choices li:nth-child(8) button:hover {
  background: #d63384;
  transition: 0.3s;
}
/* line 1627, component.scss */
#yesno_wrap #choices li:nth-child(9) button:hover {
  background: shade-color(#20c997, 20%);
  transition: 0.3s;
}

/* line 1637, component.scss */
.updated.announce.normal {
  border-color: #A6A6A6;
  padding: 0;
  margin: 0;
}

/* line 1642, component.scss */
.updated {
  padding: 0;
  margin: 0;
}

/* line 1646, component.scss */
.updated.announce.nonstyle {
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: none;
  padding: 0;
  margin: 0;
}
/* line 1652, component.scss */
.updated.announce.nonstyle .hndle {
  background-color: #0D7857;
  color: #fff;
  margin: 0;
  padding: 10px 10px;
  font-size: 1.2rem;
}

/* line 1660, component.scss */
.dashboard_info {
  padding: 15px 30px;
}
/* line 1662, component.scss */
.dashboard_info .dashboard_info_wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
/* line 1667, component.scss */
.dashboard_info .dashboard_info_wrap .dashboard_column01,
.dashboard_info .dashboard_info_wrap .dashboard_column02 {
  flex-basis: 48%;
}
/* line 1673, component.scss */
.dashboard_info .dashboard_links table {
  width: 100%;
}
/* line 1676, component.scss */
.dashboard_info .dashboard_links th {
  background-color: #666;
  color: #fff;
  font-size: 0.8em;
  text-align: center;
  padding: 3px;
}
/* line 1683, component.scss */
.dashboard_info .dashboard_links td {
  border-bottom: 1px solid #cdcdcd;
  padding: 5px;
}

/* line 1693, component.scss */
.lineTrigger {
  position: relative;
  /* 枠線が書かれる基点*/
  opacity: 0;
}

/* line 1698, component.scss */
.lineTrigger.lineanime {
  animation-name: lineAnimeBase;
  animation-duration: .3s;
  animation-fill-mode: forwards;
}

@keyframes lineAnimeBase {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*上下線*/
/* line 1714, component.scss */
.lineTrigger::before,
.lineTrigger::after {
  position: absolute;
  content: '';
  width: 0;
  height: 1px;
  background: #222;
  /* 枠線の色*/
}

/*左右線*/
/* line 1724, component.scss */
.line2::before,
.line2::after {
  position: absolute;
  content: '';
  width: 1px;
  height: 0;
  background: #222;
  /* 枠線の色*/
}

/*上線*/
/* line 1734, component.scss */
.lineTrigger::before {
  top: 0;
  left: 0;
}

/* line 1739, component.scss */
.lineTrigger.lineanime::before {
  animation: lineAnime1 2.5s linear 1s forwards;
  /*表示されて1秒後に上線が1.2秒かけて表示*/
}

/*右線*/
/* line 1744, component.scss */
.line2::before {
  top: 0;
  right: 0;
}

/* line 1749, component.scss */
.lineTrigger.lineanime .line2::before {
  animation: lineAnime2 2.5s linear 1s forwards;
  /*表示されて1.3秒後に右線が0.9秒かけて表示*/
}

/*下線*/
/* line 1754, component.scss */
.lineTrigger::after {
  bottom: 0;
  right: 0;
}

/* line 1759, component.scss */
.lineTrigger.lineanime::after {
  animation: lineAnime3 2.5s linear 1s forwards;
  /*表示されて1.6秒後に下線が0.5秒かけて表示*/
}

/*左線*/
/* line 1764, component.scss */
.line2::after {
  bottom: 0;
  left: 0;
}

/* line 1769, component.scss */
.lineTrigger.lineanime .line2::after {
  animation: lineAnime4 2.5s linear 1s forwards;
  /*表示されて1.9秒後に左線が0.5秒かけて表示*/
}

@keyframes lineAnime1 {
  0% {
    width: 0%;
    opacity: 1;
  }
  10% {
    width: 100%;
    z-index: 100;
  }
  80% {
    width: 100%;
    z-index: 100;
    opacity: 1;
  }
  100% {
    width: 100%;
    opacity: 0;
  }
}
@keyframes lineAnime2 {
  0% {
    height: 0%;
  }
  10% {
    height: 0%;
  }
  20% {
    height: 100%;
    z-index: 100;
  }
  80% {
    height: 100%;
    z-index: 100;
    opacity: 1;
  }
  100% {
    opacity: 0;
    height: 100%;
  }
}
@keyframes lineAnime3 {
  0% {
    width: 0%;
  }
  20% {
    width: 0%;
  }
  30% {
    width: 100%;
    z-index: 100;
  }
  80% {
    width: 100%;
    z-index: 100;
    opacity: 1;
  }
  100% {
    opacity: 0;
    width: 100%;
  }
}
@keyframes lineAnime4 {
  0% {
    height: 0%;
  }
  30% {
    height: 0%;
  }
  40% {
    height: 100%;
    z-index: 100;
    opacity: 1;
  }
  80% {
    height: 100%;
    z-index: 100;
    opacity: 1;
  }
  100% {
    opacity: 0;
    height: 100%;
  }
}
/*枠線内側の要素*/
/* line 1861, component.scss */
.lineTrigger.lineanime .lineinappear {
  animation: lineInnerAnime 1s linear 2.5s forwards;
  /*1.5秒後に中央のエリアが0.5秒かけて表示*/
  opacity: 0;
  /*初期値を透過0にする*/
}

@keyframes lineInnerAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*# sourceMappingURL=component.css.map */
