@charset "utf-8";

/* ------------------
 Swiper
------------------ */
/**
 * Swiper 9.1.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 28, 2023
 */

 .swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide,swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
/* CSS Document */
main{
  overflow: hidden;
}
.header{
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 50px;
  padding: 5px 20px;
}
.hd_catch{
  font-size: 2rem;
  color: #fff;
  margin: 0;
  max-width: 370px;
  width: 100%;
  height: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #a11f24;
  border-radius: 50px;
}
a.fixed{
  display: flex;
  writing-mode: vertical-rl;
  justify-content: center;
  align-items: center;
  gap:10px;
  padding: 20px 10px;
  background: #92AE35;
  color: #fff;
  font-size: 2rem;
  border-radius: 20px 0 0 20px;
  position: fixed;
  top: 10px;
  right: 0;
  z-index: 9;
  &::before{
    content: '';
    display: block;
    background: url(../img/icon_01_1.svg);
    background-size: contain;
    width: 24px;
    height: 16px;
  }
}
.mv_inner{
  max-width: 1260px;
  width: 95%;
  margin: auto;
  position: relative;
}
.mv_catch{
  position: absolute;
  top: 55px;
  left: 120px;
}
.mv_cap{
  position: absolute;
  top: 30px;
  left: 815px;
}
.mv_after{
  position: relative;
  margin-top: -215px;
  &::after{
    content: '';
    display: block;
    background: #f1d9da;
    width: calc(50% + 425px);
    height: 250px;
    position: absolute;
    left: 0;
    bottom: 0;
    border-radius: 0 20px 20px 0;
  }
}
.mv_flex{
  max-width: 1260px;
  width: 95%;
  margin: auto;
  position: relative;
  display: flex;
  z-index: 1;
}
.mv_card{
  max-width: 341px;
  width: calc(100% / 3);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  &::before{
    content: '';
    display: block;
    background: #fff;
    width: 1px;
    height: 250px;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  &:first-child::before{
    display: none;
  }
}
.mv_text{
  font-size: var(--font-32);
  --mark:#A11F2425;
}
.intro {
  margin-top: 50px;
  padding: 80px 0;
  background: url(../img/bg_01.png) no-repeat center;
  background-size: cover;
  position: relative;
  --mark:#C8CFE1;
}
.intro_inner {
  max-width: 1024px;
  width: 90%;
  margin: auto;
  padding: 50px 0;
  display: flex;
  align-items: center;
}
.intro_img{
  position: absolute;
  right: 0;
  width: calc(50% + 113px);
  border-radius: 20px 0 0 20px;
  overflow: hidden;
  display: flex;
  align-items: center;
  max-height: 466px;
  & img{
    width: 100%;
  }
}
.intro_box {
  max-width: 578px;
  width: 100%;
  background: #fff;
  border-radius: 20px;
  padding: 35px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.intro_tag {
  position: absolute;
  width: 88px;
  height: 88px;
  background: #A11F24;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  position: absolute;
  top: -20px;
  left: -20px;
  font-size: var(--font-24);
  color: #fff;
}
.intro_top{
  font-size: var(--font-24);
  margin-bottom: 10px;
  & .large{
    font-size: var(--font-32);
  }
}
.intro_mid{
  font-size: var(--font-46);
  margin: 10px 0;
}
a.intro_btn {
  max-width: 350px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: #92AE35;
  color: #fff;
  font-size: var(--font-24);
  min-height: 60px;
  border-radius: 50px;
  margin-bottom: 10px;
  &::before{
    content: '';
    display: block;
    background: url(../img/icon_01_1.svg) no-repeat center;
    background-size: contain;
    min-width: 29px;
    height: 19px;
  }
}
a.intro_outer {
  position: absolute;
  bottom: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 328px;
  width: 100%;
  height: 48px;
  background: #92ae35;
  color: #fff;
  font-size: 1.8rem;
  border-radius: 10px;
  &::after{
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
  }
}
.issue {
  --mark:#E3EACC;
  padding: 60px 0;
}
.iss_inner {
  max-width: 1024px;
  width: 90%;
  margin: auto;
}
.iss_head {
  text-align: center;
  width: 100%;
  font-size: var(--font-32);
  background: url(../img/eff_02.png) no-repeat center;
  background-size: 100% 100%;
  line-height: 1.75;
  & .large{
    font-size: var(--font-48);
  }
}
.iss_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 680px;
  margin: 50px auto 0;
}
.iss_item {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 328px;
  width: 100%;
  min-height: 115px;
  padding-bottom: 15px;
  font-size: var(--font-24);
  background: url(../img/unit_02_1.png) no-repeat center;
  background-size: contain;
}
@media screen and ( min-width: 767px ) {
  .iss_item:nth-child(3),
    .iss_item:nth-child(5) {
    background: url(../img/unit_02_2.png) no-repeat center;
    background-size: contain;
    padding-bottom: 0;
    transform: translateX(-50%);
  }
  .iss_item:nth-child(4),
    .iss_item:nth-child(6) {
    background: url(../img/unit_02_3.png) no-repeat center;
    background-size: contain;
    padding-bottom: 0;
    transform: translateX(50%);
  }
}
.iss_img {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: -215px;
}
.fea_top {
  --mark:#E3EACC;
  position: relative;
  &::after{
    content: '';
    display: block;
    background: #f1d9da;
    width: calc(50% + 514px);
    height: 250px;
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 20px 0 0 20px;
  }
}
.fea_flex {
  max-width: 1024px;
  width: 90%;
  margin: auto;
  display: flex;
  position: relative;
  z-index: 1;
  padding-top: 30px;
  justify-content: space-between;
}
.fea_left {
  max-width: 465px;
  padding-left: 30px;
  line-height: 2;
}
.fea_head {
  max-width: 1024px;
  width: 90%;
  margin: auto;
  position: relative;
  top: -100px;
  font-size: var(--font-32);
  & .large{
    font-size: var(--font-48);
  }
}


.det_top {
  display: flex;
  justify-content: center;
  gap: 15px;
  position: relative;
}
.det_circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 195px;
  text-align: center;
  height: 195px;
  border-radius: 50%;
  border: 1px solid #A11F24;
  background: #fff;
  padding: 20px 0;
  font-weight: bold;
  overflow: hidden;
}
.det_name {
  min-height: 90px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: var(--font-20);
  --mark:#E3EACC;
}
.det_flex {
  max-width: 1280px;
  display: flex;
  margin: auto;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
}
.det_row:nth-child(even) .det_flex {
  flex-direction: row-reverse;
}
.det_box {
  max-width: 502px;
}
.det_head {
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: var(--font-28);
  font-weight: bold;
}
.det_num {
  font-size: var(--font-64);
  color: #af1f24;
  line-height: 1;
  min-width: 80px;
}
.det_com {
  margin-top: 15px;
}
#det01 {
  padding: 150px 0 60px;
  background: url(../img/bg_03_1.png) no-repeat center;
  background-size: cover;
  margin-top: -90px;
}
#det02 {
  margin-top: -30px;
}
#det03 {
  padding: 60px 0 60px;
  background: url(../img/bg_03_1.png) no-repeat center;
  background-size: cover;
  margin-top: -30px;
}
#det04 {
  margin-top: -30px;
}
#det05 {
  padding: 60px 0 60px;
  background: url(../img/bg_03_1.png) no-repeat center;
  background-size: cover;
  margin-top: -30px;
}
.det_img {
  border-radius: 20px;
  overflow: hidden;
}

