@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@300;400;500;600&display=swap");
/*
min-font-size ($font_size, $min_font_size)
$font_size (vw):     可変フォントサイズ
$min_font_size (px): 最小フォントサイズ
*/
/*
max-font-size ($font_size, $max_font_size)
$font_size (vw):     可変フォントサイズ
$max_font_size (px): 最大フォントサイズ
*/
/* ----------------------------------------------------------------------- 

	common style 共通スタイル

----------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
  .pcOnly {
    display: none;
  }
}

.spOnly {
  display: none;
}
@media screen and (max-width: 800px) {
  .spOnly {
    display: block;
  }
}

/* ----------------------------------------------------------------------- 
	Background
----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- 
	Title
----------------------------------------------------------------------- */
.pageTitle {
  padding: 3vw 0 1vw;
  font-size: 2.6vw;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .pageTitle {
    font-size: 5.2vw;
  }
}

.ttlStyle01 {
  font-size: 1.7vw;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 2.5vw;
}
@media screen and (max-width: 800px) {
  .ttlStyle01 {
    font-size: 5.2vw;
  }
}

.contentIn .ttlStyle01 {
  font-size: 2.16vw;
}
@media screen and (min-width: 1203.7037037037px) {
  .contentIn .ttlStyle01 {
    font-size: 26px;
  }
}
@media screen and (max-width: 800px) {
  .contentIn .ttlStyle01 {
    font-size: 5.2vw;
  }
}

/* ----------------------------------------------------------------------- 
	Button
----------------------------------------------------------------------- */
.btnStyle01 {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  border: 1px solid #000000;
  background: #000000;
  padding: 10px 5vw;
  text-align: center;
  outline: none;
  -webkit-transition: ease 0.2s;
  transition: ease 0.2s;
  margin: 40px 0;
}
@media screen and (max-width: 800px) {
  .btnStyle01 {
    padding: 7px 10vw;
    margin: 20px 0;
  }
}
.btnStyle01:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #FFFFFF;
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: -webkit-transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: top;
          transform-origin: top;
}
.btnStyle01 span {
  position: relative;
  z-index: 3;
  color: #FFFFFF;
  letter-spacing: 0.1;
}
@media screen and (max-width: 800px) {
  .btnStyle01 span {
    font-size: 3.8vw;
  }
}
.btnStyle01:hover:before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.btnStyle01:hover span {
  color: #000000;
}

.inactiveBtnStyle {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  border: 1px solid #000000;
  background: #000000;
  padding: 10px 5vw;
  text-align: center;
  outline: none;
  -webkit-transition: ease 0.2s;
  transition: ease 0.2s;
}
@media screen and (max-width: 800px) {
  .inactiveBtnStyle {
    padding: 7px 10vw;
  }
}
.inactiveBtnStyle span {
  position: relative;
  z-index: 3;
  color: #FFFFFF;
  font-size: 0.83vw;
}
@media screen and (max-width: 800px) {
  .inactiveBtnStyle span {
    font-size: 3.8vw;
  }
}

/* ----------------------------------------------------------------------- 
	Layout(Block)
----------------------------------------------------------------------- */
.sliderBlock {
  position: relative;
}
.sliderBlock .slider {
  width: 100%;
  height: auto;
  overflow: hidden;
}
.sliderBlock .slider li.slick-slide {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.sliderBlock .slider li.slick-slide img {
  width: 100%;
}
.sliderBlock .slider li.slick-slide a {
  position: absolute;
  inset: 0;
  z-index: 10;
}
.sliderBlock .slider li.slick-slide a span {
  display: none;
}
.sliderBlock .slider .slick-dots {
  position: absolute;
  bottom: 15px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  width: auto;
}
.sliderBlock .slider .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
}
.sliderBlock .slider .slick-dots li button {
  width: 20px;
  height: 20px;
  padding: 0;
}
.sliderBlock .slider .slick-dots li button:before {
  font-size: 12px;
  color: #fff;
  opacity: 0.5;
}
.sliderBlock .slider .slick-dots li.slick-active button:before {
  opacity: 1;
}
.sliderBlock .mainTxt {
  position: absolute;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-justify-content: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  top: 0;
}
.sliderBlock .mainTxt h2 {
  font-size: 2.3vw;
  color: #FFFFFF;
  text-align: center;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 800px) {
  .sliderBlock .mainTxt h2 {
    font-size: 4.3vw;
    line-height: 2;
  }
}
.sliderBlock.contentIn {
  max-width: 1200px;
  margin: 0 auto;
}
.sliderBlock.contentIn:after {
  content: "";
  display: table;
  clear: both;
}
.sliderBlock.contentIn {
  padding: 0;
}

