@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;500;600;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a,
abbr, acronym, address, big, cite, code, del,
dfn, em, img, ins, kbd, q, s, samp, small,
strike, strong, sub, sup, tt, var, b, u, i,
center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*--------------------------------------

  hover

--------------------------------------*/
/*--------------------------------------

  header nav toggle

--------------------------------------*/
@media only screen and (max-width: 1023px) {
  #js-nav-body {
    opacity: 0;
    pointer-events: none;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}

#js-nav-body.active {
  opacity: 1;
  pointer-events: all;
}
#js-nav-body.active .l-header_list {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

#js-hambuger {
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

#js-hamburger.active {
  -webkit-animation: hambuger 0.6s forwards;
  animation: hambuger 0.6s forwards;
}

#js-hamburger.active span:nth-of-type(1) {
  -webkit-animation: hambuger-top 0.6s forwards;
  animation: hambuger-top 0.6s forwards;
}
#js-hamburger.active span:nth-of-type(2) {
  -webkit-animation: hambuger-center 0.6s forwards;
  animation: hambuger-center 0.6s forwards;
}
#js-hamburger.active span:nth-of-type(3) {
  -webkit-animation: hambuger-bottom 0.6s forwards;
  animation: hambuger-bottom 0.6s forwards;
}

@-webkit-keyframes hambuger-top {
  50% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
  }
}

@keyframes hambuger-top {
  50% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
@-webkit-keyframes hambuger-center {
  50% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 0;
  }
}
@keyframes hambuger-center {
  50% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes hambuger-bottom {
  50% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
@keyframes hambuger-bottom {
  50% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
#js-hamburger:not(.active) span:nth-of-type(1) {
  -webkit-animation: hambuger-top-reverse 0.6s forwards;
  animation: hambuger-top-reverse 0.6s forwards;
}
#js-hamburger:not(.active) span:nth-of-type(2) {
  -webkit-animation: hambuger-center-reverse 0.6s forwards;
  animation: hambuger-center-reverse 0.6s forwards;
}
#js-hamburger:not(.active) span:nth-of-type(3) {
  -webkit-animation: hambuger-bottom-reverse 0.6s forwards;
  animation: hambuger-bottom-reverse 0.6s forwards;
}