.bridge{
  position: relative;
  &::before{
    content: '';
    display: block;
    width: 100%;
    height: 791px;
    background: url(../img/bg_04.png) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 100px;
  }
}

.voice {
  padding-top: 50px;
}
.voi_head {
  max-width: 1024px;
  width: 90%;
  margin: auto;
  font-size: var(--font-46);
  & .small {
    font-size: var(--font-32);
  }
  & .color{
    color: #234189;
  }
}
.voi_row{
  position: relative;
  margin-top: 20px;
  &::before{
    content: '';
    display: block;
    width: calc(50% + 338px);
    height: 90%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #C8CFE1;
    border-radius: 0 20px 20px 0;
  }
  &:nth-child(odd):before{
    left: auto;
    right: 0;
    border-radius: 20px 0 0 20px;
  }
}
.voi_flex {
  max-width: 550px;
  width: 90%;
  margin: auto;
  display: flex;
  gap: 50px;
  align-items: center;
  position: relative;
}
.voi_row:nth-child(odd) .voi_flex {
  flex-direction: row-reverse;
}
.voi_name {
  font-size: var(--font-24);
  & .large{
    font-size: var(--font-32);
  }
}
.voi_data{
  margin-top: 10px;
}
.explanation {
  padding-top: 150px;
  position: relative;
}
.exp_head {
  max-width: 370px;
  width: 90%;
  margin: auto;
  background: #fff;
  text-align: center;
  font-size: var(--font-46);
  margin-bottom: 40px;
  & .small {
    font-size: var(--font-32);
  }
  & .color{
    color: #A11F24;
  }
}
.exp_inner {
  max-width: 1024px;
  width: 95%;
  margin: auto;
  background: #fff;
  padding: 40px;
  border-radius: 20px;
  position: relative;
}
.exp_top {
  max-width: 932px;
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
  --mark:#A11F2425;
}
.exp_box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.exp_box {
  max-width: 450px;
}
.exp_catch{
  font-size: var(--font-32);
  margin: 20px 0;
}
.exp_tag{
  width: 88px;
  height: 88px;
  background: #A11F24;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  position: absolute;
  top: -40px;
  left: -40px;
  font-size: var(--font-24);
  text-align: center;
  line-height: 1.25;
  color: #fff;
}
.exp_bot {
  max-width: 850px;
  width: 95%;
  margin: auto;
  padding: 60px 0;
}
.exp_table {
  width: 100%;
  border-top: 1px solid #000;
  & th{
    background: #f1d9da;
    text-align: left;
    font-weight: normal;
    border-bottom: 1px solid #000;
    padding: 10px 20px;
  }
  & td{
    border-bottom: 1px solid #000;
    padding: 10px 40px;
  }
}
.exp_list {
  display: flex;
  gap:30px 0;
  margin-top: 40px;
  flex-wrap: wrap;
}
.exp_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: calc(100% / 6);
  font-size: 1.4rem;
}
.exp_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  border: 1px solid #A11F24;
  border-radius: 50%;
  margin-bottom: 5px;
}
.point {
  position: relative;
  &::before{
    content: '';
    display: block;
    width: calc(50% + 512px);
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #F1D9DA;
    border-radius: 0 20px 20px 0;
  }
}
.poi_inner {
  position: relative;
  max-width: 850px;
  width: 90%;
  margin: auto;
  display: flex;
  justify-content: flex-end;
}
.poi_img {
  position: absolute;
  left: -75px;
  bottom: 0;
}
.poi_box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 15px 0;
}
.poi_head{
  font-size: var(--font-24);
  font-weight: bold;
}
.poi_num{
  font-size: var(--font-32);
  color: #a11f24;
}