/* Text Contents (Title & Text) */
.textBolckStyle01 {
  padding: 3.33vw 5vw;
}
@media screen and (max-width: 800px) {
  .textBolckStyle01 {
    padding: 8vw 4vw;
  }
}
.textBolckStyle01 .txtBlock {
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .textBolckStyle01 .txtBlock {
    margin-top: 7vw;
  }
}
.textBolckStyle01.contentIn {
  max-width: 1200px;
  margin: 0 auto;
}
.textBolckStyle01.contentIn:after {
  content: "";
  display: table;
  clear: both;
}
.textBolckStyle01.contentIn .txtBlock {
  font-size: 1.25vw;
}
@media screen and (min-width: 1200px) {
  .textBolckStyle01.contentIn .txtBlock {
    font-size: 15px;
  }
}

/* Image Contents (content width 100%) */
.imageBolckStyle {
  padding: 3.33vw 0;
}
@media screen and (max-width: 800px) {
  .imageBolckStyle {
    padding-top: 10.66vw;
  }
}
.imageBolckStyle .ttlStyle01 {
  margin-left: 5vw;
}
.imageBolckStyle img {
  width: 100%;
}
.imageBolckStyle.contentIn {
  padding: 6.66vw 5vw 0;
  max-width: 1200px;
  margin: 0 auto;
}
.imageBolckStyle.contentIn:after {
  content: "";
  display: table;
  clear: both;
}
@media screen and (max-width: 800px) {
  .imageBolckStyle.contentIn {
    padding: 10.66vw 4vw 0;
  }
}
.imageBolckStyle.contentIn .ttlStyle01 {
  margin-left: 0;
}
.imageBolckStyle.contentIn .txtBlock {
  font-size: 1.25vw;
}
@media screen and (min-width: 1200px) {
  .imageBolckStyle.contentIn .txtBlock {
    font-size: 15px;
  }
}

