@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/* Scss Document */
/* Scss Document */
:root {
  --headheight:80px;
  --bp_sp:520px;
  --bp_tab:bp2;
  --sidewidth:0px;
  --cont_margin:20px;
  --basefont:calc( ( 100vw - var(--cont_margin) * 2 ) / 27 );
  --fontsize_n:1rem;
  --fontsize_l:1.14rem;
  --fontsize_ll:1.9rem;
  --fontsize_xl:2.6rem;
  --fontsize_s:0.86rem;
  --fontsize_ss:0.66rem; }

@media (min-width: 521px) {
  :root {
    --cont_margin:40px;
    --basefont:calc( ( 100vw - var(--cont_margin) * 2 ) / 48 ); } }
@media (min-width: 640px) {
  :root {
    --basefont:calc( ( 100vw - var(--cont_margin) * 2 ) / 54 ); } }
@media (min-width: 768px) {
  :root {
    --headheight:120px;
    --sidewidth:0px;
    --cont_margin:40px;
    --basefont:calc( ( 100vw - var(--cont_margin) * 2 ) / 60 ); } }
@media (min-width: 960px) {
  :root {
    --sidewidth:0px;
    --basefont:14px; } }
body, html {
  width: 100%;
  min-height: 100vh;
  box-sizing: border-box;
  transition: none !important;
  font-size: var(--basefont);
  scroll-behavior: smooth;
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400; }

html {
  height: -webkit-fill-available; }

body {
  background: #FCFBF8;
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.1rem;
  text-rendering: auto;
  color: #333333;
  word-wrap: break-word;
  font-feature-settings: "palt";
  min-height: -webkit-fill-available;
  position: relative;
  font-weight: 700; }
  @media (max-width: 767px) {
    body {
      letter-spacing: normal; } }

div, p, img, iframe {
  padding: 0;
  margin: 0;
  border: 0; }

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
  padding: 0;
  margin: 0;
  line-height: 1.5;
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700; }

h1, .h1 {
  font-size: 3rem; }
  @media (min-width: 768px) {
    h1, .h1 {
      font-size: 3rem; } }

h2, .h2 {
  font-size: 2rem; }
  @media (min-width: 768px) {
    h2, .h2 {
      font-size: 2.4rem; } }

h3, .h3 {
  font-size: 1.6rem; }
  @media (min-width: 768px) {
    h3, .h3 {
      font-size: 1.5rem; } }

h4, .h4 {
  font-size: 1.2rem; }

h5, .h5 {
  font-size: 1.1rem; }