@-webkit-keyframes hambuger-top-reverse {
  0% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
  }
  40% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    top: 2.8205128205vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes hambuger-top-reverse {
  0% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
  }
  40% {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    top: 2.8205128205vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@-webkit-keyframes hambuger-center-reverse {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes hambuger-center-reverse {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes hambuger-bottom-reverse {
  0% {
    bottom: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  40% {
    bottom: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    bottom: 2.8205128205vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@keyframes hambuger-bottom-reverse {
  0% {
    bottom: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  40% {
    bottom: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  100% {
    bottom: 2.8205128205vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
/*--------------------------------------

  続きを読む

--------------------------------------*/
.js-slideToggleTrigger {
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.js-slideToggleTrigger:hover {
  -webkit-filter: brightness(1.1);
  filter: brightness(1.1);
}

.m_supplies .js-slideToggle {
  display: none;
}

/*--------------------------------------

  modal

--------------------------------------*/
.js-OpenModalTrigger {
  cursor: pointer;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}

.js-icon-arrow-down {
  -webkit-transition: 0.2s cubic-bezier(0.15, 0.57, 0.38, 0.96);
  transition: 0.2s cubic-bezier(0.15, 0.57, 0.38, 0.96);
}

.js-icon-arrow-down.active {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

/*--------------------------------------

  nazenani page - slide toggle

--------------------------------------*/
@media (max-width: 780px) {
  .purpose_txt.js-slideToggle {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
    line-height: 1.8;
    -webkit-transition: max-height 0.6s ease;
    transition: max-height 0.6s ease;
    max-height: 7.2em;
    -webkit-box-align: initial;
    -ms-flex-align: initial;
    align-items: initial;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    vertical-align: top;
    /* 位置ずれ対策：この要素ではアンカー補正を無効化 */
    overflow-anchor: none;
  }
}

@media only screen and (max-width: 780px) {
  .program_video-contents_txt .js-slideToggle {
    display: -webkit-box; /* ← 必須 */
    -webkit-box-orient: vertical; /* ← 必須 */
    -webkit-line-clamp: 2; /* ← 行数指定 */
    overflow: hidden; /* ← はみ出しを隠す */
    text-overflow: ellipsis; /* ← … を表示 */
    -webkit-transition: max-height 0.6s ease;
    transition: max-height 0.6s ease;
    line-height: 1.6; /* 実際のLHに合わせて調整 */
    max-height: 3.2em; /* 2行分 */
    /* 位置ずれ対策：この要素ではアンカー補正を無効化 */
    overflow-anchor: none;
  }
}

.purpose_txt.js-slideToggle.active,
.program_video-contents_txt .js-slideToggle.active {
  -webkit-line-clamp: initial;
  max-height: 1500px; /* 中身より大きい適当な上限 */
  display: block;
}

/*--------------------------------------

  karakuri page - slide toggle

--------------------------------------*/
@media only screen and (max-width: 780px) {
  .js-karakuri-part_txt_body {
    display: -webkit-box; /* ← 必須 */
    -webkit-box-orient: vertical; /* ← 必須 */
    -webkit-line-clamp: 5; /* ← 行数指定 */
    overflow: hidden; /* ← はみ出しを隠す */
    text-overflow: ellipsis; /* ← … を表示 */
    -webkit-transition: max-height 0.6s ease;
    transition: max-height 0.6s ease;
    max-height: 10em;
    /* 位置ずれ対策：この要素ではアンカー補正を無効化 */
    overflow-anchor: none;
  }
}

.js-karakuri-part_txt_body.active {
  -webkit-line-clamp: initial;
  max-height: 1000px; /* 中身より大きい適当な上限 */
  display: block;
}

/*--------------------------------------

  modal

--------------------------------------*/
.m_modal.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-scroll-chaining: none;
  overscroll-behavior: contain;
  overflow-y: scroll;
}
.m_modal.active::-webkit-scrollbar {
  display: none;
}
.m_modal.active {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  z-index: 50;
  pointer-events: all;
}

.m_modal {
  display: none;
  pointer-events: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.js-OpenModal.active {
  display: block;
}

.modal-open {
  overflow: hidden;
  width: 100%;
}

/*--------------------------------------

  再生ボタン

--------------------------------------*/
.playBtn[disabled],
.pauseBtn[disabled] {
  pointer-events: none;
}

@font-face {
  font-family: "LINE Seed JP";
  src: url("../../_/fonts/LINESeedJP_OTF_Bd.woff2") format("woff2"), url("../../_/fonts/LINESeedJP_OTF_Bd.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}
html {
  background: #fff;
  color: #333;
  overflow-x: hidden;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 500;
}
@media print, screen and (min-width: 781px) {
  html {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  html {
    font-size: 4.1025641026vw;
  }
}

button {
  margin: 0;
  padding: 0;
  color: inherit;
  background: none;
  font-size: 100%;
  line-height: inherit;
  font-family: inherit;
  font-weight: inherit;
  text-transform: none;
  border: transparent;
  text-align: left;
}

a {
  text-decoration: none;
}

.l-header {
  position: fixed;
  display: grid;
  grid-template-columns: 1fr 475px;
  width: 100%;
  z-index: 100;
  height: 92px;
}
@media only screen and (max-width: 1023px) {
  .l-header {
    grid-template-columns: 1fr;
    height: 13.8461538462vw;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header {
    grid-template-columns: auto;
    height: 13.8461538462vw;
  }
}
.l-header .header {
  position: relative;
  z-index: 2;
  padding: 25px 40px;
  background: #fff;
  height: 92px;
}
@media only screen and (max-width: 1023px) {
  .l-header .header {
    height: auto;
    display: grid;
    grid-template-columns: 1fr 8.7179487179vw;
    padding: 2.5641025641vw;
    height: 13.8461538462vw;
  }
}
.l-header .header_container:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (max-width: 780px) {
  .l-header .header_container:last-of-type {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
.l-header .l-header_logo_anchor {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}
.l-header .l-header_logo_anchor:hover {
  -webkit-transition: 0.1 ease;
  transition: 0.1 ease;
  -webkit-transform: translateY(10%);
  transform: translateY(10%);
}
@-webkit-keyframes header-link {
  25% {
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  75% {
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
@keyframes header-link {
  25% {
    -webkit-transform: rotate(-4deg);
    transform: rotate(-4deg);
  }
  50% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  75% {
    -webkit-transform: rotate(4deg);
    transform: rotate(4deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}
.l-header .l-header_logo {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_logo {
    margin-right: 3.8461538462vw;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header .l-header_logo {
    width: 30vw;
  }
}
.l-header .l-header_logo-toyota {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
@media print, screen and (max-width: 780px) {
  .l-header .l-header_logo-toyota {
    width: 34.6153846154vw;
  }
}
.l-header .l-header_logo,
.l-header .l-header_logo-toyota {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.l-header {
  /*--------------------------------------

    hambuger

  --------------------------------------*/
}
.l-header .hamburger {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .l-header .hamburger {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 8.7179487179vw;
    min-width: 34px;
    height: 8.7179487179vw;
    min-height: 34px;
    background: #5697DF;
    border-radius: 1.2820512821vw;
    cursor: pointer;
  }
}
.l-header .hamburger span {
  display: none;
}
@media only screen and (max-width: 1023px) {
  .l-header .hamburger span {
    display: block;
    width: 4.6153846154vw;
    height: 0.5128205128vw;
    -o-object-fit: cover;
    object-fit: cover;
    background: #fff;
  }
}
@media only screen and (max-width: 1023px) {
  .l-header .hamburger span:nth-of-type(1) {
    position: absolute;
    top: 2.8205128205vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transform-origin: center;
    transform-origin: center;
  }
}
@media only screen and (max-width: 1023px) {
  .l-header .hamburger span:nth-of-type(2) {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}
@media only screen and (max-width: 1023px) {
  .l-header .hamburger span:nth-of-type(3) {
    position: absolute;
    bottom: 2.8205128205vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

.l-header {
  /*--------------------------------------

    nav

  --------------------------------------*/
}
.l-header .l-header_inner {
  height: 92px;
  background: #fff;
  display: block;
}
@media print, screen and (min-width: 781px) {
  .l-header .l-header_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_inner {
    position: fixed;
    top: 13.8461538462vw;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 100;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header .l-header_inner {
    top: 13.8461538462vw;
  }
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_inner_bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100svh;
    position: absolute;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
  }
}
.l-header .l-header_nav {
  position: relative;
  z-index: 110;
}
.l-header .l-header_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_list {
    display: block;
  }
}
.l-header .l-header_item {
  border-left: 1px solid #A7A7A7;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_item:first-of-type {
    background: #007BC7;
    width: 100%;
  }
  .l-header .l-header_item:first-of-type::after {
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    display: block;
    width: 33.3333333333vw;
    height: 100%;
    background: url(../../_/images/nav_sp.jpg) center center/cover no-repeat;
  }
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_item:last-of-type {
    background: #DB2100;
    width: 100%;
  }
  .l-header .l-header_item:last-of-type::after {
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    display: block;
    width: 33.3333333333vw;
    height: 100%;
    background: url(../../_/images/nav_sp_2.jpg) center center/cover no-repeat;
  }
}
.l-header .l-header_nav {
  width: 100%;
}
.l-header .l-header_nav_link {
  display: block;
  height: 100%;
  padding-inline: 30px;
  color: #333;
  line-height: 1.3;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_nav_link {
    zoom: 0.7;
    padding-inline: 5.1282051282vw;
  }
}
@media print, screen and (min-width: 781px) {
  .l-header .l-header_nav_link:hover span {
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
    -webkit-transition: 0.1s ease;
    transition: 0.1s ease;
  }
}
.l-header .l-header_nav_link span {
  display: block;
}
@media print, screen and (min-width: 781px) {
  .l-header .l-header_nav_link span {
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_nav_link span {
    color: #fff;
  }
}
.l-header .l-header_nav_link span:nth-child(1) {
  font-size: 15px;
  display: none;
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_nav_link span:nth-child(1) {
    display: block;
    padding-top: 6.1538461538vw;
    margin-bottom: 3.0769230769vw;
    font-size: 4.358974359vw;
  }
}
.l-header .l-header_nav_link span:nth-child(2) {
  font-size: 15px;
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_nav_link span:nth-child(2) {
    font-size: 4.1025641026vw;
  }
}
.l-header .l-header_nav_link span:nth-child(3) {
  font-size: 18px;
  font-weight: 700;
}
@media only screen and (max-width: 1023px) {
  .l-header .l-header_nav_link span:nth-child(3) {
    padding-bottom: 6.1538461538vw;
    font-size: 5.3846153846vw;
  }
}

.footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1.5625vw 2.0833333333vw;
  background: #F6F5F1;
  border-block: 1px solid #d9d9d9;
}
@media print, screen and (max-width: 780px) {
  .footer {
    padding: 8.9743589744vw 7.6923076923vw;
    -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;
    gap: 5.1282051282vw;
  }
}

.l-footer_flex-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (max-width: 780px) {
  .l-footer_flex-box {
    -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;
  }
}

.l-footer_ttl {
  width: 240px;
}
@media print, screen and (max-width: 780px) {
  .l-footer_ttl {
    width: 61.5384615385vw;
    margin: 0 auto;
  }
}

.l-footer_txt {
  font-size: 20px;
}
@media print, screen and (max-width: 780px) {
  .l-footer_txt {
    font-size: 4.1025641026vw;
  }
}

.l-footer_link {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.l-footer_link:hover {
  -webkit-filter: brightness(1.1);
  filter: brightness(1.1);
}

.l-footer_img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/*--------------------------------------

    l-footer_inner

--------------------------------------*/
.l-footer_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 1.0416666667vw 2.0833333333vw 2.6041666667vw;
}
@media print, screen and (max-width: 780px) {
  .l-footer_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    gap: 5.1282051282vw;
    padding: 5.1282051282vw 7.6923076923vw 12.8205128205vw;
  }
}
.l-footer_inner .l-footer_policy {
  color: #333;
  font-size: 14px;
  font-weight: 400;
}
@media print, screen and (max-width: 780px) {
  .l-footer_inner .l-footer_policy {
    font-size: 3.5897435897vw;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer_inner .l-footer_flex-box {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
.l-footer_inner .list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 14px;
}
@media print, screen and (max-width: 780px) {
  .l-footer_inner .list {
    font-size: 3.5897435897vw;
  }
}
.l-footer_inner .list_link {
  color: #333;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.l-footer_inner .list_link:hover {
  opacity: 0.8;
}
.l-footer_inner .list_link-icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding-left: 5px;
  width: 15px;
  height: 15px;
}
@media print, screen and (max-width: 780px) {
  .l-footer_inner .list_link-icon {
    width: 3.0769230769vw;
    height: 3.0769230769vw;
  }
}
.l-footer_inner .list_item:first-child {
  border-right: 1px solid #b4b4b4;
}
.l-footer_inner .list_link {
  padding-block: 4px;
}
.l-footer_inner .list_item:first-child .list_link {
  margin-right: 20px;
}
.l-footer_inner .list_item:last-child .list_link {
  margin-left: 20px;
}

/*--------------------------------------

    お問い合わせボタン

--------------------------------------*/
.l-footer .btn {
  width: 174px;
  height: 44px;
  border-radius: 40px;
}
@media print, screen and (max-width: 780px) {
  .l-footer .btn {
    width: 44.6153846154vw;
    height: 11.2820512821vw;
    gap: 2.5641025641vw;
    border-radius: 10.2564102564vw;
  }
}

.btn .l-footer_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: #5F758C;
  gap: 10px;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-radius: 40px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media print, screen and (max-width: 780px) {
  .btn .l-footer_link {
    font-size: 4.1025641026vw;
    border-radius: 10.2564102564vw;
  }
}
.btn .l-footer_link:hover {
  opacity: 0.9;
}

@media print, screen and (max-width: 780px) {
  .btn .l-footer_link img {
    width: 4.6153846154vw;
    height: 3.8461538462vw;
    -o-object-fit: cover;
    object-fit: cover;
  }
}

/*--------------------------------------

  fv

--------------------------------------*/
.fv {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 41.40625vw;
}
@media print, screen and (max-width: 780px) {
  .fv {
    height: auto;
    background: none;
  }
}

.fv_ttl {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 4.1666666667vw 5.2083333333vw;
  border-radius: 0 4.1666666667vw 0 0;
  background: #fff;
  z-index: 2;
}
@media print, screen and (max-width: 780px) {
  .fv_ttl {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    padding: 10.2564102564vw 0;
    position: absolute;
    top: 79.4871794872vw;
    border-radius: 15.3846153846vw 15.3846153846vw 0 0;
  }
}

.logo_img {
  width: 24.4791666667vw;
}
@media print, screen and (max-width: 780px) {
  .logo_img {
    display: block;
    width: 74.358974359vw;
    margin: 0 auto;
  }
}

/*--------------------------------------

  bread list

--------------------------------------*/
.bread-list {
  padding: 30px 5.2083333333vw;
  font-size: 16px;
  color: #000;
  font-weight: 400;
  line-height: 1.4;
  background: #fff;
}
@media print, screen and (max-width: 780px) {
  .bread-list {
    padding: 5.1282051282vw;
    font-size: 3.5897435897vw;
  }
}

.bread-list .list_link {
  color: #000;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.bread-list .list_link:hover {
  opacity: 0.8;
}

/*--------------------------------------

  m_btn

--------------------------------------*/
.m_btn {
  width: 320px;
  height: 66px;
  border-radius: 40px;
  margin: 0 auto;
}
@media print, screen and (max-width: 780px) {
  .m_btn {
    width: 67.6923076923vw;
    height: 16.9230769231vw;
    border-radius: 10.2564102564vw;
  }
}

.m_btn_link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 20px;
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  border-radius: 40px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media print, screen and (max-width: 780px) {
  .m_btn_link {
    border-radius: 10.2564102564vw;
    font-size: 5.1282051282vw;
    gap: 5.1282051282vw;
  }
}

.m_btn_link:hover {
  -webkit-filter: brightness(1.08);
  filter: brightness(1.08);
}
.m_btn_link:hover img {
  -webkit-transform: translateX(8px);
  transform: translateX(8px);
}

.m_btn_link img {
  width: 9px;
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media print, screen and (max-width: 780px) {
  .m_btn_link img {
    width: 2.3076923077vw;
  }
}

.m_btn_link_txt span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 1.3;
}

.m_btn_link_txt span:first-child {
  font-size: 15px;
  font-weight: 500;
}
@media print, screen and (max-width: 780px) {
  .m_btn_link_txt span:first-child {
    font-size: 3.8461538462vw;
  }
}

.m_btn_link_txt span:last-child {
  font-size: 18px;
}
@media print, screen and (max-width: 780px) {
  .m_btn_link_txt span:last-child {
    font-size: 4.6153846154vw;
  }
}

.top .m_btn_link {
  margin-top: min(100px, 5.2083333333vw);
}
@media print, screen and (max-width: 780px) {
  .top .m_btn_link {
    margin-top: 10.2564102564vw;
  }
}

.nazenani .karakuri_contents .m_btn_link {
  background: #DB2100;
}

.karakuri .nazenani_contents .m_btn_link {
  background: #007BC7;
}

/*--------------------------------------

  video-btn

--------------------------------------*/
.m_video_more-btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 155px;
  height: 44px;
  color: #fff;
  background: #DB2100;
  border-radius: 30px;
  gap: 10px;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .m_video_more-btn {
    zoom: 0.8;
  }
}
@media print, screen and (max-width: 780px) {
  .m_video_more-btn {
    position: static;
    width: 39.7435897436vw;
    height: 11.2820512821vw;
    gap: 2.5641025641vw;
    bottom: 5.1282051282vw;
    right: 5.1282051282vw;
    border-radius: 7.6923076923vw;
    font-size: 4.358974359vw;
  }
}

.m_video_more-btn:hover,
.m_video_more-btn:focus {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-animation: kakudai 1.5s ease-out 0s 3;
  animation: kakudai 1.5s ease-out 0s 3;
  -webkit-filter: brightness(1.08);
  filter: brightness(1.08);
}

@-webkit-keyframes kakudai {
  50% {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes kakudai {
  50% {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@media print, screen and (max-width: 780px) {
  .m_contents_head .m_video_more-btn {
    position: static;
    width: 35.3846153846vw;
    height: 8.7179487179vw;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.5641025641vw;
  }
}

.m_video_more-btn img {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 20px;
  height: 20px;
}
@media print, screen and (max-width: 780px) {
  .m_video_more-btn img {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
  }
}

.m_video_more-btn span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.purpose .m_video_more-btn {
  position: absolute;
}
@media print, screen and (max-width: 780px) {
  .purpose .m_video_more-btn {
    width: 39.7435897436vw;
    height: 11.2820512821vw;
  }
}

@media print, screen and (max-width: 780px) {
  .karakuri .m_video_more-btn {
    position: absolute !important;
    width: 35.3846153846vw;
    height: 8.7179487179vw;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2.5641025641vw;
  }
}

/*--------------------------------------

  m_contents_modal

--------------------------------------*/
.m_modal_bg {
  position: relative;
  width: 100%;
  height: 100dvh;
  background: rgba(0, 0, 0, 0.5);
}

.m_modal_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 50vw;
  min-width: 800px;
  height: 60%;
  background: #fff;
  border-radius: 10px;
  border: 10px solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (max-width: 780px) and (max-width: 780px) {
  .m_modal_inner {
    width: 90%;
    height: 40%;
    min-width: auto;
    border-radius: 1.7948717949vw;
  }
}

.m_modal_body {
  width: 99%;
  height: 99%;
}

.m_modal_close-btn_box {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  z-index: 10;
}

.m_modal_close-btn {
  position: relative;
  width: 100%;
  height: 100%;
  background: #007BC7;
  border: solid 3px #fff;
  border-radius: 50%;
  cursor: pointer;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
.m_modal_close-btn:hover {
  -webkit-filter: brightness(1.1);
  filter: brightness(1.1);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.m_modal_close-btn_box::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  z-index: 10;
  display: none;
}

.m_modal_close-btn span:first-of-type {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
  width: 3px;
  height: 50%;
  background: #fff;
  z-index: 3;
}

.m_modal_close-btn span:last-of-type {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform-origin: center;
  transform-origin: center;
  width: 3px;
  height: 50%;
  background: #fff;
  z-index: 3;
}

.m_modal_inner iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.m_modal_no-scroll {
  height: calc(100vh + 1px);
  width: 1px;
  background-color: transparent;
}

/*--------------------------------------

  about-karakuri | top page & nazenani page

--------------------------------------*/
.about-karakuri_pic-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: min(90px, 4.6875vw);
}
@media print, screen and (max-width: 780px) {
  .about-karakuri_pic-box {
    gap: 2.5641025641vw;
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (max-width: 780px) {
  .top .about-karakuri_pic-box {
    padding-inline: 5.1282051282vw;
  }
}

.about-karakuri_img {
  display: block;
  width: 305px;
  border-radius: 20px;
}
@media only screen and (max-width: 1023px) {
  .about-karakuri_img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.0256410256vw;
    flex: 0 0 41.0256410256vw;
  }
}
@media print, screen and (max-width: 780px) {
  .about-karakuri_img {
    width: calc(50% - 2.5641025641vw);
  }
}

.about-karakuri .btn_link {
  background: #DB2100;
}

/*--------------------------------------

  m_contents

--------------------------------------*/
.m_contents_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 1260px;
  margin: 0 auto;
}
@media only screen and (max-width: 1300px) {
  .m_contents_container {
    max-width: 1160px;
    padding-inline: 40px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 1023px) {
  .m_contents_container {
    gap: 40px;
    grid-template-columns: 1fr;
  }
}
@media print, screen and (max-width: 780px) {
  .m_contents_container {
    padding-inline: 5.1282051282vw;
    gap: 5.1282051282vw;
  }
}

.m_contents_img {
  display: block;
  width: 100%;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}

.m_contents {
  border-radius: 20px 20px 0 0;
  width: 100%;
}

.m_contents_inner {
  position: relative;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
  width: 100%;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media print, screen and (max-width: 780px) {
  .m_contents_inner {
    border-radius: 5.1282051282vw 5.1282051282vw 0 0;
  }
}

.m_contents_txt {
  font-size: 16px;
  padding: 40px;
  line-height: 1.8;
  border-radius: 0 0 20px 20px;
  -moz-text-align-last: left;
  text-align-last: left;
}
@media print, screen and (max-width: 780px) {
  .m_contents_txt {
    padding: 6.4102564103vw;
    padding-bottom: 0;
    font-size: 4.1025641026vw;
    border-radius: 0 0 5.1282051282vw 5.1282051282vw;
  }
}

/*--------------------------------------

    m_supplies

--------------------------------------*/
.m_supplies {
  background: #fff;
  border-radius: 0 0 40px 40px;
}
@media print, screen and (max-width: 780px) {
  .m_supplies {
    border-radius: 0 0 5.1282051282vw 5.1282051282vw;
  }
}

.nazenani .m_supplies {
  padding: 0 40px 40px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .m_supplies {
    padding: 6.4102564103vw;
  }
}

.m_supplies_inner {
  border-radius: 10px;
  border: 1px solid #007BC7;
}
@media print, screen and (max-width: 780px) {
  .m_supplies_inner {
    border-radius: 5.1282051282vw;
    border: 0.2564102564vw solid #007BC7;
  }
}

.m_supplies_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  line-height: 1.4;
  font-weight: 700;
  font-size: 19px;
  padding: 20px 20px;
}
@media print, screen and (max-width: 780px) {
  .m_supplies_head {
    font-size: 4.1025641026vw;
    padding: 3.8461538462vw 6.4102564103vw;
  }
}
.m_supplies_head:hover span {
  opacity: 0.8;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.m_supplies_head:hover .m_supplies_img_scissors {
  -webkit-transform: translateX(20%);
  transform: translateX(20%);
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}

.m_supplies_head span {
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}

@-webkit-keyframes dokudoku {
  50% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes dokudoku {
  50% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.m_supplies_body {
  padding: 0 20px;
}
@media print, screen and (max-width: 780px) {
  .m_supplies_body {
    padding: 0 5.1282051282vw;
  }
}

.m_supplies_body_inner {
  margin-bottom: 20px;
  padding: 35px 35px;
  background: #EDF8FF;
  border-radius: 20px;
}
@media print, screen and (max-width: 780px) {
  .m_supplies_body_inner {
    margin-bottom: 3.8461538462vw;
    padding: 5.1282051282vw 5.1282051282vw;
    border-radius: 5.1282051282vw;
  }
}

.m_supplies_img {
  display: block;
  margin-bottom: 30px;
  border-radius: 10px;
  width: 100%;
}
@media print, screen and (max-width: 780px) {
  .m_supplies_img {
    margin-bottom: 5.1282051282vw;
    border-radius: 2.5641025641vw;
  }
}

.m_supplies_img_scissors {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media print, screen and (max-width: 780px) {
  .m_supplies_img_scissors {
    width: 5.1282051282vw;
    height: 5.1282051282vw;
  }
}

@media print, screen and (max-width: 780px) {
  .m_supplies_img_arrow-down {
    width: 3.8461538462vw;
    height: 2.3076923077vw;
  }
}

@media print, screen and (max-width: 780px) {
  .m_supplies_img_download {
    width: 3.5897435897vw;
    height: 4.358974359vw;
  }
}

.download_btn {
  gap: 10px;
}
@media print, screen and (max-width: 780px) {
  .download_btn {
    gap: 2.5641025641vw;
  }
}

.nazenani .m_supplies {
  position: relative;
}
.karakuri .m_supplies {
  background: none;
  padding: 0;
  margin-bottom: 40px;
}
@media print, screen and (max-width: 780px) {
  .karakuri .m_supplies {
    margin-bottom: 5.1282051282vw;
  }
}
.karakuri .m_supplies_inner {
  border: 1px solid #DB2100;
  background: #fff;
  padding-bottom: 0;
}
.karakuri .m_supplies_body_inner {
  background: #FFF3F0;
}

/*--------------------------------------

  続きを読むボタン

--------------------------------------*/
.m_read-more-btn {
  display: none;
  position: relative;
}
@media print, screen and (max-width: 780px) {
  .m_read-more-btn {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 19.2307692308vw 5.641025641vw 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 3.8461538462vw;
    padding: 6.4102564103vw 5.1282051282vw;
    font-size: 3.8461538462vw;
    white-space: nowrap;
  }
}

.m_read-more-btn img {
  display: block;
  margin-left: 2.5641025641vw;
}

.m_read-more-btn::before,
.m_read-more-btn::after {
  content: "";
  display: block;
  width: 25.8974358974vw;
  height: 0.2564102564vw;
  background: #c4c4c4;
}

.m_read-more-btn::after {
  position: absolute;
  right: 5.1282051282vw;
}

.karakuri .m_read-more-btn {
  padding-inline: 0;
}
.karakuri .m_read-more-btn::before,
.karakuri .m_read-more-btn::after {
  width: 18.2051282051vw;
}
.karakuri .m_read-more-btn::after {
  right: 0;
}

.program_video-contents .m_read-more-btn {
  padding-inline: 0;
}
.program_video-contents .m_read-more-btn::before,
.program_video-contents .m_read-more-btn::after {
  width: 18.2051282051vw;
}
.program_video-contents .m_read-more-btn::after {
  right: 0;
}

/*--------------------------------------

  m_supplies materials

--------------------------------------*/
.materials_ttl {
  margin-bottom: 20px;
  color: #007BC7;
  font-weight: 700;
  font-size: 18px;
}
@media print, screen and (max-width: 780px) {
  .materials_ttl {
    margin-bottom: 5.1282051282vw;
    font-size: 4.1025641026vw;
  }
}

.materials_subttl {
  padding-top: 15px;
  margin-bottom: 12px;
  font-weight: 700;
  font-size: 17px;
  border-top: 1px solid #007BC7;
}
@media print, screen and (max-width: 780px) {
  .materials_subttl {
    padding-top: 3.8461538462vw;
    margin-bottom: 5.1282051282vw;
    font-size: 4.6153846154vw;
    border-top: 0.2564102564vw solid #007BC7;
  }
}

.materials_subttl span {
  color: #007BC7;
}

.materials_list_wrap,
.materials_list:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-bottom: 35px;
  font-size: 16px;
}
@media print, screen and (max-width: 780px) {
  .materials_list_wrap,
  .materials_list:first-of-type {
    gap: 0;
    padding-bottom: 5.1282051282vw;
    font-size: 4.1025641026vw;
  }
}

.materials_list_wrap {
  gap: 30px;
}
@media only screen and (max-width: 1200px) {
  .materials_list_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5px;
  }
}
@media print, screen and (max-width: 780px) {
  .materials_list_wrap {
    gap: 0;
  }
}

.materials_list_wrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5px;
}

.materials_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.materials_list:first-of-type {
  padding-bottom: 20px;
}
@media print, screen and (max-width: 780px) {
  .materials_list:first-of-type {
    gap: 2.5641025641vw;
    padding-bottom: 5.1282051282vw;
  }
}

.materials_list_item {
  line-height: 1.4;
  text-indent: -1em;
  padding-left: 1em;
}
.materials_list_item span {
  color: #16567D;
}

.nazenani .download_btn {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  grid-template-columns: 1fr 14px;
  width: 319px;
  height: 41px;
  margin: 0 auto 10px;
  padding-inline: 20px;
  color: #fff;
  background: #007BC7;
  font-size: 17px;
  border-radius: 30px;
}
@media only screen and (max-width: 1023px) {
  .nazenani .download_btn {
    line-height: 1.2;
    width: auto;
    height: 51px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .download_btn {
    grid-template-columns: 50.2564102564vw 3.5897435897vw;
    width: 66.6666666667vw;
    height: 14.358974359vw;
    margin-bottom: 2.5641025641vw;
    padding-inline: 0;
    font-size: 4.358974359vw;
    border-radius: 7.6923076923vw;
  }
}
@media only screen and (max-width: 1023px) {
  .nazenani .download_btn--principle-desc {
    margin-inline: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .download_btn--principle-desc {
    margin-inline: auto;
  }
}
@media only screen and (min-width: 1024px) {
  .nazenani .m_supplies .download_btn:last-of-type {
    width: 353px;
  }
}
@media only screen and (max-width: 1023px) {
  .nazenani .m_supplies .download_btn .only_sp {
    display: block !important;
  }
}
.nazenani .m_supplies .download_btn img {
  display: block;
}
@media print, screen and (max-width: 780px) {
  .nazenani .m_supplies .download_btn img {
    width: 3.5897435897vw;
  }
}
.nazenani .download_btn + p {
  font-weight: 400;
  color: #333;
  font-size: 14px;
  text-align: center;
  margin-bottom: 20px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .download_btn + p {
    margin-bottom: 3.8461538462vw;
    font-size: 3.5897435897vw;
  }
}
.nazenani .download_btn:first-of-type + P {
  margin-bottom: 35px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .download_btn:first-of-type + P {
    margin-bottom: 0;
  }
}

.karakuri .materials_subttl {
  border-top: 1px solid #DB2100;
}
@media print, screen and (max-width: 780px) {
  .karakuri .materials_subttl {
    border-top: 0.2564102564vw solid #DB2100;
  }
}
.karakuri .materials_subttl span {
  color: #DB2100;
}
.karakuri .materials_list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5px;
}
@media print, screen and (max-width: 780px) {
  .karakuri .materials_list {
    gap: 1.2820512821vw;
  }
}
.karakuri .materials_list_item span {
  color: #981700;
}

/*--------------------------------------

  slide

--------------------------------------*/
.slide_btn {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media print, screen and (max-width: 780px) {
  .slide_btn {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
}
@media print, screen and (min-width: 781px) {
  .slide_btn:hover {
    -webkit-filter: brightness(1.05);
    filter: brightness(1.05);
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
}

.js-slider_wrap {
  position: relative;
  height: 273px;
}
@media print, screen and (max-width: 780px) {
  .js-slider_wrap {
    height: 42.0512820513vw;
  }
}

.splide__arrows {
  display: none;
}

.slide_btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}
@media print, screen and (max-width: 780px) {
  .slide_btn_wrap {
    gap: 1.2820512821vw;
  }
}

.slide_btn .slide_img {
  display: block;
  width: 30px;
  height: 30px;
  -o-object-fit: cover;
  object-fit: cover;
}
@media print, screen and (max-width: 780px) {
  .slide_btn .slide_img {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
}

.top .splide__slide {
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 35px 30px 0;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 35px 30px 0;
  margin-bottom: 90px;
  width: 300px !important;
  height: 211px !important;
}
@media print, screen and (max-width: 780px) {
  .top .splide__slide {
    width: 41.0256410256vw !important;
    height: 28.9743589744vw !important;
    border-radius: 2.5641025641vw;
  }
}

.top .splide__slide img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}

.top .slide_btn_wrap {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-bottom: 0 !important;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.top {
  /*--------------------------------------

    mv

  --------------------------------------*/
}
.top .mv {
  position: relative;
  overflow: hidden;
  height: 45.5208333333vw;
  background: url(../../_/images/top_bg.svg) center center/cover no-repeat;
}
@media print, screen and (max-width: 780px) {
  .top .mv {
    height: 137.4358974359vw;
    background: url(../../_/images/top_bg_sp.svg) center center/cover no-repeat;
  }
}
.top .mv_img {
  position: absolute;
  z-index: 1;
  top: 3.6458333333vw;
  left: 50%;
  width: 87.5vw;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 2.6041666667vw;
}
@media print, screen and (min-width: 781px) {
  .top .mv_img {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@media print, screen and (max-width: 780px) {
  .top .mv_img {
    top: 6.4102564103vw;
    left: auto;
    right: 0vw;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    height: 107.6923076923vw;
    border-radius: 5.1282051282vw 0 0 5.1282051282vw;
  }
}
.top .mv_txt-box {
  position: absolute;
  z-index: 2;
  top: 20.8333333333vw;
  left: 4.3229166667vw;
}
@media print, screen and (max-width: 780px) {
  .top .mv_txt-box {
    top: 85.8974358974vw;
    left: 3.8461538462vw;
  }
}
.top .mv_ttl,
.top .mv p {
  background: #fff;
  border-radius: 10px;
}
@media print, screen and (max-width: 780px) {
  .top .mv_ttl,
  .top .mv p {
    border-radius: 1.2820512821vw;
  }
}
.top .mv_ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 0.8854166667vw;
  padding: 2.0833333333vw;
}
@media print, screen and (max-width: 780px) {
  .top .mv_ttl {
    margin-bottom: 2.5641025641vw;
    padding: 5.1282051282vw;
  }
}
.top .mv p {
  padding: 1.8229166667vw 2.0833333333vw;
  font-size: 1.7708333333vw;
  font-weight: 600;
  line-height: 1.6;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (max-width: 780px) {
  .top .mv p {
    padding: 3.0769230769vw 5.1282051282vw;
    font-size: 5.1282051282vw;
    font-weight: 600;
  }
}
.top .mv_img--logo {
  width: 38.0208333333vw;
}
@media print, screen and (max-width: 780px) {
  .top .mv_img--logo {
    width: 69.7435897436vw;
  }
}
.top {
  /*--------------------------------------

    top module

  --------------------------------------*/
}
.top .m_container {
  overflow: hidden;
  margin-top: 5.2083333333vw;
  padding-block: min(150px, 7.8125vw);
  background: #FFFCE4;
}
@media only screen and (min-width: 1700px) {
  .top .m_container {
    max-width: 1570px;
    border-radius: 30px;
    margin-inline: auto;
  }
}
@media print, screen and (max-width: 780px) {
  .top .m_container {
    margin-top: 7.6923076923vw;
    padding-block: 15.3846153846vw;
  }
}
.top .m_container.about-karakuri {
  background: #FFF2E2;
  margin-bottom: min(100px, 5.2083333333vw);
}
@media print, screen and (max-width: 780px) {
  .top .m_container.about-karakuri {
    margin-bottom: 7.6923076923vw;
  }
}
@media print, screen and (min-width: 781px) {
  .top .m_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: min(100px, 5.2083333333vw);
    padding-inline: min(160px, 8.3333333333vw);
    margin-bottom: min(100px, 5.2083333333vw);
  }
}
@media only screen and (max-width: 1023px) {
  .top .m_box {
    display: block;
    margin-bottom: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .top .m_box {
    margin-bottom: 10.2564102564vw;
  }
}
.top .logo_img {
  display: block;
}
@media print, screen and (min-width: 781px) {
  .top .logo_img {
    width: 450px;
    max-width: none;
  }
}
@media only screen and (max-width: 1200px) {
  .top .logo_img {
    width: 300px;
  }
}
@media only screen and (max-width: 1023px) {
  .top .logo_img {
    margin: 0 auto 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .top .logo_img {
    width: 61.5384615385vw;
    margin: 0 auto 10.2564102564vw;
  }
}
.top .m_unit_ttl {
  margin-bottom: 30px;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.4;
}
@media only screen and (max-width: 1300px) {
  .top .m_unit_ttl {
    font-size: 32px;
  }
}
@media only screen and (max-width: 1023px) {
  .top .m_unit_ttl {
    text-align: center;
  }
}
@media print, screen and (max-width: 780px) {
  .top .m_unit_ttl {
    font-size: 5.641025641vw;
    margin-bottom: 7.6923076923vw;
  }
}
.top .m_unit_sub-ttl {
  margin-bottom: 15px;
  color: #007BC7;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 1023px) {
  .top .m_unit_sub-ttl {
    text-align: center;
  }
}
@media print, screen and (max-width: 780px) {
  .top .m_unit_sub-ttl {
    text-align: center;
    margin-bottom: 5.1282051282vw;
    font-size: 5.1282051282vw;
  }
}
.top .about-karakuri .m_unit_sub-ttl {
  color: #DB2100;
}
.top .m_unit_txt {
  line-height: 1.8;
}
@media print, screen and (max-width: 780px) {
  .top .m_unit_txt {
    font-size: 4.1025641026vw;
    padding-inline: 7.6923076923vw;
  }
}

.nazenani {
  /*--------------------------------------

    fv

  --------------------------------------*/
}
.nazenani .fv {
  background: url(../../_/images/nazenani/fv_bg.svg) center center/cover no-repeat;
}
.nazenani .slide {
  position: absolute;
  width: 88.5416666667vw;
  height: auto;
  top: 0;
  right: 0;
  z-index: 1;
}
@media print, screen and (max-width: 780px) {
  .nazenani .slide {
    position: static;
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
.nazenani .slide_btn_wrap {
  position: absolute;
  top: 1.0416666667vw;
  right: 1.0416666667vw;
  width: 65px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .slide_btn_wrap {
    width: 16.6666666667vw;
    top: 2.5641025641vw;
    right: 2.5641025641vw;
  }
}
.nazenani .slide_btn {
  width: 30px;
  height: 30px;
  z-index: 5;
  background: #fff;
}
@media print, screen and (max-width: 780px) {
  .nazenani .slide_btn {
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
}
.nazenani .slide_pic {
  display: block;
  width: 100% !important;
  height: 100% !important;
}
.nazenani .slide_img {
  display: block;
  width: 100%;
  height: 100%;
}
.nazenani .fv_ttl {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 4.1666666667vw 5.2083333333vw;
  border-radius: 0 4.1666666667vw 0 0;
  background: #fff;
  z-index: 2;
}
@media print, screen and (max-width: 780px) {
  .nazenani .fv_ttl {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    padding: 10.2564102564vw 0;
    position: absolute;
    top: 79.4871794872vw;
    border-radius: 15.3846153846vw 15.3846153846vw 0 0;
  }
}
.nazenani .logo_img {
  width: 24.4791666667vw;
}
@media print, screen and (max-width: 780px) {
  .nazenani .logo_img {
    display: block;
    width: 74.358974359vw;
    margin: 0 auto;
  }
}
.nazenani {
  /*--------------------------------------

    fv news

  --------------------------------------*/
}
.nazenani .news {
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 2.6041666667vw;
  background: #DB2100;
  border-radius: 20px 0 0 0;
  z-index: 3;
  width: 31.25vw;
}
@media print, screen and (max-width: 780px) {
  .nazenani .news {
    margin-top: 45.641025641vw;
    position: static;
    border-radius: 0;
    width: 100%;
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    padding: 7.6923076923vw 5.1282051282vw;
  }
}
.nazenani .news_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 700;
  margin-bottom: 1.5625vw;
}
@media print, screen and (max-width: 780px) {
  .nazenani .news_head {
    margin-bottom: 5.1282051282vw;
  }
}
.nazenani .news_head span:first-child {
  color: #FFFB80;
  font-size: 1.5625vw;
}
@media only screen and (max-width: 1023px) {
  .nazenani .news_head span:first-child {
    font-size: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .news_head span:first-child {
    font-size: 5.641025641vw;
  }
}
.nazenani .news_head span:first-child::after {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  content: "";
  width: 1px;
  height: 1.1979166667vw;
  background: #fff;
  margin-inline: 0.78125vw;
}
@media only screen and (max-width: 1023px) {
  .nazenani .news_head span:first-child::after {
    height: 15px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .news_head span:first-child::after {
    height: 4.358974359vw;
    margin-inline: 3.8461538462vw;
  }
}
.nazenani .news_head span:last-child {
  color: #fff;
  font-size: 1.25vw;
}
@media only screen and (max-width: 1023px) {
  .nazenani .news_head span:last-child {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .news_head span:last-child {
    font-size: 4.6153846154vw;
  }
}
.nazenani .news_deta {
  color: #FFFB80;
  margin-bottom: 1.0416666667vw;
  font-size: 16px;
}
@media only screen and (max-width: 1023px) {
  .nazenani .news_deta {
    margin-bottom: 10px;
    font-size: 14px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .news_deta {
    font-size: 3.8461538462vw;
    margin-bottom: 3.8461538462vw;
  }
}
.nazenani .news_ttl {
  color: #fff;
  font-weight: 600;
  line-height: 1.4;
  font-size: 1.0416666667vw;
}
@media only screen and (max-width: 1200px) {
  .nazenani .news_ttl {
    font-size: 15px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .news_ttl {
    font-size: 4.1025641026vw;
  }
}
.nazenani {
  /*--------------------------------------

    purpose

  --------------------------------------*/
}
.nazenani .purpose {
  position: relative;
  padding-top: min(200px, 10.4166666667vw);
  overflow: hidden;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose {
    padding-top: 20.5128205128vw;
  }
}
.nazenani .purpose::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 9.9479166667vw;
  height: 14.6875vw;
  background: url(../../_/images/nazenani/bg_left-top.svg) center center/cover no-repeat;
  z-index: -1;
  -webkit-animation: opacity1 10s forwards;
  animation: opacity1 10s forwards;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose::before {
    background: url(../../_/images/nazenani/bg_left-top_sp.svg) center center/cover no-repeat;
    width: 15.3846153846vw;
    height: 23.0769230769vw;
  }
}
@-webkit-keyframes opacity1 {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  10% {
    opacity: 1;
  }
  70% {
    -webkit-transform: translate(0);
    transform: translate(0);
  }
}
@keyframes opacity1 {
  0% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  10% {
    opacity: 1;
  }
  70% {
    -webkit-transform: translate(0);
    transform: translate(0);
  }
}
.nazenani .purpose::after {
  content: "";
  display: block;
  position: absolute;
  top: 273px;
  right: 0;
  width: 9.0104166667vw;
  height: 11.7708333333vw;
  background: url(../../_/images/nazenani/bg_right-top.svg) center center/cover no-repeat;
  z-index: -1;
  -webkit-animation: opacity2 10s 2.5s forwards;
  animation: opacity2 10s 2.5s forwards;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose::after {
    background: url(../../_/images/nazenani/bg_right-top_sp.svg) center center/cover no-repeat;
    top: 0;
    width: 14.358974359vw;
    height: 13.8461538462vw;
  }
}
@-webkit-keyframes opacity2 {
  0% {
    opacity: 1;
  }
  30% {
    -webkit-transform: translateX(60%);
    transform: translateX(60%);
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  40% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes opacity2 {
  0% {
    opacity: 1;
  }
  30% {
    -webkit-transform: translateX(60%);
    transform: translateX(60%);
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  40% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.nazenani .purpose > div {
  position: relative;
}
.nazenani .purpose > div::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 189px;
  left: 0;
  width: 6.9791666667vw;
  height: 20.4166666667vw;
  background: url(../../_/images/nazenani/bg_left-bottom.svg) center center/cover no-repeat;
  z-index: -1;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose > div::before {
    bottom: 0;
    background: url(../../_/images/nazenani/bg_left-bottom_sp.svg) center center/cover no-repeat;
    width: 10vw;
    height: 22.8205128205vw;
  }
}
.nazenani .purpose > div::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 9.7395833333vw;
  height: 13.90625vw;
  background: url(../../_/images/nazenani/bg_right-bottom.svg) center center/cover no-repeat;
  z-index: -1;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose > div::after {
    bottom: 0;
    background: url(../../_/images/nazenani/bg_right-bottom_sp.svg) center center/cover no-repeat;
    width: 17.6923076923vw;
    height: 22.8205128205vw;
  }
}
@media print, screen and (min-width: 781px) {
  .nazenani button.purpose_txt,
  .nazenani button.purpose_txt:focus,
  .nazenani button.purpose_txt:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
}
.nazenani .purpose_video-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(40px, 2.0833333333vw);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: min(200px, 10.4166666667vw);
}
@media only screen and (max-width: 1300px) {
  .nazenani .purpose_video-box {
    padding-inline: 40px;
  }
}
@media only screen and (max-width: 1023px) {
  .nazenani .purpose_video-box {
    zoom: 0.7;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose_video-box {
    grid-template-columns: 1fr;
    padding-inline: 5.1282051282vw;
    padding-bottom: 20.5128205128vw;
    gap: 5.1282051282vw;
    zoom: 1;
  }
}
.nazenani .purpose_video-contents {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.nazenani .purpose .js-OpenModalTrigger {
  overflow: hidden;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  border-radius: 20px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose .js-OpenModalTrigger {
    border-radius: 5.1282051282vw;
  }
}
.nazenani .purpose_pic-box {
  position: relative;
  margin-bottom: 2.0833333333vw;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose_pic-box {
    margin-bottom: 5.1282051282vw;
  }
}
.nazenani .purpose_img {
  display: block;
  border-radius: 20px;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose_img {
    border-radius: 5.1282051282vw;
  }
}
.nazenani .purpose p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose p {
    gap: 2.5641025641vw;
  }
}
.nazenani .purpose p span:first-of-type {
  font-size: 30px;
  font-weight: 700;
}
@media print, screen and (max-width: 780px) {
  .nazenani .purpose p span:first-of-type {
    font-size: 5.1282051282vw;
  }
}
.nazenani .purpose_txt-box {
  display: block;
  margin: 0 auto;
}
.nazenani {
  /*--------------------------------------

    module

  --------------------------------------*/
}
.nazenani .m_container-ttl {
  position: relative;
  color: #DB2100;
  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;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.0833333333vw;
  font-family: "LINE Seed JP", sans-serif;
  font-size: 3.6458333333vw;
  font-size: 70px;
  padding-bottom: 2.6041666667vw;
  margin-bottom: 2.6041666667vw;
}
@media only screen and (max-width: 1023px) {
  .nazenani .m_container-ttl {
    margin-bottom: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .m_container-ttl {
    gap: 3.0769230769vw;
    font-size: 8.7179487179vw;
    margin-bottom: 7.6923076923vw;
    padding-bottom: 7.6923076923vw;
  }
}
.nazenani .program .m_container-ttl {
  color: #007BC7;
}
.nazenani .m_container-ttl span:last-of-type {
  color: #333;
  font-size: 1.7708333333vw;
  font-weight: 700;
}
@media only screen and (max-width: 1023px) {
  .nazenani .m_container-ttl span:last-of-type {
    font-size: 20px;
  }
}
.nazenani .m_container-ttl::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #DB2100;
  width: 40px;
  height: 5px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .m_container-ttl::after {
    width: 7.6923076923vw;
    height: 0.7692307692vw;
  }
}
.nazenani .m_read-ttl {
  text-align: center;
  font-size: 2.0833333333vw;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 2.6041666667vw;
}
@media only screen and (max-width: 1023px) {
  .nazenani .m_read-ttl {
    font-size: 20px;
    margin-bottom: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .m_read-ttl {
    margin-bottom: 7.6923076923vw;
    line-height: 1.4;
    font-size: 5.641025641vw;
  }
}
.nazenani .m_txt {
  display: block;
  width: 44.2708333333vw;
  width: 850px;
  line-height: 1.8;
  margin: 0 auto 4.1666666667vw;
}
@media only screen and (max-width: 1023px) {
  .nazenani .m_txt {
    width: auto;
    padding-inline: 5.1282051282vw;
    margin-bottom: 0;
  }
}
.nazenani {
  /*--------------------------------------

    insert

  --------------------------------------*/
}
.nazenani .insert {
  background: url(../../_/images/nazenani/insert.jpg) center center/cover no-repeat;
  height: 16.6666666667vw;
}
@media print, screen and (max-width: 780px) {
  .nazenani .insert {
    background: url(../../_/images/nazenani/insert_sp.jpg) center center/cover no-repeat;
    height: 100vw;
  }
}
.nazenani {
  /*--------------------------------------

    program

  --------------------------------------*/
}
.nazenani .program {
  padding-top: min(150px, 7.8125vw);
  background: #FFFCE4;
}
@media print, screen and (max-width: 780px) {
  .nazenani .program {
    padding-block: 15.3846153846vw;
  }
}
.nazenani .program .m_container-ttl::after {
  background: #007BC7;
}
.nazenani .program .m_txt {
  text-align: center;
  margin-bottom: min(100px, 5.2083333333vw);
}
.nazenani {
  /*--------------------------------------

    program video contents

  --------------------------------------*/
}
.nazenani .program_img {
  display: block;
  position: relative;
  width: 100%;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  z-index: 0;
}
.nazenani .program_video-contents {
  overflow: hidden;
  background: #fff;
  border-radius: 20px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents {
    border-radius: 5.1282051282vw;
  }
}
.nazenani .program_video-contents_inner {
  position: relative;
  width: 100%;
  z-index: 1;
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents_inner {
    border-radius: 5.1282051282vw 5.1282051282vw 0 0;
  }
}
.nazenani .program_video-contents_inner::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 620px;
  height: 190px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(40%, rgba(0, 0, 0, 0.5)), color-stop(70%, rgba(0, 0, 0, 0.7)));
  background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.7) 70%);
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
  z-index: 1;
}
@media only screen and (max-width: 1023px) {
  .nazenani .program_video-contents_inner::before {
    width: 100%;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents_inner::before {
    height: 47.9487179487vw;
  }
}
.nazenani .program_video-contents_number {
  position: absolute;
  top: 0;
  left: 0;
  padding: 20px;
  color: #fff;
  background: #007BC7;
  font-family: "LINE Seed JP", sans-serif;
  font-size: 14px;
  border-radius: 20px 0 20px 0;
  z-index: 1;
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents_number {
    padding: 3.8461538462vw;
    font-size: 3.0769230769vw;
  }
}
.nazenani .program_video-contents_head {
  position: absolute;
  bottom: 40px;
  left: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 10px;
  color: #fff;
  font-weight: 700;
  -moz-text-align-last: left;
  text-align-last: left;
  z-index: 1;
}
@media only screen and (min-width: 1024px) and (max-width: 1300px) {
  .nazenani .program_video-contents_head {
    zoom: 0.8;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents_head {
    gap: 2.5641025641vw;
    left: 5.1282051282vw;
    bottom: 6.4102564103vw;
  }
}
.nazenani .program_video-contents_head span {
  display: block;
}
.nazenani .program_video-contents_head span:first-of-type {
  font-size: 16px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents_head span:first-of-type {
    font-size: 3.5897435897vw;
  }
}
.nazenani .program_video-contents_head span:nth-of-type(2) {
  font-size: 35px;
  line-height: 1.3;
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents_head span:nth-of-type(2) {
    font-size: 7.1794871795vw;
  }
}
.nazenani .program .m_video_more-btn {
  display: none;
}
@media print, screen and (max-width: 780px) {
  .nazenani .program .m_video_more-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 4.1025641026vw;
  }
}
.nazenani .program .m_video_more-btn.only_pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  bottom: 40px;
  right: 30px;
  z-index: 1;
}
.nazenani .program_video-contents_txt {
  position: relative;
  top: -5px;
  background: #fff;
  font-size: 16px;
  padding: 40px;
  line-height: 1.8;
  border-radius: 0 0 20px 20px;
  -moz-text-align-last: left;
  text-align-last: left;
  pointer-events: none;
  cursor: auto;
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents_txt {
    top: -1.2820512821vw;
    pointer-events: all;
    padding: 6.4102564103vw;
    padding-bottom: 0;
    font-size: 4.1025641026vw;
    border-radius: 0 0 5.1282051282vw 5.1282051282vw;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .program_video-contents:nth-child(2) > .program_video-contents_txt {
    border-radius: 0;
  }
}
.nazenani {
  /*--------------------------------------

    program m_supplies materials

  --------------------------------------*/
}
.nazenani .materials_ttl {
  margin-bottom: 20px;
  color: #007BC7;
  font-weight: 700;
  font-size: 18px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .materials_ttl {
    margin-bottom: 5.1282051282vw;
    font-size: 4.1025641026vw;
  }
}
.nazenani .materials_subttl {
  padding-top: 15px;
  margin-bottom: 12px;
  font-weight: 700;
  font-size: 17px;
  border-top: 1px solid #007BC7;
}
@media print, screen and (max-width: 780px) {
  .nazenani .materials_subttl {
    padding-top: 3.8461538462vw;
    margin-bottom: 5.1282051282vw;
    font-size: 4.6153846154vw;
    border-top: 0.2564102564vw solid #007BC7;
  }
}
.nazenani .materials_subttl span {
  color: #007BC7;
}
.nazenani .materials_list_wrap,
.nazenani .materials_list:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-bottom: 35px;
  font-size: 16px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .materials_list_wrap,
  .nazenani .materials_list:first-of-type {
    gap: 0;
    padding-bottom: 5.1282051282vw;
    font-size: 4.1025641026vw;
  }
}
.nazenani .materials_list_wrap {
  gap: 30px;
}
@media only screen and (max-width: 1200px) {
  .nazenani .materials_list_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .materials_list_wrap {
    gap: 0;
  }
}
.nazenani .materials_list_wrap ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 5px;
}
.nazenani .materials_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.nazenani .materials_list:first-of-type {
  padding-bottom: 20px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .materials_list:first-of-type {
    gap: 2.5641025641vw;
    padding-bottom: 5.1282051282vw;
  }
}
.nazenani .materials_list_item {
  line-height: 1.4;
  text-indent: -1em;
  padding-left: 1em;
}
.nazenani .materials_list_item span {
  color: #16567D;
}
.nazenani {
  /*--------------------------------------

    contact

  --------------------------------------*/
}
.nazenani .contact {
  background: #FFFCE4;
  padding-block: min(100px, 5.2083333333vw) min(150px, 7.8125vw);
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
}
@media print, screen and (max-width: 780px) {
  .nazenani .contact {
    font-size: 4.1025641026vw;
    padding: 7.6923076923vw 5.1282051282vw 15.3846153846vw;
  }
}
.nazenani .contact_txt {
  margin-bottom: 1.5625vw;
}
@media print, screen and (max-width: 780px) {
  .nazenani .contact_txt {
    margin-bottom: 7.6923076923vw;
  }
}
.nazenani .contact .btn {
  width: 174px;
  height: 44px;
  margin: 0 auto;
  border-radius: 40px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .contact .btn {
    width: 44.6153846154vw;
    height: 11.2820512821vw;
    border-radius: 10.2564102564vw;
  }
}
.nazenani .contact .l-footer_link {
  background: #5F758C;
  border-radius: 40px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media print, screen and (max-width: 780px) {
  .nazenani .contact .l-footer_link {
    border-radius: 10.2564102564vw;
  }
}
.nazenani .contact .l-footer_link:hover {
  opacity: 0.9;
}
.nazenani {
  /*--------------------------------------

    karakuri

  --------------------------------------*/
}
.nazenani .karakuri_contents {
  border-top: #DB2100 5px solid;
  padding: min(100px, 5.2083333333vw) 0;
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents {
    border-top: #DB2100 1.2820512821vw solid;
    padding: 15.3846153846vw 5.1282051282vw;
  }
}
.nazenani .karakuri_contents .karakuri_inner {
  max-width: 1080px;
  margin: 0 auto 50px;
}
@media only screen and (max-width: 1200px) {
  .nazenani .karakuri_contents .karakuri_inner {
    width: 80%;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .karakuri_inner {
    width: auto;
    margin: 0 auto;
  }
}
.nazenani .karakuri_contents .karakuri_flex-box {
  display: grid;
  grid-template-columns: 1fr 450px;
  gap: min(80px, 4.1666666667vw);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 1200px) {
  .nazenani .karakuri_contents .karakuri_flex-box {
    grid-template-columns: 1fr 31.25vw;
  }
}
@media only screen and (max-width: 1023px) {
  .nazenani .karakuri_contents .karakuri_flex-box {
    grid-template-columns: 1fr;
    margin-bottom: 5.2083333333vw;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .karakuri_flex-box {
    gap: 7.6923076923vw;
    margin-bottom: 7.6923076923vw;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1200px) {
  .nazenani .karakuri_contents .karakuri_flex-box_inner {
    zoom: 0.8;
  }
}
.nazenani .karakuri_contents .karakuri_flex-box img {
  display: block;
  margin: 0 auto;
}
.nazenani .karakuri_contents .karakuri_ttl {
  font-size: 32px;
  margin-bottom: 20px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.nazenani .karakuri_contents .karakuri_ttl > * {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .karakuri_ttl {
    margin-bottom: 7.6923076923vw;
    font-size: 5.641025641vw;
    line-height: 1.4;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .karakuri_ttl_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.nazenani .karakuri_contents .karakuri_ttl_flex span:nth-of-type(2) {
  text-align: center;
}
.nazenani .karakuri_contents .karakuri_ttl img {
  display: inline-block;
  height: 46px;
  padding-inline: min(25px, 1.3020833333vw);
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .karakuri_ttl img {
    height: 12.0512820513vw;
    padding-inline: 6.4102564103vw;
  }
}
.nazenani .karakuri_contents .karakuri_flex-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.6;
  gap: min(20px, 1.0416666667vw);
}
@media only screen and (max-width: 1023px) {
  .nazenani .karakuri_contents .karakuri_flex-unit {
    display: block;
    text-align: center;
  }
}
.nazenani .karakuri_contents .karakuri_flex-unit p:first-child {
  color: #FF5A36;
  font-size: 21px;
  font-weight: 700;
  margin-bottom: 10px;
}
@media only screen and (max-width: 1023px) {
  .nazenani .karakuri_contents .karakuri_flex-unit p:first-child {
    margin-bottom: 1.3020833333vw;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .karakuri_flex-unit p:first-child {
    font-size: 5.1282051282vw;
    margin-bottom: 5.1282051282vw;
    text-align: center;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .karakuri_flex-unit p:last-child {
    font-size: 4.6153846154vw;
  }
}
.nazenani .karakuri_contents .karakuri_flex-unit img {
  display: block;
  width: 100px;
  -o-object-fit: contain;
  object-fit: contain;
}
@media only screen and (max-width: 1023px) {
  .nazenani .karakuri_contents .karakuri_flex-unit img {
    width: 150px;
    margin-bottom: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .karakuri_flex-unit img {
    width: 25.641025641vw;
    margin: 0 auto 5.1282051282vw;
  }
}
.nazenani .karakuri_contents .about-karakuri_pic-box {
  width: 100%;
  margin-bottom: min(50px, 2.6041666667vw);
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .about-karakuri_pic-box {
    margin-bottom: 7.6923076923vw;
    zoom: normal;
  }
}
.nazenani .karakuri_contents .about-karakuri_img {
  width: 262px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .about-karakuri_img {
    width: 43.5897435897vw;
  }
}
.nazenani .karakuri_contents .btn {
  width: 320px;
  height: 86px;
  border-radius: 60px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .btn {
    width: 89.7435897436vw;
    height: 19.4871794872vw;
    border-radius: 15.3846153846vw;
  }
}
.nazenani .karakuri_contents .btn_link {
  background: #DB2100;
  border-radius: 60px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .btn_link {
    border-radius: 15.3846153846vw;
  }
}
.nazenani .karakuri_contents .btn_link_txt span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 1.3;
}
.nazenani .karakuri_contents .btn_link_txt span:first-child {
  font-size: 15px;
  font-weight: 500;
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .btn_link_txt span:first-child {
    font-size: 3.8461538462vw;
  }
}
.nazenani .karakuri_contents .btn_link_txt span:last-child {
  font-size: 18px;
}
@media print, screen and (max-width: 780px) {
  .nazenani .karakuri_contents .btn_link_txt span:last-child {
    font-size: 4.6153846154vw;
  }
}

.karakuri .fv {
  background: url(../../_/images/karakuri/fv_bg.svg) center center/cover no-repeat;
}
@media print, screen and (max-width: 780px) {
  .karakuri .fv {
    background: none;
  }
}
.karakuri .fv_ttl {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 4.1666666667vw 5.2083333333vw;
  border-radius: 0 4.1666666667vw 0 0;
  background: #fff;
  z-index: 2;
}
@media print, screen and (max-width: 780px) {
  .karakuri .fv_ttl {
    position: static;
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    padding: 5.1282051282vw 0;
    top: 79.4871794872vw;
    border-radius: 15.3846153846vw 15.3846153846vw 0 0;
  }
}
.karakuri .fv_img {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 88.5416666667vw;
}
@media print, screen and (max-width: 780px) {
  .karakuri .fv_img {
    position: static;
    width: 100%;
  }
}
.karakuri .logo_img {
  width: 31.25vw;
}
@media print, screen and (max-width: 780px) {
  .karakuri .logo_img {
    display: block;
    width: 89.7435897436vw;
    margin: 0 auto;
  }
}

/*--------------------------------------

  karakuri-part

--------------------------------------*/
.karakuri-part {
  position: relative;
  margin-bottom: 7.8125vw;
}
@media print, screen and (max-width: 780px) {
  .karakuri-part {
    margin-bottom: 10.2564102564vw;
  }
}

.karakuri-part::before {
  content: "";
  position: absolute;
  top: 5.6770833333vw;
  left: 0;
  width: min(247px, 12.8645833333vw);
  height: min(266px, 13.8541666667vw);
  background: url(../../_/images/karakuri/bg_scissors.svg) center center/cover no-repeat;
}
@media print, screen and (max-width: 780px) {
  .karakuri-part::before {
    top: 0;
    width: 24.358974359vw;
    height: 23.8461538462vw;
    background: url(../../_/images/karakuri/bg_scissors_sp.svg) center center/cover no-repeat;
  }
}

.karakuri-part::after {
  content: "";
  position: absolute;
  top: 5.2083333333vw;
  right: 0;
  width: min(235px, 12.2395833333vw);
  height: min(285px, 14.84375vw);
  background: url(../../_/images/karakuri/bg_compass.svg) center center/cover no-repeat;
  z-index: 0;
}
@media print, screen and (max-width: 780px) {
  .karakuri-part::after {
    top: 0;
    width: 24.358974359vw;
    height: 23.5897435897vw;
    background: url(../../_/images/karakuri/bg_compass_sp.svg) center center/cover no-repeat;
  }
}

.karakuri-part_inner {
  max-width: 1280px;
  padding-block: min(60px, 3.125vw);
  margin: 0 auto;
}
@media only screen and (max-width: 1300px) {
  .karakuri-part_inner {
    padding-inline: 40px;
  }
}
@media only screen and (max-width: 1023px) {
  .karakuri-part_inner {
    background: #FFFCE4;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-part_inner {
    padding-bottom: 10.2564102564vw;
    margin-bottom: 10.2564102564vw;
    padding-inline: 5.1282051282vw;
  }
}

.karakuri-part_inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 631px;
  background: #FFFCE4;
  z-index: -1;
}
@media print, screen and (max-width: 780px) {
  .karakuri-part_inner::before {
    display: none;
  }
}

.karakuri-part_flex-box {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 290px;
  gap: min(40px, 2.0833333333vw);
  z-index: 2;
}
@media only screen and (max-width: 1023px) {
  .karakuri-part_flex-box {
    grid-template-columns: 1fr;
  }
}
.karakuri-part_txt-unit {
  padding: 45px 60px;
  background: #fff;
  border: 3px solid #FF6E8F;
  border-radius: 30px;
}
@media only screen and (max-width: 1023px) {
  .karakuri-part_txt-unit {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-part_txt-unit {
    padding: 10.2564102564vw 7.6923076923vw;
    border: 0.7692307692vw solid #FF6E8F;
    border-radius: 7.6923076923vw;
  }
}

.karakuri-part_ttl {
  margin-bottom: 20px;
  color: #FF6E8F;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.4;
}
@media print, screen and (max-width: 780px) {
  .karakuri-part_ttl {
    text-align: center;
    margin-bottom: 7.6923076923vw;
    font-size: 5.641025641vw;
  }
}

.karakuri-part_txt {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.8;
}
@media only screen and (max-width: 1023px) {
  .karakuri-part_txt {
    font-size: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-part_txt {
    font-size: 4.6153846154vw;
  }
}

.karakuri-part_txt:first-of-type {
  margin-bottom: 15px;
}
@media print, screen and (max-width: 780px) {
  .karakuri-part_txt:first-of-type {
    margin-bottom: 7.6923076923vw;
  }
}

.karakuri-part_pic {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (max-width: 1023px) {
  .karakuri-part_pic {
    zoom: 0.7;
  }
}

.karakuri-part_img {
  display: block;
  margin: 0 auto;
}
@media print, screen and (max-width: 780px) {
  .karakuri-part_img {
    margin-bottom: 5.1282051282vw;
  }
}

/*--------------------------------------

  contents

--------------------------------------*/
.karakuri-contents_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 1260px;
  margin: 0 auto;
}
@media only screen and (max-width: 1300px) {
  .karakuri-contents_container {
    max-width: 1160px;
    padding-top: 40px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 1023px) {
  .karakuri-contents_container {
    grid-template-columns: 1fr;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents_container {
    padding-inline: 5.1282051282vw;
    gap: 5.1282051282vw;
  }
}

.karakuri-contents {
  background: #FFF2E2;
  border-radius: 20px;
}
@media only screen and (min-width: 1200px) {
  .karakuri-contents {
    max-width: 620px;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents {
    border-radius: 5.1282051282vw;
  }
}

.karakuri-contents_inner {
  position: relative;
}

.karakuri-contents_txt {
  padding: 60px 50px;
  position: relative;
  top: -5px;
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents_txt {
    padding: 7.6923076923vw 5.1282051282vw;
    top: -1.2820512821vw;
  }
}

.karakuri-contents_head {
  margin-bottom: 40px;
  text-align: center;
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents_head {
    margin-bottom: 5.1282051282vw;
  }
}

.karakuri-contents_head span {
  display: block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
}

.karakuri-contents_head span:nth-of-type(1) {
  margin-bottom: 20px;
  font-size: 40px;
}
@media only screen and (min-width: 1024px) and (max-width: 1200px) {
  .karakuri-contents_head span:nth-of-type(1) {
    font-size: 32px;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents_head span:nth-of-type(1) {
    margin-bottom: 3.8461538462vw;
    font-size: 6.1538461538vw;
  }
}

.karakuri-contents_head span:nth-of-type(2) {
  font-size: 20px;
}
@media only screen and (min-width: 1024px) and (max-width: 1200px) {
  .karakuri-contents_head span:nth-of-type(2) {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents_head span:nth-of-type(2) {
    font-size: 4.1025641026vw;
  }
}

.karakuri-contents_unit {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 30px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 40px;
}
@media only screen and (max-width: 1200px) {
  .karakuri-contents_unit {
    grid-template-columns: 1fr;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents_unit {
    gap: 7.6923076923vw;
    margin-bottom: 5.1282051282vw;
  }
}

.karakuri-contents_unit .karakuri_img {
  margin: 0 auto;
  border-radius: 10px;
}
@media only screen and (max-width: 1200px) {
  .karakuri-contents_unit .karakuri_img {
    width: 70%;
    max-width: 380px;
  }
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents_unit .karakuri_img {
    width: 48.7179487179vw;
    border-radius: 2.5641025641vw;
    max-width: none;
  }
}

.karakuri-contents_unit p {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 500;
}
@media print, screen and (max-width: 780px) {
  .karakuri-contents_unit p {
    font-size: 4.1025641026vw;
  }
}

.download_btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (min-width: 781px) and (max-width: 1300px) {
  .download_btn_wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    row-gap: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .download_btn_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5.1282051282vw;
  }
}

.download_btn {
  width: 167px;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media print, screen and (max-width: 780px) {
  .download_btn {
    width: auto;
  }
}
.download_btn:hover {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-filter: brightness(1.08);
  filter: brightness(1.08);
}

@media only screen and (min-width: 1301px) {
  .download_btn:nth-of-type(4) {
    display: none;
  }
}
@media only screen and (max-width: 1023px) {
  .download_btn:nth-of-type(4) {
    display: none;
  }
}

.download_btn_wrap .download_btn p {
  font-size: 14px;
  font-weight: 400;
  text-align: center;
}
@media print, screen and (max-width: 780px) {
  .download_btn_wrap .download_btn p {
    font-size: 3.5897435897vw;
  }
}

.download_btn_wrap .download_btn_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
  width: 167px;
  height: 44px;
  margin-bottom: 10px;
  color: #fff;
  background: #DB2100;
  font-size: 17px;
  font-weight: 700;
  border-radius: 30px;
  -webkit-transition: 0.6s ease;
  transition: 0.6s ease;
}
@media print, screen and (max-width: 780px) {
  .download_btn_wrap .download_btn_link {
    gap: 2.5641025641vw;
    width: 100%;
    height: 11.2820512821vw;
    margin-bottom: 2.5641025641vw;
    font-size: 4.358974359vw;
    border-radius: 7.6923076923vw;
  }
}

@media only screen and (min-width: 1301px) {
  .karakuri-contents:nth-of-type(2) .download_btn_wrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.download_btn_wrap .download_btn_link:hover,
.download_btn_wrap .download_btn_link:focus {
  -webkit-filter: brightness(1.05);
  filter: brightness(1.05);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}

.download_btn_wrap .download_btn_link span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
}

.download_btn_wrap .download_btn_link img {
  display: block;
}
@media print, screen and (max-width: 780px) {
  .download_btn_wrap .download_btn_link img {
    width: 4.358974359vw;
    height: 5.1282051282vw;
  }
}

/*--------------------------------------

  nazenani

--------------------------------------*/
.nazenani_contents {
  border-top: #007BC7 5px solid;
  padding: 5.2083333333vw 0;
}
@media print, screen and (max-width: 780px) {
  .nazenani_contents {
    border-top: #007BC7 1.2820512821vw solid;
    padding: 15.3846153846vw 5.1282051282vw;
  }
}
.nazenani_contents .nazenani_inner {
  max-width: 1080px;
  margin: 0 auto 50px;
}
@media only screen and (max-width: 1200px) {
  .nazenani_contents .nazenani_inner {
    width: 80%;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani_contents .nazenani_inner {
    width: auto;
    margin: 0 auto;
  }
}
.nazenani_contents .nazenani_flex-box {
  display: grid;
  grid-template-columns: 1fr 450px;
  gap: min(60px, 3.125vw);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 1200px) {
  .nazenani_contents .nazenani_flex-box {
    grid-template-columns: 1fr 23.4375vw;
  }
}
@media only screen and (max-width: 1023px) {
  .nazenani_contents .nazenani_flex-box {
    grid-template-columns: 1fr;
    margin-bottom: 5.2083333333vw;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani_contents .nazenani_flex-box {
    gap: 7.6923076923vw;
    margin-bottom: 7.6923076923vw;
  }
}
@media only screen and (min-width: 1024px) and (max-width: 1200px) {
  .nazenani_contents .nazenani_flex-box_inner {
    zoom: 0.8;
  }
}
.nazenani_contents .nazenani_flex-box img {
  display: block;
  margin: 0 auto;
}
.nazenani_contents .nazenani_ttl {
  font-size: 32px;
  margin-bottom: 20px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.nazenani_contents .nazenani_ttl > * {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media print, screen and (max-width: 780px) {
  .nazenani_contents .nazenani_ttl {
    margin-bottom: 7.6923076923vw;
    font-size: 5.641025641vw;
    line-height: 1.4;
  }
}
@media print, screen and (max-width: 780px) {
  .nazenani_contents .nazenani_ttl_flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.nazenani_contents .nazenani_ttl_flex span:nth-of-type(2) {
  text-align: center;
}
.nazenani_contents .nazenani_ttl img {
  display: inline-block;
  height: 46px;
  padding-inline: 1.3020833333vw;
}
@media print, screen and (max-width: 780px) {
  .nazenani_contents .nazenani_ttl img {
    height: 12.0512820513vw;
    padding-inline: 6.4102564103vw;
  }
}
.nazenani_contents .nazenani_read-ttl {
  margin-bottom: 25px;
  color: #0095F0;
  font-size: 21px;
  font-weight: 700;
  text-align: center;
}
@media print, screen and (max-width: 780px) {
  .nazenani_contents .nazenani_read-ttl {
    margin-bottom: 6.4102564103vw;
    line-height: 1.6;
    font-size: 5.1282051282vw;
  }
}
.nazenani_contents .nazenani_flex-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.6;
}
@media only screen and (max-width: 1023px) {
  .nazenani_contents .nazenani_flex-unit {
    display: block;
    text-align: center;
  }
}
.nazenani_contents .nazenani_pic_flex-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: min(50px, 2.6041666667vw);
}
@media only screen and (max-width: 1300px) {
  .nazenani_contents .nazenani_pic_flex-wrap {
    padding-inline: 40px;
  }
}
@media only screen and (max-width: 1023px) {
  .nazenani_contents .nazenani_pic_flex-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.5641025641vw;
    padding-inline: 5.1282051282vw;
    margin-bottom: 7.6923076923vw;
  }
}
.nazenani_contents .nazenani_img {
  width: 100%;
}

@media print, screen and (max-width: 780px) {
  .only_pc {
    display: none !important;
  }
}

@media print, screen and (min-width: 781px) {
  .only_sp {
    display: none !important;
  }
}

.only_minwidth_1300 {
  display: none;
}
@media only screen and (min-width: 1300px) {
  .only_minwidth_1300 {
    display: block;
  }
}

.bg_green {
  background: #008516 !important;
}

.bg_blue {
  background: #007BC7 !important;
}

.bg_purple {
  background: #BF2796 !important;
}

.bg_red {
  background: #DB2100 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.border-radius0 {
  border-radius: 0 !important;
}/*# sourceMappingURL=maps/main.css.map */