/* Image & Text Contents (L:Image R:Text) */
.textImageBolckStyle01 {
  padding: 3.33vw 5vw;
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01 {
    padding: 8vw 4vw;
  }
}
.textImageBolckStyle01 .flexBox {
  margin-top: 4vw;
}
.textImageBolckStyle01 .flexBox.layoutVOpt-T {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.textImageBolckStyle01 .flexBox.layoutVOpt-C {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.textImageBolckStyle01 .flexBox.layoutVOpt-B {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.textImageBolckStyle01 .flexBox.rvs {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.textImageBolckStyle01 .flexBox.rvs .txtBlock {
  width: 45%;
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01 .flexBox.rvs .txtBlock {
    width: 100%;
    margin-left: 0;
  }
}
.textImageBolckStyle01 .flexBox.rvs .imgBlock {
  width: 45%;
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01 .flexBox.rvs .imgBlock {
    width: 100%;
  }
}
.textImageBolckStyle01 .flexBox .imgBlock {
  width: 45%;
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01 .flexBox .imgBlock {
    width: 100%;
  }
}
.textImageBolckStyle01 .flexBox .txtBlock {
  width: 45%;
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01 .flexBox .txtBlock {
    width: 100%;
  }
}
.textImageBolckStyle01 .flexBox .txtBlock .ttlStyle {
  font-size: 1.66vw;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01 .flexBox .txtBlock .ttlStyle {
    margin-top: 5vw;
    font-size: 4vw;
  }
}
.textImageBolckStyle01 .flexBox .txtBlock .txtStyle {
  margin-top: 2vw;
  font-size: 1vw;
  line-height: 2;
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01 .flexBox .txtBlock .txtStyle {
    margin-top: 5vw;
    font-size: 3.5vw;
  }
}
.textImageBolckStyle01 .flexBox .btnBlock {
  margin-top: 2vw;
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01 .flexBox .btnBlock {
    margin-top: 5vw;
  }
}
.textImageBolckStyle01.contentIn {
  max-width: 1200px;
  margin: 0 auto;
}
.textImageBolckStyle01.contentIn:after {
  content: "";
  display: table;
  clear: both;
}
.textImageBolckStyle01.contentIn .flexBox .txtBlock .ttlStyle {
  font-size: 1.66vw;
}
@media screen and (min-width: 1204.8192771084px) {
  .textImageBolckStyle01.contentIn .flexBox .txtBlock .ttlStyle {
    font-size: 20px;
  }
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01.contentIn .flexBox .txtBlock .ttlStyle {
    font-size: 4vw;
  }
}
.textImageBolckStyle01.contentIn .flexBox .txtBlock .txtStyle {
  font-size: 1vw;
}
@media screen and (min-width: 1400px) {
  .textImageBolckStyle01.contentIn .flexBox .txtBlock .txtStyle {
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  .textImageBolckStyle01.contentIn .flexBox .txtBlock .txtStyle {
    font-size: 3.5vw;
  }
}

/* Image List */
.imageListBolckStyle01 {
  padding: 3.33vw 5vw;
}
@media screen and (max-width: 800px) {
  .imageListBolckStyle01 {
    padding: 8vw 4vw;
  }
}
.imageListBolckStyle01 .listStyle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.imageListBolckStyle01 .listStyle li {
  line-height: 1.4;
  position: relative;
}
.imageListBolckStyle01 .listStyle li a {
  position: absolute;
  inset: 0;
  z-index: 10;
}
.imageListBolckStyle01 .listStyle li a span {
  display: none;
}
.imageListBolckStyle01 .listStyle li .txtBlock {
  margin-top: 0.83vw;
}
.imageListBolckStyle01 .listStyle li .imgBlock {
  aspect-ratio: 1/1;
  overflow: hidden;
}
.imageListBolckStyle01 .listStyle li .imgBlock img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.imageListBolckStyle01 .listStyle.col2::after {
  content: "";
  display: block;
  width: 48%;
}
.imageListBolckStyle01 .listStyle.col2 li {
  width: 48%;
  padding-bottom: 2vw;
  font-size: 1.5vw;
}
@media screen and (min-width: 1200px) {
  .imageListBolckStyle01 .listStyle.col2 li {
    font-size: 18px;
  }
}
@media screen and (max-width: 800px) {
  .imageListBolckStyle01 .listStyle.col2::after {
    width: 90%;
  }
  .imageListBolckStyle01 .listStyle.col2 li {
    width: 90%;
    margin: 0 5%;
    padding-bottom: 5vw;
    font-size: 4.26vw;
  }
}
.imageListBolckStyle01 .listStyle.col3::after {
  content: "";
  display: block;
  width: 31%;
}
.imageListBolckStyle01 .listStyle.col3 li {
  width: 31%;
  padding-bottom: 2vw;
  font-size: 1.33vw;
}
@media screen and (min-width: 1203.007518797px) {
  .imageListBolckStyle01 .listStyle.col3 li {
    font-size: 16px;
  }
}
@media screen and (max-width: 800px) {
  .imageListBolckStyle01 .listStyle.col3::after {
    width: 90%;
  }
  .imageListBolckStyle01 .listStyle.col3 li {
    width: 90%;
    margin: 0 5%;
    padding-bottom: 5vw;
    font-size: 4.26vw;
  }
}
.imageListBolckStyle01 .listStyle.col4::before {
  content: "";
  display: block;
  width: 22%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.imageListBolckStyle01 .listStyle.col4::after {
  content: "";
  display: block;
  width: 22%;
}
.imageListBolckStyle01 .listStyle.col4 li {
  width: 22%;
  padding-bottom: 1.8vw;
  font-size: 1.16vw;
}
@media screen and (min-width: 1206.8965517241px) {
  .imageListBolckStyle01 .listStyle.col4 li {
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  .imageListBolckStyle01 .listStyle.col4::after {
    width: 48%;
  }
  .imageListBolckStyle01 .listStyle.col4 li {
    width: 48%;
    padding-bottom: 5vw;
    font-size: 3.46vw;
  }
}
.imageListBolckStyle01 .listStyle.col5::after {
  content: "";
  display: block;
  width: 18%;
}
.imageListBolckStyle01 .listStyle.col5 li {
  width: 18%;
  padding-bottom: 1.8vw;
  font-size: 1.08vw;
}
@media screen and (min-width: 1203.7037037037px) {
  .imageListBolckStyle01 .listStyle.col5 li {
    font-size: 13px;
  }
}
.imageListBolckStyle01 .listStyle.col5 li {
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  .imageListBolckStyle01 .listStyle.col5::after {
    width: 48%;
  }
  .imageListBolckStyle01 .listStyle.col5 li {
    width: 48%;
    padding-bottom: 5vw;
    font-size: 3.46vw;
  }
}
.imageListBolckStyle01.contentIn {
  max-width: 1200px;
  margin: 0 auto;
}
.imageListBolckStyle01.contentIn:after {
  content: "";
  display: table;
  clear: both;
}

.newsListBlockStyle01 {
  padding: 3.33vw 5vw;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle01 {
    padding: 8vw 4vw;
  }
}
.newsListBlockStyle01 .newsListStyle {
  border-top: 1px solid #000000;
}
.newsListBlockStyle01 .newsListStyle li {
  height: 5vw;
  max-height: 60px;
  border-bottom: 1px solid #000000;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle01 .newsListStyle li {
    height: auto;
    max-height: 100%;
    padding: 1vw 0 2vw;
  }
}
.newsListBlockStyle01 .newsListStyle li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-justify-content: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  position: relative;
  width: 100%;
  height: 100%;
}
.newsListBlockStyle01 .newsListStyle li a::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 1.25vw;
  height: 1.25vw;
  max-width: 15px;
  max-height: 15px;
  border-top: 1px solid #000000;
  border-right: 1px solid #000000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle01 .newsListStyle li a::after {
    right: 10px;
  }
}
.newsListBlockStyle01 .newsListStyle li a .txtDate {
  font-weight: 600;
  width: 9%;
  max-width: 90px;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle01 .newsListStyle li a .txtDate {
    width: 20%;
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) and (min-width: 375px) {
  .newsListBlockStyle01 .newsListStyle li a .txtDate {
    font-size: 12px;
  }
}
.newsListBlockStyle01 .newsListStyle li a .txtCategory {
  width: 10%;
  max-width: 100px;
  margin-left: 1vw;
}
.newsListBlockStyle01 .newsListStyle li a .txtCategory span {
  background-color: #000000;
  color: #FFFFFF;
  font-size: 1.08vw;
}
@media screen and (min-width: 1203.7037037037px) {
  .newsListBlockStyle01 .newsListStyle li a .txtCategory span {
    font-size: 13px;
  }
}
.newsListBlockStyle01 .newsListStyle li a .txtCategory span {
  padding: 0 8px 2px;
  border-radius: 3px;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle01 .newsListStyle li a .txtCategory {
    width: 76%;
    margin-left: 4%;
  }
  .newsListBlockStyle01 .newsListStyle li a .txtCategory span {
    font-size: 2.93vw;
    padding: 0 8px 1px;
  }
}
@media screen and (max-width: 800px) and (min-width: 375.4266211604px) {
  .newsListBlockStyle01 .newsListStyle li a .txtCategory span {
    font-size: 11px;
  }
}
.newsListBlockStyle01 .newsListStyle li a .txtTitle {
  width: 73%;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle01 .newsListStyle li a .txtTitle {
    width: 96%;
    margin-top: 1vw;
    font-size: 3.46vw;
    line-height: 1.4;
  }
}
@media screen and (max-width: 800px) and (min-width: 375.7225433526px) {
  .newsListBlockStyle01 .newsListStyle li a .txtTitle {
    font-size: 13px;
  }
}
@media print, screen and (min-width: 801px) {
  .newsListBlockStyle01 .newsListStyle li a:hover {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
  }
  .newsListBlockStyle01 .newsListStyle li a:hover p {
    color: #000000;
  }
  .newsListBlockStyle01 .newsListStyle li a:hover::after {
    border-top: 1px solid #000000;
    border-right: 1px solid #000000;
    right: 10px;
  }
}
.newsListBlockStyle01.contentIn {
  max-width: 1200px;
  margin: 0 auto;
}
.newsListBlockStyle01.contentIn:after {
  content: "";
  display: table;
  clear: both;
}

.newsListBlockStyle02 {
  padding: 3.33vw 5vw;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle02 {
    padding: 8vw 4vw;
  }
}
.newsListBlockStyle02 .newsListStyle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-align-items: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-justify-content: space-between;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
}
.newsListBlockStyle02 .newsListStyle::before {
  content: "";
  display: block;
  width: 22%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
.newsListBlockStyle02 .newsListStyle::after {
  content: "";
  display: block;
  width: 22%;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle02 .newsListStyle::before {
    content: "";
    display: block;
    width: 48%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .newsListBlockStyle02 .newsListStyle::after {
    width: 48%;
  }
}
.newsListBlockStyle02 .newsListStyle li {
  width: 22%;
  padding-bottom: 1.8vw;
  font-size: 1.16vw;
}
@media screen and (min-width: 1206.8965517241px) {
  .newsListBlockStyle02 .newsListStyle li {
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle02 .newsListStyle li {
    width: 48%;
    padding-bottom: 5vw;
    font-size: 3.46vw;
  }
}
.newsListBlockStyle02 .newsListStyle li .imgBlock {
  position: relative;
  overflow: hidden;
}
.newsListBlockStyle02 .newsListStyle li .imgBlock img {
  -webkit-transition: 1s all;
  transition: 1s all;
}
.newsListBlockStyle02 .newsListStyle li .imgBlock img:hover {
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
}
.newsListBlockStyle02 .newsListStyle li .imgBlock .txtCategory {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000000;
  color: #FFFFFF;
  font-size: 1.08vw;
}
@media screen and (min-width: 1203.7037037037px) {
  .newsListBlockStyle02 .newsListStyle li .imgBlock .txtCategory {
    font-size: 13px;
  }
}
.newsListBlockStyle02 .newsListStyle li .imgBlock .txtCategory {
  padding: 0 8px;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle02 .newsListStyle li .imgBlock .txtCategory {
    font-size: 2.93vw;
  }
}
@media screen and (max-width: 800px) and (min-width: 375.4266211604px) {
  .newsListBlockStyle02 .newsListStyle li .imgBlock .txtCategory {
    font-size: 11px;
  }
}
.newsListBlockStyle02 .newsListStyle li .txtBlock .txtDate {
  font-weight: 600;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle02 .newsListStyle li .txtBlock .txtDate {
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 800px) and (min-width: 375px) {
  .newsListBlockStyle02 .newsListStyle li .txtBlock .txtDate {
    font-size: 12px;
  }
}
.newsListBlockStyle02 .newsListStyle li .txtBlock .txtTitle {
  margin-top: 1vw;
}
@media screen and (max-width: 800px) {
  .newsListBlockStyle02 .newsListStyle li .txtBlock .txtTitle {
    font-size: 3.46vw;
    line-height: 1.4;
  }
}
@media screen and (max-width: 800px) and (min-width: 375.7225433526px) {
  .newsListBlockStyle02 .newsListStyle li .txtBlock .txtTitle {
    font-size: 13px;
  }
}
.newsListBlockStyle02.contentIn {
  max-width: 1200px;
  margin: 0 auto;
}
.newsListBlockStyle02.contentIn:after {
  content: "";
  display: table;
  clear: both;
}

.customBlock {
  padding: 3.33vw 5vw;
}
@media screen and (max-width: 800px) {
  .customBlock {
    padding: 8vw 4vw;
  }
}
.customBlock.contentIn {
  max-width: 1200px;
  margin: 0 auto;
}
.customBlock.contentIn:after {
  content: "";
  display: table;
  clear: both;
}

/* ----------------------------------------------------------------------- 
	post detail template
----------------------------------------------------------------------- */
#postDetail #newsSec {
  padding: 3.33vw 0 8vw;
}
@media screen and (max-width: 800px) {
  #postDetail #newsSec {
    padding: 12vw 0;
  }
}
#postDetail #newsSec .contentIn {
  width: 70%;
}
@media screen and (max-width: 800px) {
  #postDetail #newsSec .contentIn {
    width: 90%;
  }
}
#postDetail #newsSec .newsDate {
  font-size: 1.16vw;
}
@media screen and (min-width: 1206.8965517241px) {
  #postDetail #newsSec .newsDate {
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  #postDetail #newsSec .newsDate {
    font-size: 3.46vw;
  }
}
#postDetail #newsSec .newsTitle {
  font-size: 1.83vw;
}
@media screen and (min-width: 1202.1857923497px) {
  #postDetail #newsSec .newsTitle {
    font-size: 22px;
  }
}
#postDetail #newsSec .newsTitle {
  line-height: 1.4;
}
@media screen and (max-width: 800px) {
  #postDetail #newsSec .newsTitle {
    font-size: 4.8vw;
  }
}
#postDetail #newsSec .newsContent {
  margin-top: 2vw;
  padding: 2vw 0 5vw;
  border-top: 1px solid #000000;
}
@media screen and (max-width: 800px) {
  #postDetail #newsSec .newsContent {
    margin-top: 4vw;
    padding: 4vw 0 8vw;
  }
}