a {
  text-decoration: underline;
  color: #DC4A2A; }
  a.blank::after {
    font-family: 'Font Awesome 6 Free';
    content: "\f08e";
    margin-left: 10px;
    font-size: 0.66rem;
    transform-origin: left center;
    transform: scale(0.8); }
  a.link_words {
    text-decoration: none;
    color: #333333;
    border-bottom: 1px dotted #ddd; }
    a.link_words::after {
      font-family: 'Font Awesome 6 Free';
      content: "\f059";
      margin-left: 5px;
      margin-right: 5px;
      font-size: 0.66rem;
      transform-origin: left center;
      transform: scale(0.8);
      position: relative;
      top: -2px;
      color: #ddd; }

a:hover,
a:focus {
  text-decoration: none; }

.eng {
  font-family: "Poppins", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400; }

.bold {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900; }

img {
  line-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  max-width: 100%; }

.fit_image {
  position: relative; }
  .fit_image img {
    width: 100%;
    height: auto; }

.photo .bg {
  height: 0;
  padding-top: 56%;
  background-color: #ddd;
  background-image: url(../images/common/thumb.jpg); }

.video video {
  width: 100%;
  height: auto; }

figure {
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  line-height: 0; }
  figure img {
    max-width: 100%;
    height: auto !important; }
  figure figcaption {
    font-size: 0.86rem;
    line-height: 1.5; }

picture {
  width: 100%;
  max-width: 100%; }
  picture source,
  picture img {
    width: 100%; }

span {
  display: inline-block; }

.with_comma:not(:last-child)::after {
  content: "、"; }

sub {
  vertical-align: baseline; }

ul, li {
  margin: 0;
  padding: 0;
  list-style: none; }

.clearfix:after {
  content: ".";
  /* 新しい要素を作る */
  display: block;
  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden; }

.clearfix {
  min-height: 1px; }

* html .clearfix {
  height: 1px;
  /*\*/
     /*/
height: auto;
overflow: hidden;
/**/ }

.flex {
  --gap:space2;
  display: flex;
  grid-gap: 10px var(--gap); }
  .flex .flex_inner_sub .boxes {
    position: sticky;
    top: 140px; }
    .flex .flex_inner_sub .boxes .box:not(.bg_grey) {
      padding: 0; }
    .flex .flex_inner_sub .boxes .box.bg_grey {
      padding: 20px !important; }
      .flex .flex_inner_sub .boxes .box.bg_grey .head .icon {
        width: 24px;
        height: 24px; }
      .flex .flex_inner_sub .boxes .box.bg_grey .body .line a {
        display: flex;
        flex-wrap: wrap;
        grid-gap: 5px;
        align-items: center;
        color: #333333; }
      .flex .flex_inner_sub .boxes .box.bg_grey .body .line .icon {
        width: 12px;
        height: 12px; }
    .flex .flex_inner_sub .boxes .box:not(:first-child) .share_wrap {
      padding-top: 40px; }
  .flex .flex_inner_sub .to_link {
    width: 100%; }
    .flex .flex_inner_sub .to_link .a {
      width: 100%; }
  .flex.ac {
    align-items: center; }
  .flex.flex_archives .flex_inner_sub .btns_archives,
  .flex.flex_archives .flex_inner_sub .steps {
    flex-direction: row;
    flex-wrap: nowrap; }
    .flex.flex_archives .flex_inner_sub .btns_archives .btn,
    .flex.flex_archives .flex_inner_sub .steps .btn {
      flex: 1;
      height: 68px; }
      .flex.flex_archives .flex_inner_sub .btns_archives .btn .a,
      .flex.flex_archives .flex_inner_sub .steps .btn .a {
        text-decoration: none;
        border: 1px solid #ddd;
        color: #333333; }
      .flex.flex_archives .flex_inner_sub .btns_archives .btn .icon,
      .flex.flex_archives .flex_inner_sub .steps .btn .icon {
        width: 24px;
        height: 24px; }
      .flex.flex_archives .flex_inner_sub .btns_archives .btn.here .a,
      .flex.flex_archives .flex_inner_sub .steps .btn.here .a {
        border-color: #DC4A2A;
        color: #DC4A2A; }
        .flex.flex_archives .flex_inner_sub .btns_archives .btn.here .a .icon svg *,
        .flex.flex_archives .flex_inner_sub .steps .btn.here .a .icon svg * {
          fill: #DC4A2A !important; }
  .flex.flex_archives .flex_inner_sub .btns_archives .btn .a {
    justify-content: flex-start; }
  .flex.flex_archives .flex_inner_sub .steps {
    grid-gap: 40px; }
    .flex.flex_archives .flex_inner_sub .steps .btn {
      position: relative;
      pointer-events: none; }
      .flex.flex_archives .flex_inner_sub .steps .btn:not(:last-child)::after {
        width: 14px;
        height: 14px;
        border: 1px solid transparent;
        transform: rotate(45deg);
        display: inline-block;
        box-sizing: border-box;
        border-right-color: #ddd;
        border-top-color: #ddd;
        position: absolute;
        right: -24px;
        top: 0;
        bottom: 0;
        margin: auto;
        content: ""; }
  @media (max-width: 767px) {
    .flex.flex_archives, .flex.flex_article {
      flex-direction: column; }
    .flex .flex_inner_sub .box.box_contact {
      margin-bottom: 80px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      padding: 20px !important;
      border: 1px solid #707070;
      /*.head{
          margin-bottom:0;
      }*/ }
      .flex .flex_inner_sub .box.box_contact .body {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        text-align: center; } }
  @media (min-width: 768px) {
    .flex.flex_archives, .flex.flex_article {
      --sidewidth:240px;
      --gap:40px; }
      .flex.flex_archives .flex_inner_sub, .flex.flex_article .flex_inner_sub {
        width: var(--sidewidth);
        min-width: var(--sidewidth);
        max-width: var(--sidewidth); }
      .flex.flex_archives .flex_inner_main, .flex.flex_article .flex_inner_main {
        width: calc( 100% - var(--sidewidth) - var(--gap) ); }
    .flex.flex_archives .flex_inner_sub .btns_archives,
    .flex.flex_archives .flex_inner_sub .steps {
      width: 100%;
      flex-direction: column; }
      .flex.flex_archives .flex_inner_sub .btns_archives .btn,
      .flex.flex_archives .flex_inner_sub .steps .btn {
        flex: auto;
        width: 100%; }
    .flex.flex_archives .flex_inner_sub .btns_archives .btn {
      height: 102px; }
    .flex.flex_archives .flex_inner_sub .steps .btn:not(:last-child)::after {
      left: 0;
      right: 0;
      top: auto;
      bottom: -24px;
      border-top-color: transparent;
      border-bottom-color: #ddd; } }
  @media (min-width: 960px) {
    .flex.flex_archives, .flex.flex_article {
      --sidewidth:260px;
      --gap:80px; } }
  .flex + .to_link {
    margin-top: 80px; }

table {
  width: 100%;
  border-collapse: collapse;
  border: 0; }

.a {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%; }
  .a > * {
    pointer-events: none; }
  .a:not(.disabled) {
    cursor: pointer; }
    .a:not(.disabled) > * {
      cursor: pointer; }

.nw {
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400; }

.b {
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700; }

.w40 {
  width: 40px !important; }

.w60 {
  width: 60px !important; }

.w80 {
  width: 80px !important; }

.w100 {
  width: 100px !important; }

.w120 {
  width: 120px !important; }

.w140 {
  width: 140px !important; }

.w160 {
  width: 160px !important; }

.w180 {
  width: 180px !important; }

.over100 {
  width: 100vw !important;
  transform: translateX(-20px); }
  @media (min-width: 768px) {
    .over100 {
      transform: translateX(-30px); } }
  @media (min-width: 960px) {
    .over100 {
      transform: translateX(-40px); } }

.mt0 {
  margin-top: 0 !important; }

.mb0 {
  margin-bottom: 0 !important; }

.mt10 {
  margin-top: 1rem !important; }

.mb10 {
  margin-bottom: 1rem !important; }

.ml10 {
  margin-left: 1rem !important; }

.mr10 {
  margin-right: 1rem !important; }

.mt20 {
  margin-top: 2rem !important; }

.mb20 {
  margin-bottom: 2rem !important; }

.mt30 {
  margin-top: 3rem !important; }

.mb30 {
  margin-bottom: 3rem !important; }

.mt40 {
  margin-top: 4rem !important; }

.mb40 {
  margin-bottom: 4rem !important; }

.mt50 {
  margin-top: 5rem !important; }

.mb50 {
  margin-bottom: 5rem !important; }

.mt60 {
  margin-top: 6rem !important; }

.mb60 {
  margin-bottom: 6rem !important; }

.mt80 {
  margin-top: 8rem !important; }

.mb80 {
  margin-bottom: 8rem !important; }

.caption {
  font-size: 0.9rem;
  line-height: 1.5; }

.caption_wrap {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .caption_wrap .caption:not(:last-child) {
    margin-bottom: 5px; }

.text {
  font-size: 1rem;
  line-height: 2; }
  .text.lh_wide {
    line-height: 3; }
  .text.flex {
    display: flex;
    flex-direction: column !important;
    grid-gap: 20px; }

.mini {
  font-size: 0.8rem;
  position: relative;
  top: -1px; }

.red {
  color: #E61F53; }

.blue {
  color: #DC4A2A; }

.underline {
  text-decoration: underline; }

.anchor {
  padding-top: 90px;
  margin-top: -90px;
  pointer-events: none; }
  @media (min-width: 960px) {
    .anchor {
      padding-top: 130px;
      margin-top: -130px; } }

.title_wrap {
  display: flex;
  flex-direction: column;
  grid-gap: 20px;
  width: fit-content;
  border-bottom: 1px solid #ddd;
  position: relative;
  padding-bottom: 20px; }
  .title_wrap .sub {
    font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 700; }
  .title_wrap::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    margin: auto;
    width: 120px;
    height: 1px;
    background: #333333; }
  .title_wrap.flex {
    flex-direction: row;
    align-items: center; }
    .title_wrap.flex .ja {
      font-weight: normal; }
  .title_wrap.title_wrap_no_border {
    border-bottom: 0;
    padding-bottom: 0; }
    .title_wrap.title_wrap_no_border::after {
      display: none; }
  .title_wrap.title_wrap_archive .to_link {
    justify-content: flex-start;
    margin: 0; }
  @media (min-width: 768px) {
    .title_wrap.title_wrap_archive {
      flex-direction: row;
      width: 100%;
      justify-content: space-between; } }

.box_wrap,
.box_wrap_slendar,
.box_wrap_minimum,
.container {
  position: relative;
  margin: 0 auto;
  width: calc( 100% - var(--cont_margin) * 2 );
  box-sizing: border-box;
  max-width: 1180px; }

.box_wrap_minimum {
  max-width: 568px; }

.box_wrap_slendar {
  max-width: 840px; }

.container {
  max-width: none; }

.bg_grey {
  background: #f7f7f7; }

.with_bg_grey::before {
  width: 100%;
  height: 240px;
  background: #f7f7f7;
  content: "";
  position: absolute;
  top: 0;
  left: 0; }

.section {
  position: relative;
  width: 100%; }
  .section.section_fit_height {
    min-height: 100vh;
    height: 100%;
    box-sizing: border-box; }
  .section.section_cont {
    padding-top: 40px;
    padding-bottom: 40px; }
    @media (min-width: 960px) {
      .section.section_cont {
        padding-top: 70px;
        padding-bottom: 70px; } }
    .section.section_cont.section_cont_pt0 {
      padding-top: 0 !important; }
    .section.section_cont.section_cont_pb0 {
      padding-bottom: 0 !important; }
    .section.section_cont.section_cont_pb_more {
      padding-bottom: 160px !important; }
  .section.cut_overflow_x {
    overflow: hidden;
    overflow-y: visible;
    width: 100vw; }
  @media (min-width: 768px) {
    .section.with_bg_grey .section_title_wrap {
      margin-bottom: 40px; } }
  .section[key=archives] .section_title_wrap {
    margin-bottom: 40px; }
  .section .section_title_wrap {
    margin-bottom: 40px;
    display: flex;
    flex-direction: column;
    grid-gap: 20px; }
    .section .section_title_wrap.tc {
      align-items: center; }
    @media (min-width: 768px) {
      .section .section_title_wrap {
        margin-bottom: 80px; } }

.tc {
  text-align: center !important; }

.tr {
  text-align: right !important; }

.tl {
  text-align: left !important; }

@media (max-width: 520px) {
  .tl_for_sp {
    text-align: left !important; } }
@media (min-width: 521px) {
  .for_sp {
    display: none !important; } }

@media (max-width: 520px) {
  .not_for_sp {
    display: none !important; } }

@media (max-width: 767px) {
  .for_device {
    display: none !important; } }

@media (min-width: 768px) {
  .not_for_device {
    display: none !important; } }

@media (max-width: 959px) {
  .for_pc {
    display: none !important; } }

@media (min-width: 960px) {
  .not_for_pc {
    display: none !important; } }

.radius {
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -khtml-border-radius: 4px;
  border-radius: 4px; }

.icon {
  width: 100%;
  height: 100%;
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain; }

.bg {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%; }

.fixed_center {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto; }

.movie {
  position: relative;
  height: 0;
  width: 100%;
  padding-top: calc( 100% * ( 9 / 16 ) ); }
  .movie > .inner {
    display: flex;
    justify-content: center;
    align-items: center; }
    .movie > .inner video {
      width: 100%;
      height: auto; }

.movie > iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto; }

.vertical_adjust_wrap {
  display: flex;
  flex-direction: column; }
  .vertical_adjust_wrap .vertical_adjust_margin {
    margin-bottom: auto; }

.gmap {
  position: relative;
  padding-top: 80%;
  background: #ddd; }

.eng {
  font-family: "Poppins", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif; }

.mincho {
  font-family: "Times", "Noto Serif JP", serif; }

.scroll {
  /*mix-blend-mode: exclusion;*/
  z-index: 5;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 240px; }
  .scroll .a {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #333333;
    text-decoration: none;
    width: 180px; }
  .scroll > *:not(:last-child) {
    margin-bottom: 10px; }
  .scroll .txt {
    font-size: 0.66rem;
    transform: rotate(90deg);
    width: 100px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center; }
  .scroll .bar {
    width: 1px;
    height: 160px;
    background: rgba(51, 51, 51, 0.33);
    /*background:rgba(255,255,255,0.33);*/
    position: relative;
    overflow: hidden; }
    .scroll .bar::after {
      left: 0;
      bottom: 0;
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background: #333333;
      animation-name: expansion;
      animation-iteration-count: infinite;
      animation-duration: 1.5s; }
  .scroll.scrolldown {
    top: auto;
    bottom: -120px; }
    .scroll.scrolldown .txt::before {
      content: "Scroll Down"; }
    .scroll.scrolldown .bar {
      transform: rotate(180deg); }
  .scroll.scrollup {
    position: relative; }
    .scroll.scrollup .txt::before {
      content: "Scroll Up"; }
    @media (max-width: 520px) {
      .scroll.scrollup {
        height: 180px; }
        .scroll.scrollup .bar {
          height: 100px; } }

@keyframes expansion {
  0% {
    transform: translateY(100%); }
  100% {
    transform: translateY(-100%); } }
@keyframes expansion2 {
  0% {
    transform: translateX(-100%); }
  100% {
    transform: translateX(100%); } }
.to_pagetop {
  bottom: auto;
  left: auto;
  right: 10px;
  width: 40px; }
  @media (min-width: 768px) {
    .to_pagetop {
      width: 80px; } }
  .to_pagetop .bar {
    height: 80px; }

.to_scroll {
  top: auto;
  bottom: 20px;
  left: auto;
  right: 20px;
  width: 40px; }
  .to_scroll .bar {
    height: 80px; }

.animate:not(.active),
.effect:not(.active) {
  transform: translateY(100px);
  opacity: 0;
  filter: Alpha(opacity=0); }
.animate.active,
.effect.active {
  transition: 0.66s transform, 0.66s opacity; }
.animate.block:not(.active),
.effect.block:not(.active) {
  transform: translateY(0);
  opacity: 1;
  filter: Alpha(opacity=100); }
  .animate.block:not(.active) > *,
  .effect.block:not(.active) > * {
    transform: translateY(100px);
    opacity: 0;
    filter: Alpha(opacity=0); }
.animate.block.active > *,
.effect.block.active > * {
  transition: 0.66s transform, 0.66s opacity; }

.to_link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  grid-gap: 20px;
  margin: 20px auto;
  --h:68px; }
  .to_link.tl {
    justify-content: flex-start; }
  .to_link.tc {
    justify-content: center; }
  .to_link.tr {
    justify-content: flex-end; }
  @media (max-width: 959px) {
    .to_link span {
      margin-top: -2px; } }
  .to_link.to_link_contact .a {
    grid-gap: 5px; }
    .to_link.to_link_contact .a::before {
      content: '';
      display: inline-block;
      width: 12px;
      height: 9px;
      background-image: url("../images/common/icon_mail.svg");
      background-size: contain; }
  .to_link.to_link_more .a {
    grid-gap: 10px; }
    .to_link.to_link_more .a::after {
      content: '';
      display: inline-block;
      width: 7px;
      height: 6px;
      background-image: url("../images/common/icon_arrow.svg");
      background-size: contain; }
    .to_link.to_link_more .a .txt {
      line-height: 30px; }
  .to_link.to_link_back .a {
    grid-gap: 10px; }
    .to_link.to_link_back .a::before {
      content: '';
      display: inline-block;
      width: 7px;
      height: 6px;
      background-image: url("../images/common/icon_arrow.svg");
      background-size: contain;
      transform: rotate(180deg); }
    .to_link.to_link_back .a .txt {
      line-height: 30px; }
  .to_link.to_link_map .a {
    grid-gap: 5px;
    max-width: 100px; }
    .to_link.to_link_map .a::before {
      content: '';
      display: inline-block;
      width: 16px;
      height: 16px;
      background-image: url("../images/common/icon_pin.svg");
      background-size: contain;
      background-repeat: no-repeat;
      margin-left: -10px; }
    .to_link.to_link_map .a .txt {
      line-height: 30px; }
  .to_link.to_link_overview .a {
    grid-gap: 14px;
    width: 150px;
    height: 48px; }
  .to_link.to_link_border .a {
    border: 1px solid #232323;
    background: none; }
  .to_link.to_link_shadow .a {
    box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.15); }
  .to_link.to_link_keyword {
    justify-content: flex-start;
    grid-gap: 11px; }
    .to_link.to_link_keyword .a {
      padding: 17px 24px 17px 16px;
      width: auto;
      min-width: auto;
      grid-gap: 6px;
      height: 64px; }
      .to_link.to_link_keyword .a:before {
        content: '';
        background: #FCFBF8 url("../images/common/icon_keyword.svg") no-repeat center center;
        background-size: 15px;
        width: 30px;
        height: 30px;
        border-radius: 15px; }
      .to_link.to_link_keyword .a .txt {
        font-size: 1.1rem; }
  .to_link.to_link_sss .a {
    border: 1px solid #008585;
    color: #008585;
    height: 48px; }
    .to_link.to_link_sss .a:after {
      content: '';
      background-image: url("../images/common/icon_arrow_sss.svg"); }
    .to_link.to_link_sss .a:hover {
      background: #008585 !important;
      color: #FFF; }
      .to_link.to_link_sss .a:hover:after {
        background-image: url("../images/common/icon_arrow_white.svg"); }
  .to_link.to_link_sou.to_link_slim .a {
    height: auto; }
  .to_link.to_link_sou .a {
    border: 1px solid #EA4E19;
    color: #EA4E19;
    height: 48px; }
    .to_link.to_link_sou .a:after {
      content: '';
      background-image: url("../images/common/icon_arrow_sou.svg"); }
    .to_link.to_link_sou .a:hover {
      background: #EA4E19 !important;
      color: #FFF; }
      .to_link.to_link_sou .a:hover:after {
        background-image: url("../images/common/icon_arrow_white.svg"); }
  .to_link.to_link_slim {
    --h:calc( 68px * 2 / 4.5 ); }
    .to_link.to_link_slim .a {
      width: 120px;
      height: 40px; }
      .to_link.to_link_slim .a .txt {
        font-size: var(--fontsize_s); }
  .to_link.to_link_gray {
    justify-content: flex-start; }
    .to_link.to_link_gray .a {
      background-color: #F0F0F0; }
  .to_link .a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    grid-gap: 10px;
    width: fit-content;
    width: 240px;
    max-width: 400px;
    min-width: auto;
    height: var(--h);
    text-decoration: none;
    cursor: pointer;
    padding: 0;
    transition: 0.33s color, 0.33s background;
    position: relative;
    overflow: hidden;
    letter-spacing: normal;
    background-color: #FFFFFF;
    font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 700;
    color: #333333;
    border-radius: 100px; }
    .to_link .a > * {
      z-index: 1; }
      .to_link .a > *:not(.fixed_center) {
        position: relative; }
    .to_link .a .txt,
    .to_link .a .category {
      font-size: 1rem; }
    .to_link .a .icon {
      width: 24px;
      height: 24px; }
      .to_link .a .icon svg * {
        fill: #333333 !important; }
    .to_link .a .arrow {
      width: 24px;
      height: 24px; }
    .to_link .a.white {
      background: #FFF;
      color: #333333; }
      .to_link .a.white .icon svg * {
        fill: #333333 !important; }
    .to_link .a.orange {
      background: #DC4A2A; }
    .to_link .a.border {
      border: 1px solid #333333;
      background: #FFF;
      color: #333333; }
      .to_link .a.border .icon svg * {
        fill: #333333 !important; }
      .to_link .a.border.white {
        border: 1px solid #FFF;
        background: #333333;
        color: #FFF; }
        .to_link .a.border.white .icon svg * {
          fill: #333333 !important; }
    .to_link .a.text_link {
      border: 0;
      text-decoration: underline;
      color: #DC4A2A;
      min-width: 0;
      max-width: none;
      height: auto;
      border-radius: 0;
      line-height: 2;
      background: none; }
      .to_link .a.text_link::before, .to_link .a.text_link::after {
        display: none; }
    .to_link .a.curve {
      border-radius: calc( var(--h) / 2); }
  @media (max-width: 520px) {
    .to_link.tc_for_sp {
      justify-content: center; } }

.to_load_more .a .txt::before {
  content: "もっと読み込む"; }
.to_load_more .a::after {
  content: "";
  width: 14px;
  height: 14px;
  border: 1px solid transparent;
  transform: rotate(45deg);
  display: inline-block;
  box-sizing: border-box;
  width: 8px;
  height: 8px;
  border-width: 1px;
  border-bottom-color: #FFF;
  border-right-color: #FFF;
  position: relative;
  top: -2px; }

.to_text_link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-gap: 20px; }
  .to_text_link.tl {
    justify-content: flex-start; }
  .to_text_link.tc {
    justify-content: center; }
  .to_text_link .a {
    width: auto;
    color: #DC7641; }
  .to_text_link.to_return .a {
    overflow: visible;
    align-items: center;
    grid-gap: 10px;
    line-height: 15.96px;
    text-decoration: none; }
    .to_text_link.to_return .a::before {
      width: 14px;
      height: 14px;
      border: 1px solid transparent;
      transform: rotate(45deg);
      display: inline-block;
      box-sizing: border-box;
      position: relative;
      width: 12px;
      height: 12px;
      content: "";
      border-left-color: #DC7641;
      border-bottom-color: #DC7641;
      transition: 0.33s left; }

.banners {
  width: 100%; }
  .banners.zero {
    grid-gap: 0; }
  .banners .banner .a {
    box-sizing: border-box;
    border: 0;
    height: 160px;
    text-decoration: none;
    background: #707070;
    color: #FFF; }
    @media (min-width: 768px) {
      .banners .banner .a {
        height: 220px; } }
    .banners .banner .a .img,
    .banners .banner .a .photo {
      margin-bottom: 0; }
    .banners .banner .a.blank::after {
      color: #ddd;
      font-size: 0.66rem;
      position: absolute;
      top: 10px;
      right: 10px;
      transform-origin: right top; }
    .banners .banner .a .inner {
      width: calc( 100% - 20px * 2 );
      height: calc( 100% - 20px * 2 );
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column; }
  .banners.banners_signup {
    --gap:20px; }
    @media (min-width: 768px) {
      .banners.banners_signup {
        --gap:40px; } }
    .banners.banners_signup .banner .a {
      box-sizing: border-box;
      border: 1px solid #333333;
      color: #333333;
      background: #FFF;
      overflow: hidden; }
      .banners.banners_signup .banner .a::before {
        width: 14px;
        height: 14px;
        border: 1px solid transparent;
        transform: rotate(45deg);
        display: inline-block;
        box-sizing: border-box;
        width: 120px;
        height: 120px;
        content: "";
        background: #333333;
        position: absolute;
        right: -60px;
        bottom: -60px; }
      .banners.banners_signup .banner .a::after {
        width: 14px;
        height: 14px;
        border: 1px solid transparent;
        transform: rotate(45deg);
        display: inline-block;
        box-sizing: border-box;
        border-top-color: #FFF;
        border-right-color: #FFF;
        position: absolute;
        bottom: 20px;
        right: 20px;
        content: ""; }

.btns {
  display: flex;
  align-items: center;
  grid-gap: 20px;
  justify-content: flex-start;
  letter-spacing: 0.025rem; }
  .btns.tc {
    justify-content: center; }
  .btns.sns {
    grid-gap: 10px; }
    .btns.sns .btn {
      width: 45.3333333333px;
      height: 45.3333333333px;
      margin: 0;
      flex-wrap: wrap; }
      .btns.sns .btn .icon {
        width: 34px;
        height: 34px;
        font-size: 22.6666666667px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1rem; }
      .btns.sns .btn .a {
        text-decoration: none;
        box-sizing: content-box; }
        .btns.sns .btn .a .txt {
          font-size: 0.86rem; }
  .btns.btns_cont_move .a {
    background: #000;
    color: #FFF;
    text-decoration: none;
    position: relative; }
    .btns.btns_cont_move .a .bg {
      opacity: 0.8;
      filter: Alpha(opacity=80);
      padding-top: 60%;
      height: 0;
      transition: 0.33s opacity; }
    .btns.btns_cont_move .a .inner {
      height: 240px;
      display: flex;
      justify-content: center;
      align-items: center; }
    .btns.btns_cont_move .a .icon {
      width: 12px;
      height: 12px;
      right: 10px;
      top: 10px;
      bottom: auto;
      left: auto; }
      .btns.btns_cont_move .a .icon svg * {
        fill: #FFF !important; }
  .btns.pagenations {
    width: auto;
    height: 40px;
    grid-gap: 0; }
    .btns.pagenations > .btn {
      height: 100%;
      width: 32px; }
      .btns.pagenations > .btn .a {
        background: #f7f7f7; }
      .btns.pagenations > .btn.here .a {
        background: #FFF; }

.pagenations_wrap {
  margin: 80px auto;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  --h:40px;
  --radius:calc( var(--h) / 2 ); }
  .pagenations_wrap::after {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: var(--radius);
    pointer-events: none;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto; }
  .pagenations_wrap > .btn {
    height: var(--h);
    grid-gap: 0; }
    .pagenations_wrap > .btn .arrow {
      width: 14px;
      height: 14px;
      border: 1px solid transparent;
      transform: rotate(45deg);
      display: inline-block;
      box-sizing: border-box;
      width: 8px;
      height: 8px;
      border-width: 1px; }
    .pagenations_wrap > .btn .a {
      width: 32px;
      background: #f7f7f7;
      box-sizing: border-box; }
    .pagenations_wrap > .btn:not(.front):not(.end) {
      border-left: 1px solid #ddd;
      border-right: 1px solid #ddd; }
    .pagenations_wrap > .btn.front .arrow, .pagenations_wrap > .btn.end .arrow {
      border-width: 3px;
      border-style: double; }
    .pagenations_wrap > .btn.prev .arrow, .pagenations_wrap > .btn.front .arrow {
      border-left-color: #707070;
      border-bottom-color: #707070; }
    .pagenations_wrap > .btn.next .arrow, .pagenations_wrap > .btn.end .arrow {
      border-right-color: #707070;
      border-top-color: #707070; }
    .pagenations_wrap > .btn.front .a {
      border-radius: var(--radius) 0 0 var(--radius);
      padding-left: 10px;
      width: calc( 32px + 10px ); }
    .pagenations_wrap > .btn.end .a {
      border-radius: 0 var(--radius) var(--radius) 0;
      padding-right: 10px;
      width: calc( 32px + 10px ); }
  @media (max-width: 520px) {
    .pagenations_wrap {
      --h:58px; }
      .pagenations_wrap select {
        border: 0; } }

.share {
  margin: 30px auto;
  display: flex;
  justify-content: flex-start;
  align-items: center; }
  .share .sns .btn {
    width: 68px;
    height: 68px; }

.textures {
  pointer-events: none;
  width: 100%;
  height: 100%; }
  .textures .texture {
    top: auto;
    left: auto;
    right: auto;
    bottom: auto; }
    .textures .texture:not(.active) {
      transform: translateY(0); }

.categories,
.tags {
  flex-wrap: wrap;
  grid-gap: 10px; }
  .categories .btn,
  .tags .btn {
    margin: 0; }
    .categories .btn .a,
    .tags .btn .a {
      text-decoration: none;
      box-sizing: border-box; }
      .categories .btn .a .txt,
      .tags .btn .a .txt {
        font-size: var(--fontsize_s); }
        @media (min-width: 768px) {
          .categories .btn .a .txt,
          .tags .btn .a .txt {
            font-size: var(--fontsize_s); } }

.categories .btn .a {
  min-width: 120px;
  border: 1px solid #ddd;
  background: #f7f7f7;
  color: #333333;
  padding: 0 10px;
  height: 24px;
  border-radius: 12px; }

.tags .btn .a {
  border-radius: 4px;
  border: 1px solid #232323;
  background: #FCFBF8;
  padding: 4px 10px !important;
  transition: .33s; }

.tabs {
  width: 100%;
  height: 68px;
  grid-gap: 10px;
  position: relative; }
  .tabs::before {
    position: absolute;
    bottom: 0;
    height: 1px;
    width: 100%;
    background: #ddd;
    content: "";
    bottom: -1px;
    left: 0;
    z-index: 0; }
  .tabs .btn {
    position: relative;
    z-index: 1;
    flex: 1;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
    overflow: hidden;
    height: 100%; }
    .tabs .btn .a {
      background: #FFF;
      font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
      font-weight: 700;
      font-size: var(--fontsize_ll); }
    .tabs .btn:not(.active) .a {
      background: #f7f7f7;
      color: #ddd; }
    .tabs .btn.active {
      border-bottom-color: #FFF; }

.tabs_wrap .tab_body > .inner:not(.active) {
  display: none; }

.list_wrap .list {
  display: flex;
  justify-content: center;
  width: 100%;
  align-items: center;
  padding: 1rem 0;
  border-bottom: 1px solid #ddd; }
  .list_wrap .list > .a {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    color: #333333; }
    .list_wrap .list > .a > * {
      box-sizing: border-box;
      padding: 20px 20px;
      position: relative;
      z-index: 2; }
      @media (max-width: 520px) {
        .list_wrap .list > .a > * {
          padding: 10px 10px; } }
      .list_wrap .list > .a > *:not(:last-child) {
        padding-right: 0; }
        @media (max-width: 520px) {
          .list_wrap .list > .a > *:not(:last-child) {
            padding-right: 0; } }
  .list_wrap .list .label .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%; }
  .list_wrap .list .cont {
    width: 100%; }
    .list_wrap .list .cont .inner {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%; }
.list_wrap.list_news_wrap {
  --gap: 40px;
  grid-gap: 20px 40px; }
  .list_wrap.list_news_wrap .list {
    box-sizing: border-box;
    border-bottom: 1px solid #ddd !important;
    padding: 0rem 0 1.2rem;
    position: relative;
    justify-content: space-between; }
    .list_wrap.list_news_wrap .list:after {
      content: '';
      display: inline-block;
      width: 6px;
      height: 6px;
      border: 1px solid transparent;
      transform: rotate(45deg) translateY(3px);
      transition: .33s;
      display: inline-block;
      box-sizing: border-box;
      border-right-color: #111111;
      border-top-color: #111111;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto; }
    .list_wrap.list_news_wrap .list:hover:after {
      right: -5px; }
    .list_wrap.list_news_wrap .list > a {
      display: block;
      width: calc(100% - 20px); }
      .list_wrap.list_news_wrap .list > a > * {
        padding: 0; }
      .list_wrap.list_news_wrap .list > a .data {
        margin-bottom: 8px !important; }
    .list_wrap.list_news_wrap .list > .data {
      color: #666;
      font-size: var(--fontsize_s); }
    .list_wrap.list_news_wrap .list > .label {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      grid-gap: 20px; }
      .list_wrap.list_news_wrap .list > .label .status_wrap {
        width: 48px; }
    .list_wrap.list_news_wrap .list a {
      text-decoration: none;
      color: #333333; }
    @media (max-width: 520px) {
      .list_wrap.list_news_wrap .list {
        flex-direction: column;
        align-items: flex-start;
        grid-gap: 10px; } }
    @media (min-width: 521px) {
      .list_wrap.list_news_wrap .list {
        --w:150px; }
        .list_wrap.list_news_wrap .list > .label {
          width: var(--w);
          min-width: var(--w);
          max-width: var(--w); }
        .list_wrap.list_news_wrap .list > .cont {
          width: 100%; } }
.list_wrap.list_info_wrap .list {
  flex-direction: column;
  align-items: flex-start;
  grid-gap: 10px; }
  .list_wrap.list_info_wrap .list a {
    color: #333333; }
  .list_wrap.list_info_wrap .list > .label {
    font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 700; }
  .list_wrap.list_info_wrap .list > .cont {
    font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    grid-gap: 10px; }
    .list_wrap.list_info_wrap .list > .cont .caption {
      font-size: var(--fontsize_s);
      font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
      font-weight: 400; }
    .list_wrap.list_info_wrap .list > .cont .icon {
      width: 12px;
      height: 12px; }
@media (min-width: 768px) {
  .list_wrap.list_info_wrap .list {
    flex-direction: row;
    justify-content: flex-start;
    grid-gap: 20px;
    flex-wrap: nowrap; }
    .list_wrap.list_info_wrap .list > .label {
      width: 150px;
      min-width: 150px;
      max-width: 150px; }
    .list_wrap.list_info_wrap .list > .cont {
      width: 100%; } }
.list_wrap + .to_link {
  margin-top: 80px; }

ol {
  padding-inline-start: 20px;
  margin-block-start: 0;
  margin-block-end: 0; }
  ol li {
    padding-top: 10px;
    padding-bottom: 10px;
    list-style: decimal; }
  ol:first-child li:first-child {
    padding-top: 0; }

.dotted {
  padding-left: 10px;
  box-sizing: border-box;
  position: relative; }
  .dotted::before {
    content: "・";
    position: absolute;
    top: 0;
    left: 0; }

.block {
  width: 100%; }
  .block:not(:last-child) {
    margin-bottom: 80px; }
  .block .head {
    margin-bottom: 20px;
    position: relative; }
  .block .copy,
  .block .title {
    letter-spacing: 0.2rem; }
  .block .title.black {
    background: #DC4A2A;
    color: #FFF;
    box-sizing: border-box;
    padding: 10px 20px; }
  .block > .foot {
    margin-top: 40px; }
  .block.block_not_found .head .not_found {
    font-size: 3rem; }
  .block.block_not_found .head .sub {
    font-size: 1.1rem; }
  @media (min-width: 768px) {
    .block.block_not_found .head .not_found {
      font-size: 4rem; }
    .block.block_not_found .head .sub {
      font-size: 1.5rem; } }
  .block + .to_link {
    margin-top: 40px; }

.sub_block:not(:last-child) {
  margin-bottom: 40px; }
.sub_block > h4 {
  margin-bottom: 10px; }
.sub_block .head {
  margin-bottom: 10px; }

.boxes {
  display: flex;
  flex-direction: column;
  grid-gap: 40px 20px; }
  .boxes.zero {
    grid-gap: 0; }
    .boxes.zero .box {
      padding: 0; }

.box {
  box-sizing: border-box;
  padding: 20px; }
  .box > .title {
    font-size: 1rem;
    margin-bottom: 10px; }
  .box.box_attention .title {
    font-size: 0.86rem; }
  .box.box_attention .text {
    font-size: 0.66rem; }
  .box.box_with_num {
    box-sizing: border-box;
    padding-left: 80px;
    position: relative; }
    .box.box_with_num > .num {
      width: 80px;
      font-size: 5rem;
      color: #ddd;
      font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
      font-weight: 700;
      position: absolute;
      top: 0;
      left: 0; }
  .box.box_contact .head {
    margin-bottom: 10px; }
  .box.box_contact .tel {
    font-size: 2.4rem;
    font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: normal; }
  .box.box_beginner_attention.with_border {
    padding-top: 40px;
    padding-bottom: 40px;
    border: 1px solid #f7f7f7;
    border-radius: 8px;
    box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.1); }
  .box.box_beginner_attention .head {
    display: flex;
    justify-content: center;
    grid-gap: 20px;
    align-items: center; }
    .box.box_beginner_attention .head .icon {
      width: 24px;
      height: 24px; }
  .box.box_beginner_attention .foot {
    margin-top: 40px; }
  .box .head {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 20px; }
    .box .head.border_bottom {
      border-bottom: 1px solid #ddd;
      padding-bottom: 10px; }
  .box.box_faq {
    --radius:calc( 4px * 2 );
    background: #FFF;
    border: 1px solid #ddd;
    border-radius: var(--radius); }
    .box.box_faq .head {
      padding-left: 88px;
      margin-bottom: 0;
      transition: 0.33s margin;
      position: relative;
      cursor: pointer; }
      .box.box_faq .head::before, .box.box_faq .head::after {
        width: 34px;
        height: 4px;
        background: #707070;
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 17px;
        margin: auto; }
    .box.box_faq .body {
      height: 0;
      padding: 0 20px 0 88px;
      background: #FFF;
      overflow: hidden;
      border-radius: var(--radius);
      transition: 0.33s padding, 0.33s height;
      display: flex;
      flex-direction: column;
      grid-gap: 20px; }
    .box.box_faq.active {
      background: #f7f7f7; }
      .box.box_faq.active .head {
        margin-bottom: 20px; }
      .box.box_faq.active .body {
        height: auto;
        padding-top: 20px;
        padding-bottom: 20px; }
    .box.box_faq:not(.active) .head::before {
      transform: rotate(90deg); }

.columns {
  --gap:20px;
  display: flex;
  flex-wrap: wrap;
  grid-gap: var(--gap); }
  @media (min-width: 521px) {
    .columns {
      --gap:40px; } }
  .columns.slim {
    --gap:20px; }
  .columns.wide {
    --gap:80px; }
  .columns.zero {
    --gap:0px; }
  .columns .column {
    width: 100%; }
  @media (min-width: 768px) {
    .columns.column2 .column {
      width: calc( ( 100% - var(--gap) ) / 2 ); } }
  @media (min-width: 521px) {
    .columns.column3 .column {
      width: calc( ( 100% - var(--gap) ) / 2 ); } }
  @media (min-width: 960px) {
    .columns.column3 .column {
      width: calc( ( 100% - var(--gap) * 2 ) / 3 - 1px ); } }
  @media (max-width: 767px) {
    .columns.column4 .column {
      width: calc( ( 100% - var(--gap) ) / 2 ); } }
  @media (min-width: 768px) {
    .columns.column4 .column {
      width: calc( ( 100% - var(--gap) * 3 ) / 4 ); } }
  .columns.column5 .column {
    width: calc( ( 100% - var(--gap) ) / 2 ); }
  @media (min-width: 521px) {
    .columns.column5 .column {
      width: calc( ( 100% - var(--gap) * 2 ) / 3 - 1px ); } }
  @media (min-width: 768px) {
    .columns.column5 .column {
      width: calc( ( 100% - var(--gap) * 4 ) / 5 ); } }
  .columns.column6 .column {
    width: calc( ( 100% - var(--gap) ) / 2 ); }
  @media (min-width: 521px) {
    .columns.column6 .column {
      width: calc( ( 100% - var(--gap) * 2 ) / 3 - 1px ); } }
  @media (min-width: 768px) {
    .columns.column6 .column {
      width: calc( ( 100% - var(--gap) * 3 ) / 4 ); } }
  @media (min-width: 960px) {
    .columns.column6 .column {
      width: calc( ( 100% - var(--gap) * 5 ) / 6 ); } }
  @media (min-width: 768px) {
    .columns.pickup {
      --gap: 40px; }
      .columns.pickup .column {
        width: calc((100% - 80px)/3); } }
  @media (min-width: 960px) {
    .columns.pickup {
      --gap: 80px; }
      .columns.pickup .column {
        width: calc((100% - 160px)/3); } }
  .columns + .to_link {
    margin-top: 40px; }

.date {
  font-weight: bold;
  letter-spacing: 0.01rem;
  margin-left: 10px; }
  .date .new {
    margin-left: 10px; }

.area {
  display: flex;
  justify-content: flex-start;
  grid-column-gap: 20px; }
  .area > * {
    position: relative;
    font-size: var(--fontsize_s); }
    .area > *:not(:first-child)::before {
      width: 10px;
      height: 1px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: -15px;
      margin: auto;
      content: "";
      background: #333333; }

.provider {
  display: flex;
  grid-gap: 20px;
  font-size: var(--fontsize_ss); }
  .provider a {
    color: #333333;
    text-decoration: none; }
  .provider::before {
    content: "提供企業"; }

.collaboration {
  display: flex;
  grid-gap: 5px 30px;
  font-size: var(--fontsize_ss); }
  .collaboration > * {
    position: relative; }
    .collaboration > *:not(:last-child)::after {
      content: "×";
      position: absolute;
      width: 12px;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      line-height: normal;
      top: 0;
      bottom: 0;
      right: -20px; }

.date_wrap,
.event_info_mini {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  grid-gap: 10px 20px;
  font-size: var(--fontsize_s); }

.status_wrap {
  display: flex;
  grid-gap: 0px;
  flex-wrap: wrap; }
  .status_wrap > * {
    background: #333333;
    color: #FFF;
    font-size: var(--fontsize_ss);
    box-sizing: border-box;
    padding: 0 10px;
    min-width: 48px;
    height: 22.6666666667px;
    display: flex;
    justify-content: center;
    align-items: center; }
    .status_wrap > *.new {
      background: #DC4A2A; }
      .status_wrap > *.new::before {
        content: "NEW"; }

.category {
  color: #FFF;
  font-size: 12px !important;
  letter-spacing: .6px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fontsize_s);
  padding: 0 10px;
  width: fit-content;
  min-width: 60px; }
  .category.article {
    background-color: #FFC633; }
  .category.events {
    background-color: #FF5833; }
  .category.info {
    background-color: #F99500; }
  @media (max-width: 959px) {
    .category span {
      margin-top: -2px; } }

.archives {
  --gap: 60px; }
  @media (min-width: 768px) {
    .archives {
      --gap: 80px; } }
  .archives.pickup .archive:not(:last-child):after {
    content: '';
    background: #e9e9e9;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: calc( -1 * var(--gap) / 2 );
    left: 0; }
  @media (min-width: 768px) {
    .archives.pickup .archive:not(:last-child):after {
      background: #e9e9e9;
      width: 1px;
      height: 100%;
      position: absolute;
      right: calc( -1 * var(--gap) / 2 );
      bottom: auto;
      left: auto; } }
  .archives .archive {
    position: relative;
    display: flex;
    flex-direction: column;
    grid-gap: 20px; }
    .archives .archive:not(:last-child):after {
      content: '';
      background: #e9e9e9;
      width: 1px;
      height: 100%;
      position: absolute;
      right: calc( -1 * var(--gap) / 2 );
      bottom: auto; }
    .archives .archive a {
      text-decoration: none;
      color: #333333; }
    .archives .archive.disabled {
      pointer-events: none; }
    .archives .archive .ex_data {
      display: none; }
    .archives .archive > .a {
      text-decoration: none;
      flex-direction: column;
      justify-content: flex-start;
      color: #333333;
      grid-gap: 10px; }
      .archives .archive > .a.wrap {
        cursor: auto; }
    .archives .archive .photo {
      width: 100%;
      position: relative;
      overflow: hidden;
      border-radius: 8px;
      margin-top: 15px; }
      .archives .archive .photo::after {
        background: linear-gradient(0deg, black, rgba(0, 0, 0, 0));
        content: "";
        position: absolute;
        width: 100%;
        bottom: 0;
        left: 0;
        height: 50%;
        opacity: 0.5;
        filter: Alpha(opacity=50);
        pointer-events: none; }
      .archives .archive .photo .bg {
        transition: 0.33s transform; }
    .archives .archive > a > .info {
      width: 100%;
      display: flex;
      flex-direction: column;
      grid-gap: 10px; }
      .archives .archive > a > .info .inner {
        width: 100%;
        display: flex;
        flex-direction: column;
        grid-gap: 5px; }
      .archives .archive > a > .info .data {
        display: flex;
        align-items: center; }
        .archives .archive > a > .info .data .text {
          font-size: 1rem; }
      .archives .archive > a > .info .title,
      .archives .archive > a > .info .name {
        font-size: var(--fontsize_ll);
        font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
        font-weight: 700;
        transition: .33s; }
      .archives .archive > a > .info .ex {
        font-size: var(--fontsize_ss); }
    .archives .archive .addtext .text {
      color: #8A8A8A; }
    .archives .archive .hide {
      display: none; }
    .archives .archive .areabox {
      margin-top: 15px;
      line-height: 1; }
      .archives .archive .areabox .text {
        color: #8A8A8A;
        font-size: .8rem;
        display: inline;
        line-height: 1.5; }
        .archives .archive .areabox .text:not(:last-child):after {
          content: "/";
          padding: 0 0px 0px 4px;
          display: inline-block; }
    .archives .archive .detailed-links p {
      border-radius: 50px;
      background: linear-gradient(91deg, #23B782 1.32%, #BDCC14 139.71%);
      box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.15);
      height: 50px;
      padding: 0 20px;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      position: relative;
      width: 140px; }
      .archives .archive .detailed-links p:not(:last-child) {
        margin-bottom: 10px; }
      .archives .archive .detailed-links p a {
        color: #FFF;
        text-decoration: underline;
        font-size: 0;
        position: absolute;
        left: 20px;
        top: 0;
        bottom: 0;
        margin: auto;
        height: fit-content;
        display: inline-grid; }
        .archives .archive .detailed-links p a:after {
          content: '詳細リンク';
          display: inline-block;
          font-size: 1rem; }
        .archives .archive .detailed-links p a:hover {
          text-decoration: none; }
      .archives .archive .detailed-links p:after {
        content: '';
        display: inline-block;
        width: 12px;
        height: 12px;
        background-image: url(../images/common/icon_link.svg);
        background-size: contain;
        background-repeat: no-repeat;
        margin-left: 8px;
        position: absolute;
        right: 20px;
        top: 0;
        bottom: 0;
        margin: auto; }
  .archives.archives_mini .archive {
    --w:120px;
    justify-content: flex-start;
    align-items: flex-start;
    grid-gap: 30px;
    flex-direction: row; }
    .archives.archives_mini .archive .photo {
      width: var(--w);
      height: var(--w);
      min-width: var(--w);
      max-width: var(--w); }
      .archives.archives_mini .archive .photo .bg {
        padding-top: 0;
        height: 100%; }
    .archives.archives_mini .archive .info {
      width: 100%;
      min-height: var(--w);
      justify-content: center; }
  .archives + .to_link {
    margin-top: 80px; }

.slick .slick-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 68px;
  height: 68px;
  cursor: pointer;
  background: #333333;
  transition: 0.33s background;
  z-index: 1; }
  .slick .slick-arrow::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 14px;
    height: 14px;
    border: 1px solid transparent;
    transform: rotate(45deg);
    display: inline-block;
    box-sizing: border-box;
    border-width: 2px; }
  .slick .slick-arrow.slick-disabled {
    background: #ddd;
    pointer-events: none;
    display: none !important; }
  .slick .slick-arrow.slick-next {
    right: 0; }
    .slick .slick-arrow.slick-next::before {
      border-right-color: #FFF;
      border-top-color: #FFF;
      right: 3.3333333333px; }
  .slick .slick-arrow.slick-prev {
    left: 0; }
    .slick .slick-arrow.slick-prev::before {
      border-left-color: #FFF;
      border-bottom-color: #FFF;
      position: relative;
      left: 3.3333333333px; }

.scroller_wrap {
  --w:100vw;
  position: relative;
  width: var(--w);
  height: fit-content;
  left: calc( -1 * var(--cont_margin) );
  -ms-overflow-style: none;
  scrollbar-width: none; }
  .scroller_wrap .scroller_inner {
    overflow: hidden;
    overflow-x: scroll;
    width: 100%; }
    .scroller_wrap .scroller_inner::-webkit-scrollbar {
      display: none; }
  .scroller_wrap .scroller {
    position: relative;
    min-width: fit-content;
    box-sizing: border-box; }
    .scroller_wrap .scroller > * {
      width: fit-content;
      padding-left: var(--cont_margin);
      padding-right: var(--cont_margin); }
    .scroller_wrap .scroller .archives {
      display: flex;
      box-sizing: border-box;
      width: fit-content;
      flex-wrap: nowrap; }
      .scroller_wrap .scroller .archives .archive {
        width: 75vw;
        max-width: 280px;
        padding: 10px 0; }
  .scroller_wrap .btn_move_control {
    width: 53px;
    height: 53px;
    filter: drop-shadow(0px 2px 12px rgba(0, 0, 0, 0.15)); }
    @media (max-width: 959px) {
      .scroller_wrap .btn_move_control {
        display: none; } }
    .scroller_wrap .btn_move_control:not(.active) {
      opacity: 0.5;
      filter: none; }
    .scroller_wrap .btn_move_control.hide {
      display: none; }
    .scroller_wrap .btn_move_control .a {
      background: white;
      border-radius: 50px; }
      .scroller_wrap .btn_move_control .a .arrow {
        width: 14px;
        height: 14px;
        border: 1px solid transparent;
        transform: rotate(45deg);
        display: inline-block;
        box-sizing: border-box; }
    .scroller_wrap .btn_move_control.btn_move_control_prev {
      right: auto; }
      .scroller_wrap .btn_move_control.btn_move_control_prev .arrow {
        border-left-color: #111111;
        border-bottom-color: #111111; }
    .scroller_wrap .btn_move_control.btn_move_control_next {
      left: auto; }
      .scroller_wrap .btn_move_control.btn_move_control_next .arrow {
        border-right-color: #111111;
        border-top-color: #111111;
        margin-right: 5px; }
  @media (max-width: 767px) {
    .scroller_wrap.tile_for_sp .scroller {
      overflow: auto;
      width: 100%;
      height: fit-content; }
      .scroller_wrap.tile_for_sp .scroller .archives {
        width: 100%;
        height: auto;
        flex-wrap: wrap;
        justify-content: space-between; }
        .scroller_wrap.tile_for_sp .scroller .archives > .archive {
          width: calc( 50% - 10px ); }
    .scroller_wrap.tile_for_sp .btn_control {
      display: none !important; } }
  @media (min-width: 768px) {
    .scroller_wrap:not(.under_flex) .scroller .archives .archive {
      max-width: calc( ( 100vw - var(--cont_margin) * 2 - var(--gap) * 2 ) / 3 ); }
    .scroller_wrap.under_flex {
      width: calc( 100vw - var(--cont_margin) * 2 - var(--sidewidth) ); }
      .scroller_wrap.under_flex .scroller .archives .archive {
        width: calc( ( 100vw - ( var(--sidewidth) + var(--gap) + var(--cont_margin) * 2 + var(--gap) * 2 ) ) / 3 ); } }
  @media (min-width: 960px) {
    .scroller_wrap.under_flex .scroller .archives .archive {
      width: calc( ( 100vw - ( var(--sidewidth) + var(--gap) * 2 + var(--cont_margin) * 2 + var(--gap) * 2 ) ) / 3 ); } }
  @media (min-width: 1260px) {
    .scroller_wrap {
      left: calc( ( 1180px - 100vw ) / 2 ); }
      .scroller_wrap:not(.under_flex) .scroller .archives .archive {
        max-width: calc( ( 1180px + var(--cont_margin) * 2 ) / 3 ); }
      .scroller_wrap.under_flex .scroller .archives .archive {
        width: calc( ( 1180px - ( var(--sidewidth) + var(--gap) * 2 + var(--gap) * 2 ) ) / 3 ); }
      .scroller_wrap .scroller > * {
        padding-left: calc( ( 100vw - 1180px ) / 2 );
        padding-right: calc( ( 100vw - 1180px ) / 2 ); }
      .scroller_wrap .btn_move_control.btn_move_control_prev {
        left: calc( ( 100vw - 1180px ) / 2 - 68px ); }
      .scroller_wrap .btn_move_control.btn_move_control_next {
        right: calc( ( 100vw - 1180px ) / 2 - 68px ); } }
  .scroller_wrap + .to_link {
    margin-top: 80px; }

@keyframes blink {
  0% {
    opacity: 1;
    filter: Alpha(opacity=100); }
  100% {
    opacity: 0;
    filter: Alpha(opacity=0); } }
.scroller_control_wrap {
  margin-top: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-gap: 20px; }
  .scroller_control_wrap .arrow {
    width: 68px;
    min-width: btnheight;
    max-width: btnheight;
    height: 68px;
    display: flex;
    justify-content: center;
    align-items: center; }
    .scroller_control_wrap .arrow::before {
      width: 14px;
      height: 14px;
      border: 1px solid transparent;
      transform: rotate(45deg);
      display: inline-block;
      box-sizing: border-box;
      content: "";
      width: 24px;
      height: 24px;
      transform: scaleX(0.66) rotate(45deg); }
    .scroller_control_wrap .arrow:not(.disabled) {
      cursor: pointer; }
    .scroller_control_wrap .arrow.disabled {
      opacity: 0.5;
      filter: Alpha(opacity=50); }
    .scroller_control_wrap .arrow.arrow_prev::before {
      border-bottom-color: #DC4A2A;
      border-left-color: #DC4A2A; }
    .scroller_control_wrap .arrow.arrow_next::before {
      border-top-color: #DC4A2A;
      border-right-color: #DC4A2A; }
  .scroller_control_wrap .range {
    width: 100%;
    height: 1px;
    position: relative; }
    .scroller_control_wrap .range::before {
      background: #DC4A2A;
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      opacity: 0.25;
      filter: Alpha(opacity=25); }
    .scroller_control_wrap .range .here {
      height: 1px;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background: #DC4A2A; }
  .scroller_control_wrap.white .arrow.arrow_prev::before {
    border-bottom-color: #FFF;
    border-left-color: #FFF; }
  .scroller_control_wrap.white .arrow.arrow_next::before {
    border-top-color: #FFF;
    border-right-color: #FFF; }
  .scroller_control_wrap.white .range::before {
    background: #FFF; }
  .scroller_control_wrap.white .range .here {
    background: #FFF; }
  .scroller_control_wrap + .to_link {
    margin-top: 80px; }

.logo_wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }

.tag_clouds {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  grid-gap: 10px; }
  .tag_clouds.tc {
    justify-content: center; }
  .tag_clouds a {
    color: #333333;
    min-width: 60px;
    height: 24px;
    border-radius: 12px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: #f7f7f7; }

.relation_link_wrap {
  display: flex;
  flex-direction: column;
  grid-gap: 20px; }
  .relation_link_wrap::before {
    content: "関連リンク";
    font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 700; }
  .relation_link_wrap > p {
    padding-left: 30px;
    box-sizing: border-box;
    position: relative; }
    .relation_link_wrap > p::before {
      content: "";
      width: 20px;
      height: 1px;
      background: #DC4A2A;
      left: 0;
      top: 0.75rem;
      position: absolute; }

.share_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  grid-gap: 20px; }
  .share_wrap::before {
    content: "SHARE!";
    display: flex;
    justify-content: center;
    font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: var(--fontsize_s); }
  .share_wrap .share {
    margin: 0; }
    .share_wrap .share .btn {
      --size:68px;
      width: var(--size);
      height: var(--size); }
      .share_wrap .share .btn .a {
        border-radius: 50%;
        background: #333333;
        color: #FFF; }

.to_modal {
  cursor: pointer; }

.modal_black {
  position: fixed;
  background: rgba(0, 0, 0, 0.5);
  z-index: 99;
  transition: 0.33s opacity; }
  .modal_black:not(.active) {
    opacity: 0;
    filter: Alpha(opacity=0);
    pointer-events: none !important;
    transition-duration: 0s; }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  transition: 0.33s opacity; }
  .modal[stl=youtube] .modal_inner_wrap {
    width: calc( 100% - 20px * 2 );
    max-width: 1280px; }
    .modal[stl=youtube] .modal_inner_wrap .modal_inner .movie {
      padding-top: calc( 100% * 9 / 16 ); }
  .modal[stl=words] {
    max-width: 640px; }
  .modal .modal_inner_wrap {
    position: relative;
    z-index: 1;
    width: fit-content;
    height: fit-content;
    max-width: calc( 100vw - 20px * 2 );
    max-height: calc( 100vh - 20px * 2 );
    min-height: 240px;
    min-width: 240px;
    background: #FFF;
    box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    overflow-y: auto; }
    .modal .modal_inner_wrap .modal_inner {
      height: fit-content;
      width: 100%;
      box-sizing: border-box;
      padding: 30px; }
    @media (max-width: 520px) {
      .modal .modal_inner_wrap {
        max-height: calc( 100vh - 20px * 2 - 48px * 2 ); } }
  .modal:not(.active) {
    opacity: 0;
    filter: Alpha(opacity=0);
    pointer-events: none !important;
    transition-duration: 0s; }
  .modal .btn_close.btn {
    cursor: pointer;
    width: 68px;
    height: 68px;
    background: #DC4A2A;
    bottom: auto;
    left: auto;
    color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center; }
    .modal .btn_close.btn::after {
      content: "×"; }
  @media (min-width: 1280px) {
    .modal .modal_inner_wrap {
      max-width: 1180px; } }

#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  transition: 0.66s opacity; }
  #loading .bg {
    background: #f7f7f7;
    transition: 0.33s transform; }
  #loading .icon {
    width: 120px;
    height: 150px;
    transition: 0.33s transform; }

.navi .navi_btn .a {
  text-decoration: none;
  font-size: 1rem; }
  .navi .navi_btn .a .txt {
    transition: 0.33s opacity; }
.navi.horizontal {
  width: fit-content;
  flex-direction: row;
  grid-gap: 20px; }
  .navi.horizontal .navi_btn {
    width: auto; }
    .navi.horizontal .navi_btn .a {
      width: fit-content; }

nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  flex-wrap: wrap; }
  nav .navi {
    flex-direction: column;
    grid-gap: 0; }
    nav .navi .btn {
      width: 100%; }
      nav .navi .btn .a {
        height: 68px;
        justify-content: space-between;
        align-items: center;
        color: #333333; }
      nav .navi .btn.here .a {
        color: #ddd; }

.navi_wrap {
  box-sizing: border-box;
  padding: 40px 0; }
  .navi_wrap .inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    grid-gap: 20px; }
    .navi_wrap .inner > .btns .btn .a {
      text-decoration: none; }
      .navi_wrap .inner > .btns .btn .a .txt {
        font-size: 0.86rem; }
  .navi_wrap .navi_cont_wrap .logo_wrap {
    align-items: flex-start;
    grid-gap: 10px;
    margin-bottom: 20px; }
    .navi_wrap .navi_cont_wrap .logo_wrap .name {
      font-size: var(--fontsize_ss); }
    .navi_wrap .navi_cont_wrap .logo_wrap .logo {
      width: 300px;
      height: 24px; }
      .navi_wrap .navi_cont_wrap .logo_wrap .logo .icon {
        background-image: url("../images/common/logo_nagano.svg"); }
      @media (min-width: 768px) {
        .navi_wrap .navi_cont_wrap .logo_wrap .logo {
          width: 500px;
          height: 40px;
          transform: translateX(-6px); }
          .navi_wrap .navi_cont_wrap .logo_wrap .logo .icon {
            background-position: left center; } }
  .navi_wrap .navis {
    display: flex;
    flex-direction: column;
    grid-gap: 0;
    justify-content: flex-start; }
    .navi_wrap .navis .navi .sub_navi_btn .a {
      padding-left: 1.2rem; }
      .navi_wrap .navis .navi .sub_navi_btn .a::before {
        width: 10px;
        height: 10px;
        position: absolute;
        content: "";
        left: 0.2rem;
        top: 0;
        bottom: 8px;
        margin: auto;
        border-left: 1px solid #f7f7f7;
        border-bottom: 1px solid #f7f7f7;
        opacity: 0.5;
        filter: Alpha(opacity=50); }
  @media (min-width: 521px) {
    .navi_wrap .inner > .btns {
      flex-direction: column;
      justify-content: flex-end;
      align-items: flex-end; }
    .navi_wrap .navis {
      flex-direction: row;
      grid-gap: 40px; } }
  @media (min-width: 768px) {
    .navi_wrap .inner {
      flex-direction: row;
      align-items: flex-end;
      justify-content: space-between; } }

#search_box {
  position: fixed;
  top: var(--headheight);
  right: 0;
  transition: 0.33s height;
  background: #FCFBF8;
  z-index: 16;
  width: 100%;
  max-width: 360px;
  height: 0;
  overflow: hidden;
  box-sizing: border-box; }
  #search_box .search_box {
    width: 90%;
    margin: auto; }

#searchform {
  position: relative; }
  #searchform input {
    padding: 10px .5em; }
  @media (max-width: 520px) {
    #searchform input {
      font-size: 1.25rem; } }

#global_navi {
  width: 0px;
  height: 100vh;
  position: fixed;
  z-index: 15;
  overflow: hidden;
  top: 80px;
  right: 0;
  transition: 0.33s width;
  background: #FCFBF8;
  --padding:20px; }
  #global_navi .main > .navi > .btn.on > .a:after {
    transform: rotate(135deg); }
  #global_navi .main > .navi > .btn .a:after {
    content: '';
    width: 10px;
    height: 10px;
    border: 1px solid transparent;
    transform: rotate(45deg);
    display: inline-block;
    box-sizing: border-box;
    border-right-color: #111111;
    border-top-color: #111111;
    margin-right: 10px; }
  #global_navi > .navi_wrap {
    width: 100vw;
    height: 100vh;
    box-sizing: border-box;
    position: absolute;
    right: 0;
    top: 0;
    justify-content: flex-start;
    overflow-y: auto;
    flex-direction: column;
    display: flex;
    grid-gap: 40px; }
  #global_navi .logo_wrap {
    padding-top: 40px; }
  #global_navi nav .btns.navi .btn .child {
    position: static !important; }
    #global_navi nav .btns.navi .btn .child ul {
      display: block;
      height: auto;
      background: none;
      box-shadow: none; }
      #global_navi nav .btns.navi .btn .child ul li {
        width: auto;
        padding: 0 10px; }
        #global_navi nav .btns.navi .btn .child ul li:nth-child(5n - 4):not(:first-child):before {
          display: none; }
        #global_navi nav .btns.navi .btn .child ul li .a .txt {
          width: auto; }
  #global_navi nav .navi {
    flex-direction: unset;
    flex-wrap: wrap; }
    #global_navi nav .navi .btn .a {
      font-weight: 700; }
    #global_navi nav .navi .btn:not(.logo) {
      width: 100%; }
    #global_navi nav .navi .btn.logo {
      margin-right: 20px; }

.copyright {
  font-size: 0.66rem;
  letter-spacing: normal; }

#head nav .btns.navi .btn.logo, #global_navi nav .btns.navi .btn.logo {
  width: 62px;
  height: 28px; }
#head nav .btns.navi .btn.logo01 .icon, #global_navi nav .btns.navi .btn.logo01 .icon {
  background-image: url("../images/common/logo_sss01.svg"); }
#head nav .btns.navi .btn.logo02 .icon, #global_navi nav .btns.navi .btn.logo02 .icon {
  background-image: url("../images/common/logo_sou.svg"); }
#head nav .btns.navi .btn[key=contact] .a .txt:before, #global_navi nav .btns.navi .btn[key=contact] .a .txt:before {
  content: '';
  width: 12px;
  height: 9px;
  display: inline-block;
  background-image: url("../images/common/icon_mail.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 5px; }
#head nav .btns.navi .btn[key=keyword] .a .txt:before, #global_navi nav .btns.navi .btn[key=keyword] .a .txt:before {
  content: '';
  width: 16px;
  height: 16px;
  display: inline-block;
  background-image: url("../images/common/icon_keyword.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 5px; }
#head nav .btns.navi .btn .child, #global_navi nav .btns.navi .btn .child {
  position: absolute;
  width: auto;
  top: var(--headheight);
  z-index: 1;
  display: none; }
  #head nav .btns.navi .btn .child.cat, #global_navi nav .btns.navi .btn .child.cat {
    right: 0; }
#head nav .btns.navi .btn ul, #global_navi nav .btns.navi .btn ul {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  height: 100%;
  background: #FFF;
  box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.15);
  box-sizing: border-box; }
  #head nav .btns.navi .btn ul li, #global_navi nav .btns.navi .btn ul li {
    width: 240px;
    height: 64px;
    position: relative;
    padding: 0 27px; }
    #head nav .btns.navi .btn ul li:nth-child(5n - 4):not(:first-child):before, #global_navi nav .btns.navi .btn ul li:nth-child(5n - 4):not(:first-child):before {
      content: '';
      width: 1px;
      height: 320px;
      background: #F0F0F0;
      position: absolute;
      left: -6px;
      top: 0; }
    #head nav .btns.navi .btn ul li .a, #global_navi nav .btns.navi .btn ul li .a {
      font-size: 1.2rem; }
      #head nav .btns.navi .btn ul li .a .txt, #global_navi nav .btns.navi .btn ul li .a .txt {
        width: 180px; }
      #head nav .btns.navi .btn ul li .a:after, #global_navi nav .btns.navi .btn ul li .a:after {
        content: '';
        width: 10px;
        height: 10px;
        border: 1px solid transparent;
        transform: rotate(45deg);
        display: inline-block;
        box-sizing: border-box;
        border-right-color: #CCC;
        border-top-color: #CCC;
        margin-right: 10px; }

.main .btns .btn .a {
  font-size: 1.35rem; }
  @media (min-width: 960px) {
    .main .btns .btn .a {
      font-size: 1rem; } }
  @media (min-width: 1024px) {
    .main .btns .btn .a {
      font-size: 1.2rem; } }
  @media (min-width: 1280px) {
    .main .btns .btn .a {
      font-size: 1.35rem; } }

#head .btn.searchbtn, #global_navi .btn.searchbtn {
  display: flex;
  align-items: center; }
  #head .btn.searchbtn #search_box, #global_navi .btn.searchbtn #search_box {
    width: 0;
    position: static;
    height: 56px;
    transition: .33s; }
    #head .btn.searchbtn #search_box .search_box, #global_navi .btn.searchbtn #search_box .search_box {
      width: 100%; }
  #head .btn.searchbtn.search_on .a, #global_navi .btn.searchbtn.search_on .a {
    width: 0; }
  #head .btn.searchbtn.search_on #search_box, #global_navi .btn.searchbtn.search_on #search_box {
    width: 100%; }

#global_navi #search_box {
  border-bottom: 1px solid #000; }

#head {
  position: fixed;
  width: 100%;
  height: var(--headheight);
  z-index: 14;
  transition: 0.33s transform, 0.33s background;
  box-sizing: border-box;
  top: 0;
  background: #FCFBF8; }
  #head .btns .btn .a:hover {
    opacity: 1 !important; }
  #head .inner {
    height: 100%; }
  #head .container {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #head nav {
    height: 100%; }
    #head nav .btns.navi .btn .child {
      height: 374px; }
      #head nav .btns.navi .btn .child ul {
        padding: 27px 0; }
    #head nav .sub, #head nav .main {
      height: 50%; }
    #head nav .main > .navi > .btn:not(#head nav .main > .navi > .btn[key=keyword]) > .a {
      position: relative; }
      #head nav .main > .navi > .btn:not(#head nav .main > .navi > .btn[key=keyword]) > .a:after {
        content: '';
        position: absolute;
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 19px 14px 19px;
        border-color: transparent transparent #fff transparent;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.15));
        opacity: 0;
        transition: .5s;
        pointer-events: none; }
    #head nav .main > .navi > .btn:not(#head nav .main > .navi > .btn[key=keyword]).on > .a:after {
      opacity: 1; }
    #head nav .btns {
      width: 100%;
      flex-direction: row; }
      #head nav .btns.navi {
        height: 100%;
        grid-gap: 20px; }
        #head nav .btns.navi .btn {
          width: fit-content;
          height: 100%; }
          #head nav .btns.navi .btn .a {
            height: 100%;
            font-weight: 700; }
      #head nav .btns:not(.navi) {
        grid-gap: 10px; }
        #head nav .btns:not(.navi) .btn .a {
          text-decoration: none;
          width: 100px;
          height: 68px;
          background: #333333;
          color: #FFF; }
    #head nav .sub {
      width: 100%; }
      #head nav .sub .btns {
        justify-content: flex-end; }
        #head nav .sub .btns .btn:not(.logo) {
          display: flex;
          align-items: center;
          grid-gap: 20px; }
          #head nav .sub .btns .btn:not(.logo):after {
            content: '/';
            display: inline-block;
            color: #C0BFBD; }
  #head .logo_wrap {
    align-items: flex-start;
    align-items: center; }
    #head .logo_wrap .logo {
      width: 140px;
      height: 80px; }
      #head .logo_wrap .logo .a {
        align-items: flex-start; }
        #head .logo_wrap .logo .a .icon {
          background-image: url("../images/common/logo_head.png"); }
  @media (max-width: 959px) {
    #head .container {
      padding-right: 68px; } }
  @media (min-width: 768px) {
    #head .logo_wrap .logo {
      width: 240px;
      height: 76px; } }
  @media (min-width: 960px) {
    #head {
      position: relative;
      transition: .33s; }
      #head .logo_wrap .logo {
        transition: .33s;
        width: 250px;
        height: 84px; } }
  @media (min-width: 1280px) {
    #head .logo_wrap .logo {
      width: 339px;
      height: 108px; } }

