@charset "UTF-8";
/*=======================================
	breakpoint
=======================================*/
/*=======================================
	hover
=======================================*/
/*=======================================
	中央配置
=======================================*/
/*=======================================
	可変レスポンシブ
=======================================*/
/* PC */
/* TB */
/* SP */
/*=======================================
	ブラウザ別
=======================================*/
/* Safari */
/* Firefox */
/*-------------------------
- intro_sec
- cmn_block
-------------------------*/
/*=======================================
　intro_sec
=======================================*/
.intro_sec {
  margin-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .intro_sec {
    margin-bottom: 50px;
  }
}
.intro_sec .inner h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 5px;
  padding: 47px 0 39px;
  border-top: 2px solid #e8e8e8;
  border-bottom: 2px solid #e8e8e8;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .intro_sec .inner h2 {
    padding: 25px 0 20px;
    margin-bottom: 20px;
  }
}
.intro_sec .inner h2 span.jp, .intro_sec .inner h2 span.en {
  padding-left: 97px;
}
@media screen and (max-width: 768px) {
  .intro_sec .inner h2 span.jp, .intro_sec .inner h2 span.en {
    padding-left: 50px;
  }
}
.intro_sec .inner h2 span.jp {
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  font-size: 35px;
  line-height: 1.457;
  position: relative;
}
@media screen and (max-width: 768px) {
  .intro_sec .inner h2 span.jp {
    font-size: 25px;
  }
}
.intro_sec .inner h2 span.jp::before {
  content: "";
  background-size: cover !important;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 55%;
  left: 0;
  width: 46.98px;
  height: 36.67px;
}
@media screen and (max-width: 768px) {
  .intro_sec .inner h2 span.jp::before {
    width: 35px;
    height: 27px;
  }
}
.intro_sec .inner h2 span.en {
  font-size: 14px;
  color: var(--sub_purple);
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .intro_sec .inner h2 span.en {
    font-size: 12px;
  }
}
.intro_sec .inner > .cmn_txt01 {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .intro_sec .inner > .cmn_txt01 {
    margin-bottom: 30px;
  }
}
.intro_sec .inner > .img {
  width: 100%;
  max-width: 650px;
  margin: 0 auto;
}

/*=======================================
　cmn_block
=======================================*/
.cmn_block:not(:last-of-type) {
  margin-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .cmn_block:not(:last-of-type) {
    margin-bottom: 80px;
  }
}
.cmn_block .inner {
  background: #f5f4fb;
  padding: 50px;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner {
    padding: 25px 5%;
  }
}
.cmn_block .inner > .cmn_txt01 {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner > .cmn_txt01 {
    margin-bottom: 30px;
  }
}
.cmn_block .inner > iframe {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  width: 100%;
  max-width: 650px;
  height: auto;
  margin: 0 auto 50px;
  display: block;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner > iframe {
    margin-bottom: 30px;
  }
}
.cmn_block .inner > .img {
  width: 100%;
  max-width: 650px;
  height: auto;
  margin: 0 auto 100px;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner > .img {
    margin-bottom: 30px;
  }
}
.cmn_block .inner > .cmn_btn02 {
  margin: -70px auto 0;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner > .cmn_btn02 {
    margin-top: 0;
  }
}
.cmn_block .inner .cmn_item_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
}
.cmn_block .inner .cmn_item {
  background: #fff;
  border-radius: 20px;
  padding: 50px;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner .cmn_item {
    padding: 25px 5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cmn_block .inner .cmn_item .cmn_item_inn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner .cmn_item .cmn_item_inn {
    display: contents;
  }
}
.cmn_block .inner .cmn_item .txt_area {
  width: 57.01%;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner .cmn_item .txt_area {
    display: contents;
  }
}
@media screen and (max-width: 768px) {
  .cmn_block .inner .cmn_item .txt_area .cmn_ttl02 {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}
.cmn_block .inner .cmn_item .txt_area .cmn_txt01 {
  margin-bottom: 23px;
}
@media screen and (max-width: 768px) {
  .cmn_block .inner .cmn_item .txt_area .cmn_txt01 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 768px) {
  .cmn_block .inner .cmn_item .txt_area .cmn_btn02 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin: 0 auto;
  }
}
.cmn_block .inner .cmn_item .img_area {
  width: 37.7%;
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 1px solid rgba(156, 156, 156, 0.5);
}
@media screen and (max-width: 768px) {
  .cmn_block .inner .cmn_item .img_area {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .cmn_block .inner .cmn_item .img_area:hover {
    opacity: 0.5;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .cmn_block .inner .cmn_item .img_area:hover {
    opacity: 0.5;
  }
}
.cmn_block .inner .cmn_item .img_area::after {
  content: "";
  background: url("../img/common/icon_zoom.jpg") no-repeat;
  background-size: cover;
  position: absolute;
  right: 4.5px;
  bottom: 4.1px;
  width: 35px;
  height: 35px;
}
@media (min-width: 769px) and (hover: hover) and (pointer: fine) {
  .cmn_block .inner .cmn_item .img_area a:hover {
    opacity: 1;
  }
}
@media (min-width: 769px) and (-ms-high-contrast: none), (min-width: 769px) and (-ms-high-contrast: active) {
  .cmn_block .inner .cmn_item .img_area a:hover {
    opacity: 1;
  }
}/*# sourceMappingURL=layout.css.map */