/* ----------------------------------------------------------------------- 
	post detail template
----------------------------------------------------------------------- */
.normalPage .contentBlock {
  padding: 3.33vw 0 8vw;
}
@media screen and (max-width: 800px) {
  .normalPage .contentBlock {
    padding: 8vw 0 10vw;
  }
}

/* ------------------- 
	Option
----------------------*/
/* align option setting */
.layoutHOpt-L {
  text-align: left;
}

.layoutHOpt-C {
  text-align: center;
}

.layoutHOpt-R {
  text-align: right;
}

/* ----------------------------------------------------------------------- 
	Line
----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- 
	Box
----------------------------------------------------------------------- */
/* ----------------------------------------------------------------------- 
	Table
----------------------------------------------------------------------- */
.tblStyle01 {
  border-collapse: collapse;
  width: 100%;
  max-width: 860px;
  margin: auto;
}
@media screen and (max-width: 800px) {
  .tblStyle01 {
    text-align: left;
  }
}
.tblStyle01 th, .tblStyle01 td {
  border: 1px solid #000000;
  padding: 1em;
}
@media screen and (max-width: 800px) {
  .tblStyle01 th, .tblStyle01 td {
    display: block;
  }
}
@media screen and (max-width: 800px) {
  .tblStyle01 thead {
    display: none;
  }
}
.tblStyle01 thead th {
  background-color: #595959;
  color: #fff;
  border: 1px solid #000000;
  border-right: 1px solid #FFFFFF;
  border-bottom: 1px solid #000000;
}
.tblStyle01 thead th:last-of-type {
  border-right: 1px solid #000000;
}
@media screen and (max-width: 800px) {
  .tblStyle01 tbody {
    border-bottom: 1px solid #000000;
  }
}
.tblStyle01 tbody th {
  background-color: #DDD;
  vertical-align: top;
  width: 30%;
}
@media screen and (max-width: 800px) {
  .tblStyle01 tbody th {
    width: 100%;
  }
}
.tblStyle01 tbody td {
  width: 70%;
  background-color: #FFFFFF;
}
@media screen and (max-width: 800px) {
  .tblStyle01 tbody td {
    width: 100%;
    border-top: 0;
    border-bottom: 0;
  }
}
.tblStyle01 tbody td ul li {
  text-indent: -1em;
  padding-left: 1em;
}
.tblStyle01 tbody td a {
  color: #074e91;
}