#hamburger {
  width: var(--headheight);
  height: 80px;
  position: fixed;
  top: 0;
  right: 0;
  left: auto;
  bottom: auto;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  z-index: 15;
  transition: 0.33s transform, 0.33s background; }
  #hamburger > .a {
    width: calc( var(--headheight) - $space2 );
    height: 60px; }
  #hamburger .lines {
    width: 30px;
    height: 12px;
    position: relative;
    margin-top: -10px; }
    #hamburger .lines:after {
      content: 'MENU';
      display: block;
      font-size: 11px;
      width: 120%;
      margin-top: 18px;
      white-space: nowrap;
      text-indent: -3px;
      font-weight: bold;
      font-family: "Poppins", YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
      letter-spacing: .05rem; }
    #hamburger .lines .line {
      background: #232323;
      height: 2px;
      transition: 0.33s all;
      width: 100%;
      border-radius: 2px; }
      #hamburger .lines .line:nth-child(1) {
        bottom: auto;
        left: auto; }
      #hamburger .lines .line:nth-child(2) {
        top: auto;
        right: auto; }
  #hamburger .new {
    position: absolute;
    top: 0;
    width: 12px;
    height: 12px;
    z-index: 1;
    border-radius: 50%;
    background: #E61F53;
    bottom: 40px;
    left: 50px; }
    #hamburger .new::before {
      display: none; }
  @media (min-width: 960px) {
    #hamburger {
      display: none; } }