.off_inner {
  max-width: 1024px;
  width: 90%;
  margin: auto;
  padding: 60px 0;
}
.off_head{
  font-size: var(--font-34);
  text-align: center;
  padding-bottom: 30px;
}
.swiper_outer{
  position: relative;
}
.swiper-button-prev,.swiper-button-next {
  display: block;
  width: 60px;
  height: 60px;
  background: url(../img/alide_right.svg) no-repeat center;
  background-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-100%);
	z-index: 2;
	&:hover {
		opacity: 0.8;
	}
}
.swiper-button-prev {
	left: -65px;
	transform: rotate(180deg) translateY(100%);
}
.swiper-button-next {
	right: -65px;
}

.contact{
  position: relative;
  &::before{
    content: '';
    display: block;
    width: calc(50% + 512px);
    height: 250px;
    position: absolute;
    top: 0;
    right: 0;
    background: #E3EACC;
    border-radius: 20px 0 0 20px;
  }
}
.cont_inner {
  max-width: 1024px;
  width: 90%;
  margin: auto;
  display: flex;
  position: relative;
  justify-content: space-between;
  padding-top: 30px;
}
.cont_left {
  padding-left: 75px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px 0;
}
.cont_tel {
  display: flex;
  background: #fff;
  max-width: 351px;
  width: 100%;
  justify-content: center;
  align-items: center;
  font-size: var(--font-36);
  font-weight: bold;
  gap:10px;
  &::before{
    content: '';
    display: block;
    background: url(../img/icon_08.svg) no-repeat center;
    background-size: contain;
    min-width: 34px;
    height: 34px;
  }
}
a.cont_btn {
  max-width: 351px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: #92AE35;
  color: #fff;
  font-size: var(--font-24);
  min-height: 60px;
  border-radius: 50px;
  &::before{
    content: '';
    display: block;
    background: url(../img/icon_01_1.svg) no-repeat center;
    background-size: contain;
    min-width: 29px;
    height: 19px;
  }
}