/* ----------------------------------------------------------------------- 
	Form
----------------------------------------------------------------------- */
.wpcf7-form {
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 800px) {
  .wpcf7-form {
    width: 100%;
  }
}
.wpcf7-form:after {
  content: "";
  display: table;
  clear: both;
}

/* TextBox */
input[type=text], input[type=tel], input[type=email] {
  width: 100%;
  height: 36px;
  border: 1px solid #999;
  background-color: #FFFFFF;
  padding: 2px 10px;
  font-size: 14px;
}

/* テキストエリア */
textarea {
  width: 100%;
  height: 16.93vw;
  border: 1px solid #999;
  background-color: #FFFFFF;
  padding: 1.25vw 1.38vw;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  font-weight: 400;
  color: #999;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  font-weight: 400;
  color: #999;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  font-weight: 400;
  color: #999;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
  font-weight: 400;
  color: #999;
}

input::placeholder, textarea::placeholder {
  font-weight: 400;
  color: #999;
}

.wpcf7-form label {
  display: block;
  margin-top: 30px;
}
.wpcf7-form label .require {
  font-size: 12px;
  color: red;
}

/* SelectBox */
.selectBoxStyle {
  overflow: hidden;
  text-align: center;
}

.selectBoxStyle select {
  width: 100%;
  height: 36px;
  padding: 2px 10px;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  font-size: 14px;
}