#contents {
  position: relative;
  padding-top: calc var(--headheight);
  padding-top: 80px;
  box-sizing: border-box;
  width: calc( 100vw - var(--sidewidth) );
  margin-left: auto;
  z-index: 0; }
  @media (min-width: 521px) {
    #contents {
      padding-top: calc(var(--headheight) ); } }
  #contents > .section {
    position: relative; }
  @media (min-width: 960px) {
    #contents {
      padding-top: 0; } }

#foot {
  background-color: #313230;
  padding: 80px 0; }
  #foot p, #foot h4 {
    color: #FFF; }
  #foot .to_link .a {
    width: 138px;
    height: 40px; }
  #foot .container {
    max-width: 1040px; }
  #foot .row.contact {
    background-clip: padding-box;
    margin-bottom: 40px; }
    #foot .row.contact .inner {
      border-bottom: 2px dotted rgba(255, 255, 255, 0.2);
      padding: 0 0 20px; }
    #foot .row.contact h4 {
      margin-bottom: 7px;
      font-size: 1.35rem; }
      @media (min-width: 960px) {
        #foot .row.contact h4 {
          margin-bottom: 12px; } }
    #foot .row.contact .text {
      font-size: .95rem;
      line-height: 1.9;
      margin-bottom: 35px; }
    #foot .row.contact .to_link .a .txt {
      font-size: .9rem; }
  #foot .row:not(.contact) .inner {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse; }
  #foot .row:not(.contact) .logo {
    margin-bottom: 20px; }
    #foot .row:not(.contact) .logo .a {
      justify-content: flex-start; }
    #foot .row:not(.contact) .logo .mark {
      width: 179px;
      height: 46px;
      margin: 0 0 5px 0; }
      #foot .row:not(.contact) .logo .mark .icon {
        background: url("../images/common/logo_foot.png");
        background-size: contain;
        background-repeat: no-repeat; }
    #foot .row:not(.contact) .logo .text {
      font-size: .6rem; }
  #foot .row:not(.contact) .name {
    margin-bottom: 5px; }
  #foot .row:not(.contact) .address {
    font-size: 0.82rem;
    margin-bottom: 10px; }
  #foot .navis {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 40px;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 2px dotted rgba(255, 255, 255, 0.2); }
    #foot .navis .btns {
      width: calc((100%));
      flex-direction: column;
      grid-gap: 27px;
      align-items: flex-start; }
      @media (min-width: 960px) {
        #foot .navis .btns {
          grid-gap: 40px; } }
      #foot .navis .btns .a {
        color: #FFF; }
  #foot #foot_bottom {
    height: 120px; }
    #foot #foot_bottom .container {
      height: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center; }
  @media (min-width: 960px) {
    #foot .row.contact {
      margin-bottom: 80px; }
      #foot .row.contact .inner {
        padding-bottom: 80px; }
        #foot .row.contact .inner .to_link {
          margin-bottom: 0; }
    #foot .row:not(.contact) .inner {
      flex-direction: unset;
      flex-wrap: nowrap; }
    #foot .row:not(.contact) .logo .mark {
      width: 214px;
      height: 56px; }
    #foot .info {
      width: calc(240px + 80px);
      border-right: 2px dotted rgba(255, 255, 255, 0.2);
      display: flex;
      flex-wrap: wrap;
      flex-direction: column; }
      #foot .info .copyright {
        margin-top: auto; }
    #foot .navis {
      grid-gap: 0;
      border-bottom: none;
      margin: 0;
      padding: 0; }
      #foot .navis .btns {
        width: auto;
        padding: 0 67px;
        align-items: flex-start; }
        #foot .navis .btns .a {
          justify-content: flex-start; }
        #foot .navis .btns:not(:last-child) {
          border-right: 2px dotted rgba(255, 255, 255, 0.2); } }