.flow_head {
  max-width: 1024px;
  width: 90%;
  margin: -50px auto 0;
  font-size: var(--font-32);
  font-weight: bold;
  & .large{
    font-size: var(--font-48);
  }
  & .color{
    color: #234189;
  }
}
.flow_inner {
  display: flex;
  flex-wrap: wrap;
}
.flow_row {
  width: 50%;
  background: #C8CFE1;
  padding: 30px;
  display: flex;
  &:nth-child(odd){
    justify-content: flex-end;
  }
}
.flow_row:nth-child(2),
.flow_row:nth-child(3),
.flow_row:nth-child(6) {
  background: #C8CFE150;
}
.flow_flex {
  max-width: 480px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 20px;
}
.flow_circle {
  display: flex;
  min-width: 180px;
  height: 180px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px solid #A11F24;
  background: #fff;
  border-radius: 50%;
  font-weight: bold;
}
.flow_num{
  color: #a11f24;
  font-size: var(--font-36);
}
.flow_cont{
  display: flex;
  max-width: 280px;
  width: 100%;
  flex-direction: column;
  gap:1em;
  & .small{
    font-size: 1.4rem;
  }
  & .ex {
    position: relative;
  }
  & a {
    text-decoration: underline;
  }
  & .caption{
    font-size: 1.4rem;
    position: absolute;
    display: flex;
    gap:10px;
    top: 34px;
    right: 15px;
    &::before{
      content: '';
      display: block;
      width: 18px;
      height: 55px;
      border-top: 1px solid #000;
      border-right: 1px solid #000;
      border-bottom: 1px solid #000;
    }
  }
}