.selectBoxStyle select::-ms-expand {
  display: none;
}

.selectBoxStyle {
  position: relative;
  border: 1px solid #999;
  background: #FFFFFF;
}

.selectBoxStyle::before {
  position: absolute;
  top: 0.8em;
  right: 0.8em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #999;
  pointer-events: none;
}

.selectBoxStyle select {
  padding: 8px 38px 8px 8px;
  color: black;
}

/* CheckBox */
.wpcf7-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
}

.wpcf7-checkbox .wpcf7-list-item {
  margin: 0 18px 0 0;
}

.wpcf7-checkbox .wpcf7-list-item label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  position: relative;
  margin: 0;
}

.wpcf7-checkbox .wpcf7-list-item-label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  line-height: 1.4;
}

.wpcf7-checkbox .wpcf7-list-item-label::before {
  content: "";
  width: 20px;
  height: 20px;
  border: 1px solid #333;
  border-radius: 4px;
  background: #fff;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20px;
          flex: 0 0 20px;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.wpcf7-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background: #333;
  border-color: #333;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23fff' d='M7.7 14.2 3.8 10.3l1.4-1.4 2.5 2.5 6.9-6.9 1.4 1.4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}

.wpcf7-checkbox .wpcf7-list-item label:hover .wpcf7-list-item-label::before {
  border-color: #000;
}

/* RadioButton */
input[type=radio] {
  display: none;
}

.radio01 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 0 5px 30px;
  position: relative;
  width: auto;
}

.radio01::before {
  background: #fff;
  border: 1px solid #231815;
  border-radius: 50%;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}

.radio01::after {
  background: #999;
  border-radius: 50%;
  content: "";
  display: block;
  height: 10px;
  left: 9px;
  margin-top: -4px;
  opacity: 0;
  position: absolute;
  top: 50%;
  width: 10px;
}

input[type=radio]:checked + .radio01::after {
  opacity: 1;
}

.btnBlock {
  width: 40%;
  margin: 50px auto;
}

.wpcf7-submit {
  width: 100%;
  display: inline-block;
  font-size: 15px;
  text-align: center;
  cursor: pointer;
  padding: 10px 0;
  color: #FFFFFF;
  background-color: rgba(0, 70, 143, 0.9);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.wpcf7-submit:hover {
  background: #000000;
}

/* ----------------------------------------------------------------------- 
	Animation
----------------------------------------------------------------------- */
.slideIn {
  opacity: 0;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: all 1s;
  transition: all 1s;
}
.slideIn.slideInUp {
  -webkit-transform: translate(0, -20px);
          transform: translate(0, -20px);
  opacity: 1 !important;
}