#contents_bottom {
  position: sticky;
  bottom: 0;
  z-index: 5; }
  #contents_bottom .contact_link {
    left: auto;
    top: auto;
    right: 20px;
    width: 102px;
    height: 102px; }
    #contents_bottom .contact_link .a {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      background: #DC4A2A;
      color: #FFF;
      box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.1); }

#pan {
  --height:68px;
  box-sizing: border-box;
  height: var(--height);
  background: #FCFBF8; }
  #pan::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    pointer-events: none;
    background: #ddd; }
  #pan .container {
    height: 100%;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: 10px 20px;
    max-width: 1180px; }
    #pan .container > div {
      display: flex;
      align-items: center; }
    #pan .container > * {
      position: relative; }
      #pan .container > *:not(.root) .txt {
        color: #888; }
      #pan .container > * a {
        color: #333333; }
      #pan .container > *:not(:last-child)::after {
        content: '/';
        width: 8px;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: calc( -1 * 28px / 2 );
        transform: translateY(-2px); }
    #pan .container .txt {
      font-size: var(--fontsize_s); }
  #pan .root .a .txt::before {
    content: "ホーム"; }
  #pan .a {
    text-decoration: none;
    overflow: visible; }
    #pan .a .txt {
      font-size: var(--fontsize_s); }