.faq{
  padding-top: 60px;
}
.faq_top {
  max-width: 1024px;
  width: 90%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.faq_head{
  font-size: var(--font-32);
  & .large{
    font-size: var(--font-48);
    color: #a11f24;
  }
}
a.faq_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 327px;
  width: 100%;
  height: 44px;
  border: 1px solid #A11F24;
  border-radius: 50px;
  font-size: var(--font-24);
  color: #a11f24;
  position: relative;
  &::after{
    content: '';
    display: block;
    background: url("../img/arrow_r.svg") no-repeat center;
    background-size: contain;
    width: 10px;
    height: 20px;
    position: absolute;
    right: 15px;
  }
}
.faq_inner {
  max-width: 850px;
  width: 90%;
  margin: auto;
}
.faq_det {
  width: 100%;
  overflow: hidden;
}
.faq_q {
  list-style: none;
  cursor: pointer;
  display: flex;
  gap: 30px;
  padding: 30px 0 20px;
  padding-right: 75px;
  align-items: center;
  position: relative;
  font-size: var(--font-24);
  border-bottom: 1px solid #A11F24;
}
.faq_q::-webkit-details-marker {
  display:none;
}
.faq_q::after{
  content: '';
  display: block;
  background: url("../img/arrow_r.svg") no-repeat center;
  background-size: contain;
  width: 10px;
  height: 20px;
  position: absolute;
  right: 50px;
  top:calc(50% - 7px);
  transition: .2s;
  transform: rotate3d(0,0,1,90deg);
}
.faq_det[open] .faq_q::after{
  transform: rotate3d(0,0,1,270deg);
}
.faq_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 60px;
  height: 60px;
  background: #000;
  color: #fff;
  font-size: var(--font-24);
  line-height: 0;
  font-weight: bold;
  border-radius: 50%;
  border: 1px solid #A11F24;
}
.faq_icon--q{
  background: #A11F24;
}
.faq_icon--a{
  background: #fff;
  color: #a11f24;
}
.faq_a {
  display: flex;
  gap: 30px;
  align-items: flex-start;
  line-height: 2;
  position: relative;
  padding: 35px;
}
.faq_det[open] .faq_a{
  animation: .2s open ease-out forwards;
}
.faq_text a{
  text-decoration: underline;
}
@keyframes open{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

.last{
  padding: 40px 0 30px;
  position: relative;
  --mark:#92AE3550;
  z-index: 1;
}
.last_inner{
  max-width: 850px;
  width: 90%;
  margin: auto;
  background: #E3EACC;
  padding: 30px 100px 0;
  text-align: center; 
  font-size: var(--font-32);
  position: relative;
  & .large{
    font-size: var(--font-48);
  }
  ::after{
    content: '';
    background: url(../img/arrow_ft.png) no-repeat center top;
    background-size: 100% 100%;
    width: 100%;
    height: 80px;
    position: absolute;
    left: 0;
    bottom: -80px;
  }
}
.intro:last-child{
  margin-top: 0;
}
footer {
  padding: 5px 5%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and ( max-width: 767px ) {
  .hd_logo {
    max-width: 160px;
  }
  .hd_catch {
    font-size: 1rem;
    height: 30px;
    line-height: 1.25;
    max-width: 135px;
  }
  a.fixed {
    font-size: 1.4rem;
    top: 50px;
    &::before{
      width: 15px;
      height: 11px;
    }
  }
  .mv_catch {
    top: 30px;
    left: 10px;
    max-width: 80%;
  }
  .mv_cap {
    left: 45%;
    top: 35vw;
    max-width: 45%;
  }
  .mv_after {
    &::after {
      width: 95%;
      height: 100%;
    }
  }
  .mv_after {
    margin-top: -30vw;
  }
  .mv_card {
    width: calc(100% / 3 - 10px);
    padding: 20px 2.5%;
    &::before{
      display: none;
    }
  }
  .mv_text {
    font-size: min(3.2rem, 3vw);
  }
  .intro {
    padding: 30px 0;
  }
  .intro_inner {
    flex-direction: column;
    width: 100%;
  }
  .intro_img {
    position: static;
    width: 95%;
    margin-left: auto;
    margin-right: 0;
  }
  .intro_box {
    width: 85%;
    padding: 60px 5%;
    margin-top: -60px;
  }
  .intro_tag{
    width: 60px;
    height: 60px;
    font-size: 1.4rem;
  }
  a.intro_outer {
  position: relative;
  width: 85%;
  margin: 20px auto 0;
  bottom: auto;
  left: auto;
}
  .iss_head {
    font-size: min(3.2rem, 3.5vw);
    background: none;
    & .large{
    font-size: min(3.6rem, 4.5vw);
    }
  }
  .iss_list {
    margin: 20px 0 0;
    align-items: center;
    justify-content: center;
  }
  .iss_item {
    font-size: min(2rem, 3.5vw);
    min-height: 60px;
    margin-bottom: 10px;
    background: url(../img/unit_02_1_sp.png) no-repeat center;
    background-size: 100% 100%;
  }
  .iss_img {
    max-width: 50%;
    margin: 0 auto;
  }
  .fea_top {
    &::after {
      width: 98%;
      height: 50%;
      position: absolute;
      right: 0;
      top: 0;
      border-radius: 20px 0 0 20px;
    }
  }
  .fea_flex {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .fea_left {
    padding: 0 5%;
  }
  .det_top {
    flex-wrap: wrap;
    gap: 5px;
  }
  .fea_head {
    position: static;
    font-size: min(3.2rem, 7vw);
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: baseline;
    text-align: center;
    margin: 20px auto;
    & .large{
      font-size: min(3.6rem, 9vw);
    }
  }
  .det_circle {
    min-width: 0;
    max-width: 180px;
    width: calc(100% / 3 - 5px);
    height: 32vw;
    max-height: 180px;
  }
  .det_icon {
    max-width: 50%;
  }
  .det_name {
    font-size: min(2rem, 2.6vw);
    min-height: 0;
    margin-top: 10px;
  }
  .det_flex {
    flex-direction: column;
    padding: 0 5%;
  }
  .det_head {
    font-size: min(2.8rem, 5vw);
    gap:15px ;
  }
  .det_num {
    font-size: min(3.2rem, 10vw);
    min-width: 50px;
  }
  .det_row:nth-child(even) .det_flex {
    flex-direction: column;
  }
#det01 {
  background: url(../img/bg_03_1.png) no-repeat center left;
  background-size: cover;
}
#det03 {
  background: url(../img/bg_03_1.png) no-repeat center left;
  background-size: cover;
}
#det05 {
  background: url(../img/bg_03_1.png) no-repeat center left;
}
  .voi_row {
    padding: 20px 0 0 ;
    &::before {
      height: 100%;
      width: 98%;
    }
  }
  .voi_flex {
    gap: 15px;
    align-items: flex-end;
  }
  .voi_name {
    font-size: min(2.4rem, 4vw);
  }
  .voi_name {
    & .large {
      font-size: min(3.2rem, 6vw);
    }
  }
  .voi_data {
    font-size: min(1.6rem, 3vw);
    padding-bottom: 20px;
  }
  .voi_img {
    max-width: 30%;
  }
  .exp_inner {
    padding: 40px 2.5%;
  }
  .exp_tag {
    width: 60px;
    height: 60px;
    left: -10px;
    font-size: 1.4rem;
    top: -30px;
  }
  .exp_top {
    justify-content: center;
    gap: 20px;
  }
  .exp_table {
    width: 100%;
    display: block;
    & tbody{
    width: 100%;
    display: block;
    }
    & tr{
      width: 100%;
      display: block;
    }
    & th{
      width: 100%;
      display: block;
      padding: 15px;
    }
    & td{
      width: 100%;
      display: block;
      padding: 15px;
    }
  }
  .exp_list {
    max-width: 360px;
    margin: 20px auto 0;
    gap: 15px 0;
  }
  .exp_card {
    width: calc(100% / 3);
    font-size: min(1.4rem,2.5vw);
  }
  .exp_icon {
    width: 85px;
    height: 85px;
  }
  .point {
    &::before {
      width: 98%;
    }
  }
  .poi_img {
    position: static;
  }
  .poi_inner {
    flex-direction: column;
    align-items: center;
  }
  .swiper-button-prev,.swiper-button-next {
    width: 30px;
    height: 30px;
    top: 33%;
  }
  .swiper-button-prev {
    left: -5vw;
  }
  .swiper-button-next {
    right: -5vw;
  }
  .swiper-slide{
    font-size: min(1.4rem,3vw);
  }
  .cont_left {
    padding: 0;
  }
  .cont_inner {
    flex-direction: column;
  }
  .cont_tel {
    padding: 10px 0;
    max-width: 300px;
  }
  .cont_img {
    margin-top: 20px;
  }
  .flow_head {
    margin: 30px auto;
    text-align: center;
  }
  .flow_row {
    width: 100%;
    background: #C8CFE1;
  }
  .flow_row:nth-child(3) {
    background: #C8CFE1;
  }
  .flow_row:nth-child(even) {
    background: #C8CFE150;
  }
  .flow_flex {
    flex-direction: column;
    align-items: center;
  }
  .flow_circle {
    min-width: 150px;
    height: 150px;
  }
  .faq_top {
    flex-direction: column;
    gap: 10px;
  }
  .faq_q {
    gap: 15px;
    padding-right: 25px;
    font-size: 1.6rem;
  }
  .faq_q::after{
    right: 10px;
  }
  .faq_icon {
    min-width: 40px;
    height: 40px;
  }
  .faq_a {
    padding: 15px 0;
    gap: 15px;
    font-size: 1.4rem;
  }
  .last_inner {
    padding: 40px 2.5% 0;
    font-size: min(3.2rem, 5.5vw);
    & .large{
      font-size: min(4.8rem, 6.5vw);
    }
    & ::after {
      height: 60px;
      bottom: -60px;
    }
  }
}