body:not(.touch) .for_touch {
  display: none !important; }
body:not(.touch) a.tel {
  text-decoration: none;
  color: #333333;
  cursor: default;
  pointer-events: none; }
body:not(.touch):not(.navi_on) #hamburger:hover .lines .line {
  width: 100% !important; }
body:not(.touch) .tags .tag .a:hover {
  opacity: 1 !important;
  color: #FFFFFF;
  background-color: #232323; }
body:not(.touch) .to_link .a:not(.text_link):hover {
  background: #ddd; }
body:not(.touch) .to_link .a.text_link:hover {
  text-decoration: none; }
body:not(.touch) .to_link.to_link_back .a:hover:before {
  background-image: url("../images/common/icon_arrow_white.svg"); }
body:not(.touch) .to_link.to_link_border .a:hover {
  background: #232323;
  color: #FFFFFF; }
  body:not(.touch) .to_link.to_link_border .a:hover:after {
    background-image: url("../images/common/icon_arrow_white.svg"); }
body:not(.touch) .to_text_link.to_return .a:hover::before {
  left: -4px; }
body:not(.touch) nav .navi .btn .a:not(.disabled):hover .txt {
  opacity: 0.5;
  filter: Alpha(opacity=50); }
body:not(.touch) .btns.btns_cont_move .a:hover .bg {
  opacity: 1;
  filter: Alpha(opacity=100); }
body:not(.touch) .btns:not(.btns_cont_move) .btn .a:hover {
  opacity: 0.5;
  filter: Alpha(opacity=50); }
body:not(.touch) .archives .archive:hover .name {
  opacity: .7; }
body:not(.touch) .archives .archive:hover .photo .bg {
  transform: scale(1.1); }
body:not(.touch) .archives .a:hover .photo .bg {
  transform: scale(1.1); }
body:not(.touch) .slick .slick-arrow:hover {
  background: #ddd; }
body.touch .not_for_touch {
  display: none !important; }
@media (max-width: 767px) {
  body:not(.navi_on) #global_navi {
    pointer-events: none; } }
@media (max-width: 767px) {
  body:not(.navi_on) #search_box {
    pointer-events: none; } }
@media (max-width: 767px) {
  body.navi_on {
    height: 100vh !important;
    overflow: hidden !important; }
    body.navi_on #global_navi {
      width: 100vw; }
    body.navi_on #contents {
      pointer-events: none; }
    body.navi_on #hamburger {
      /*&::after{
          content:"CLOSE";
      }*/ }
      body.navi_on #hamburger .lines {
        margin-top: -10px; }
        body.navi_on #hamburger .lines:after {
          content: 'CLOSE'; }
        body.navi_on #hamburger .lines .line:nth-child(1) {
          bottom: 0;
          left: 0;
          right: 0;
          width: 100%;
          transform: rotate(30deg); }
        body.navi_on #hamburger .lines .line:nth-child(2) {
          top: 0;
          left: 0;
          right: 0;
          width: 100%;
          transform: rotate(-30deg); }
        body.navi_on #hamburger .lines .line:nth-child(3) {
          width: 0; }
    body.navi_on .scroll {
      display: none !important; } }
body.scrolled #head nav .btns.navi .btn .child,
body.scrolled #global_navi nav .btns.navi .btn .child {
  top: 90px; }
body.scrolled #head {
  background: #FCFBF8; }
  body.scrolled #head nav .main {
    height: 50%; }
@media (min-width: 960px) {
  body.scrolled #head {
    position: fixed;
    height: 90px; }
    body.scrolled #head .logo_wrap .logo {
      width: 220px;
      height: 62px; }
    body.scrolled #head nav {
      align-items: center; }
  body.scrolled #contents {
    padding-top: calc(var(--headheight) ); } }
@media (min-width: 1280px) {
  body.scrolled .main .btns .btn .a {
    font-size: 1.2rem; } }
body:not(.loaded) #head, body:not(.loaded) #contents, body:not(.loaded) #foot {
  opacity: 0; }
body.loaded #head, body.loaded #contents, body.loaded #foot {
  opacity: 1; }
body.loaded #loading {
  opacity: 0;
  filter: Alpha(opacity=0);
  pointer-events: none; }
  body.loaded #loading .icon {
    transform: rotateY(90deg); }
body.sub_head_on #sub_head {
  transform: translateY(0px); }

.search_box {
  position: relative; }
  .search_box input:not([type=range]) {
    background: none;
    border-color: transparent transparent #000 transparent;
    border-radius: 0;
    font-weight: 700; }
  .search_box button {
    position: absolute;
    left: auto;
    width: 16px;
    height: 16px;
    display: inline-block;
    background: none;
    background-image: url(../images/common/icon_keyword.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 5px; }

.keywords.to_link .in {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  grid-gap: 11px; }
.keywords.to_link .to_link {
  width: 50%;
  cursor: pointer;
  display: inline-block;
  margin-top: 50px;
  padding: 10px; }
  .keywords.to_link .to_link .a {
    background: none; }
    .keywords.to_link .to_link .a:before {
      display: none; }
  @media (min-width: 960px) {
    .keywords.to_link .to_link {
      display: none; } }

.tags_wrap {
  --gap: 60px; }
  .tags_wrap .box {
    position: relative;
    padding: 0; }
    .tags_wrap .box:not(:last-child):after {
      content: '';
      background: #e9e9e9;
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: calc( -1 * var(--gap) / 2 ); }
  @media (min-width: 768px) {
    .tags_wrap {
      --gap: 40px; }
      .tags_wrap .box:not(:last-child):after {
        width: 1px;
        height: 100%;
        top: 0;
        bottom: auto;
        right: calc( -1 * var(--gap) / 2 ); } }
  @media (min-width: 960px) {
    .tags_wrap {
      --gap: 220px; } }

.movies {
  --gap:25px;
  margin-bottom: 40px; }
  @media (min-width: 960px) {
    .movies {
      margin-bottom: 80px; }
      .movies + .to_link {
        justify-content: center !important; } }
  .movies .movie {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 60%; }
    .movies .movie iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .movies .title {
    margin-top: 25px;
    line-height: 2;
    font-size: 1.18rem; }
  @media (min-width: 960px) {
    .movies .column {
      width: calc((100% - var(--gap))/2); } }

.contactinfo {
  margin-top: 20px; }
  .contactinfo[key=sss] > .head {
    color: #008585; }
  .contactinfo[key=sss] .datail .box {
    background-color: rgba(0, 133, 133, 0.09);
    color: #008585; }
    .contactinfo[key=sss] .datail .box .a {
      color: #008585; }
    .contactinfo[key=sss] .datail .box[key=mail] .head:before {
      background-image: url("../images/sss/icon_mail_sss.svg"); }
    .contactinfo[key=sss] .datail .box[key=tel] .head:before {
      background-image: url("../images/sss/icon_tel_sss.svg"); }
  .contactinfo[key=sou] > .head {
    color: #EA4E19; }
  .contactinfo[key=sou] .datail .box {
    background-color: rgba(234, 78, 25, 0.09);
    color: #EA4E19; }
    .contactinfo[key=sou] .datail .box .a {
      color: #EA4E19; }
    .contactinfo[key=sou] .datail .box[key=mail] .head:before {
      background-image: url("../images/sou/icon_mail_sou.svg"); }
    .contactinfo[key=sou] .datail .box[key=tel] .head:before {
      background-image: url("../images/sou/icon_tel_sou.svg"); }
  .contactinfo > .head {
    margin-bottom: 30px;
    font-size: 1.56rem; }
  .contactinfo .text {
    margin-bottom: 40px; }
  .contactinfo .a {
    text-decoration: none; }
  .contactinfo .datail {
    --gap:20px !important;
    flex-direction: row;
    grid-gap: var(--gap) !important; }
    .contactinfo .datail .box {
      border-radius: 20px;
      text-align: center;
      font-size: 1.25rem;
      height: 174px;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 0; }
      .contactinfo .datail .box .head {
        justify-content: center; }
      .contactinfo .datail .box[key=mail] .head:before {
        content: '';
        display: inline-block;
        background-size: contain;
        background-repeat: no-repeat;
        width: 27px;
        height: 20px; }
      .contactinfo .datail .box[key=tel] .head:before {
        content: '';
        display: inline-block;
        background-size: contain;
        background-repeat: no-repeat;
        width: 32px;
        height: 32px; }
      .contactinfo .datail .box[key=tel] .body {
        font-size: 1.56rem; }
      .contactinfo .datail .box[key=sns] .to_link {
        margin-bottom: 0; }
        .contactinfo .datail .box[key=sns] .to_link .a:after {
          transform: rotate(-45deg); }
      .contactinfo .datail .box .in {
        text-align: center; }
  @media (min-width: 960px) {
    .contactinfo .datail {
      --gap:20px !important; }
      .contactinfo .datail .box {
        width: calc((100% - var(--gap) * 2)/3); } }
  @media (min-width: 960px) {
    .contactinfo > .head {
      font-size: 1.9rem; } }

.notfound {
  padding: 80px 0; }
  .notfound .bg {
    text-align: center;
    font-size: 2.5rem;
    color: #ccc; }
  @media (min-width: 960px) {
    .notfound {
      padding: 120px 0; }
      .notfound .bg {
        font-size: 4rem; } }

/* Scss Document */
/* Scss Document */
input:not([type=range]),
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  display: block;
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400;
  width: 100%;
  height: 48px;
  box-sizing: border-box;
  padding: 10px 28px;
  border: 1px solid #ddd;
  color: #333333;
  background: #FFF;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  -o-border-radius: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 4px;
  line-height: 24px; }
  @media (max-width: 520px) {
    input:not([type=range]),
    textarea,
    select {
      height: 58px;
      line-height: 36px; } }

select option[value=""] {
  display: none; }
select.empty {
  color: #ddd; }

textarea {
  min-height: 12rem;
  line-height: 1.5; }

label {
  display: inline-flex;
  margin-right: 2rem;
  height: 48px;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  cursor: pointer; }
  label input {
    display: none !important; }
    label input + .txt,
    label input + .mwform-radio-field-text,
    label input + .mwform-checkbox-field-text {
      padding-left: 30px;
      min-height: 30px;
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      position: relative;
      color: #333333; }
      label input + .txt::before, label input + .txt::after,
      label input + .mwform-radio-field-text::before,
      label input + .mwform-radio-field-text::after,
      label input + .mwform-checkbox-field-text::before,
      label input + .mwform-checkbox-field-text::after {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        margin: auto;
        content: "";
        box-sizing: border-box; }
      label input + .txt::before,
      label input + .mwform-radio-field-text::before,
      label input + .mwform-checkbox-field-text::before {
        width: 18px;
        height: 18px;
        border: 1px solid #ddd;
        background: #ddd; }
    label input[type=radio] + .txt::before,
    label input[type=radio] + .txt::after,
    label input[type=radio] + .mwform-radio-field-text::before,
    label input[type=radio] + .mwform-radio-field-text::after {
      border-radius: 50%; }
    label input[type=radio] + .txt::after,
    label input[type=radio] + .mwform-radio-field-text::after {
      width: 10px;
      height: 10px;
      left: 4px;
      background: #DC4A2A; }
    label input[type=checkbox] + .txt::before,
    label input[type=checkbox] + .mwform-checkbox-field-text::before {
      border-radius: 4px; }
    label input[type=checkbox] + .txt::after,
    label input[type=checkbox] + .mwform-checkbox-field-text::after {
      width: 14px;
      height: 8px;
      border: 3px solid #DC4A2A;
      border-top: 0;
      border-right: 0;
      left: 2px;
      bottom: 4px;
      transform: rotate(-45deg); }
    label input:not(:checked) + .txt::after,
    label input:not(:checked) + .mwform-checkbox-field-text::after,
    label input:not(:checked) + .mwform-radio-field-text::after {
      display: none; }
    label input.checked + .txt,
    label input.checked + .mwform-checkbox-field-text,
    label input.checked + .mwform-radio-field-text {
      color: #DC4A2A; }

button {
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: 0;
  background: #DC4A2A; }

button:not(:disabled),
input[type=button]:not(:disabled) {
  cursor: pointer; }

.textarea_wrap {
  position: relative;
  width: 100%; }
  .textarea_wrap .placeholder {
    pointer-events: none;
    color: #707070;
    box-sizing: border-box;
    padding: 10px 28px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
    font-weight: 400; }
  .textarea_wrap textarea:not(.empty) + .placeholder,
  .textarea_wrap textarea:focus + .placeholder {
    display: none; }

::placeholder {
  color: #707070;
  font-family: YuGothic, "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 26px; }
  @media (max-width: 520px) {
    ::placeholder {
      font-size: 14px;
      line-height: 34px; } }

.part {
  margin-bottom: 3rem; }
  .part > .label, .part .unit {
    color: #333333; }
  .part > .label {
    margin-bottom: 1rem; }

.abs {
  content: "*"; }

.with_label {
  position: relative; }
  .with_label .label {
    position: absolute;
    height: 48px;
    line-height: 28px;
    top: 0;
    left: 0;
    pointer-events: none;
    padding: 10px 28px;
    box-sizing: border-box;
    z-index: 1;
    transition: 0.33s transform;
    color: #ddd; }
  .with_label input:active + .label, .with_label input:focus + .label, .with_label input:focus-within + .label, .with_label input:not(.empty) + .label, .with_label textarea:active + .label, .with_label textarea:focus + .label, .with_label textarea:focus-within + .label, .with_label textarea:not(.empty) + .label, .with_label select:active + .label, .with_label select:focus + .label, .with_label select:focus-within + .label, .with_label select:not(.empty) + .label {
    transform: translate(-18px, -38px);
    color: #DC4A2A; }

.form_steps {
  position: static;
  width: calc(100% + 60px);
  height: 180px;
  margin-left: -30px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../images/form/bg_step.jpg") no-repeat center center;
  background-size: cover;
  z-index: -1;
  padding: 0 30px; }
  .form_steps.form_steps_pc {
    display: none !important; }
  .form_steps.form_steps_sp {
    box-sizing: border-box; }
  .form_steps .step {
    width: 200px;
    background: #707070;
    box-sizing: border-box;
    height: 80px;
    padding: 1rem 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    border: 1px solid #0C0C0C; }
  @media (min-width: 960px) {
    .form_steps {
      flex-direction: column;
      position: fixed;
      top: 0;
      right: 0;
      height: 100vh;
      width: 28vw;
      margin-left: auto; }
      .form_steps.form_steps_sp {
        display: none !important; }
      .form_steps.form_steps_pc {
        display: flex !important; } }

.mw_wp_form .flex {
  align-items: center;
  flex-wrap: wrap; }
  .mw_wp_form .flex .part {
    margin-bottom: 0; }
  .mw_wp_form .flex .to_link {
    margin-bottom: 0 !important; }
  .mw_wp_form .flex > *:not(:last-child) {
    margin-right: 3rem; }
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important; }
@media (min-width: 768px) {
  .mw_wp_form {
    width: 80%; } }
.mw_wp_form.mw_wp_form_input .form_steps .step[key=input],
.mw_wp_form.mw_wp_form_input .form_steps .step_input {
  background: #333333; }
.mw_wp_form.mw_wp_form_confirm .form_steps .step[key=confirm],
.mw_wp_form.mw_wp_form_confirm .form_steps .step_confirm {
  background: #333333; }
.mw_wp_form.mw_wp_form_confirm .not_for_confirm {
  display: none; }
.mw_wp_form.mw_wp_form_complete .form_steps .step[key=complete],
.mw_wp_form.mw_wp_form_complete .form_steps .step_complete {
  background: #333333; }
