@charset "UTF-8";

@media screen and (min-width: 768px) {

  html {
    height: 100%;
    zoom: 1;
    overflow-y: scroll;
    -webkit-text-size-adjust: none;
  }

  html,
  body,
  div,
  span,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  abbr,
  address,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  samp,
  small,
  strong,
  sub,
  sup,
  var,
  b,
  i,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  dialog,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    outline: 0;
    font-size: 100%;
    font-weight: normal;
    vertical-align: baseline;
  }

  body {
    line-height: 1;
  }

  article,
  aside,
  dialog,
  figure,
  footer,
  header,
  hgroup,
  nav,
  section {
    display: block;
  }

  nav ul {
    list-style: none;
  }

  blockquote,
  q {
    quotes: none;
  }

  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: '';
    content: none;
  }

  a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
  }

  ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
  }

  mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
  }

  del {
    text-decoration: line-through;
  }

  abbr[title],
  dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
  }

  input,
  select {
    vertical-align: middle;
  }

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

  img {
    border: none;
    vertical-align: bottom;
    margin: 0;
    padding: 0;
    line-height: 1;
  }


  @import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:500,700&subset=japanese');
  @import url('https://fonts.googleapis.com/css?family=Oswald:700');

  /* body
-------------------------------------------------- */
  body {
    font-size: 100%;
    line-height: 1.75;
    zoom: 1;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    letter-spacing: 0.12em;
    color: #333333;
    width: 100%;
    min-width: 1160px;
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  /* link
-------------------------------------------------- */
  a {
    color: #333333;
    text-decoration: none;
    transition: all .3s;
  }

  /* clear
-------------------------------------------------- */
  .clear:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
  }

  /* img
-------------------------------------------------- */
  img {
    width: 100%;
    height: auto;
  }

  /*/////////////////////////////////////////////////////////////////////////////


                  ■  layout  ■


/////////////////////////////////////////////////////////////////////////////*/
  #container {
    width: 100%;
    margin: 0px auto;
    position: relative;
    overflow: hidden;
  }

  .sec-wrap {
    padding: 60px 0 45px;
    position: relative;
  }
  /*/////////////////////////////////////////////////////////////////////////////


                  ■  contents  ■


/////////////////////////////////////////////////////////////////////////////*/

  /* .sec-ttl
-------------------------------------------------- */
  .sec-ttl {
    width: 1080px;
    margin: 0 auto;
    text-align: center;
  }

  .sec-ttl p {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 20px;
  }

  .sec-ttl h2 {
    margin-bottom: 40px;
  }

  .sec-ttl h2 span {
    font-size: 46px;
    font-weight: bold;
    line-height: 1.5;
    display: inline;
    padding: 0 10px 0;
    letter-spacing: 0.1em;
    background: linear-gradient(transparent 60%, #fff600 60%);
  }

  .sec-ttl .lead {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 50px;
  }

  .sec-ttl .subttl {
    display: inline-block;
    font-size: 22px;
    line-height: 70px;
    padding: 0 20px;
    margin-bottom: 30px;
    border-bottom: 1px solid #1a1a1a;
    border-top: 1px solid #1a1a1a;
  }

  /* .btn
-------------------------------------------------- */
  .btn a {
    display: inline-block;
    width: 900px;
    text-align: left;
    position: relative;
    height: 90px;
  }

  .btn a::before {
    content: "";
    width: 100%;
    height: 100px;
    position: absolute;
    top: 5px;
    left: 0;
    background: #9a951a;
    border-radius: 4px;
  }

  .btn a span {
    display: block;
    height: 100px;
    background: #fff600 url(../img/arrow.png) right 50px center no-repeat;
    background-size: 9px auto;
    position: relative;
    border-radius: 4px;
    transition: all .3s;
  }

  .btn a:hover {
    opacity: 0.6;
  }

  .btn a:hover span {
    background-position: right 40px center;
  }

  .btn a img.isPc {
    width: 763px;
    margin-top: -16px;
    margin-left: 20px;
    display: inline!important;
  }

  /* ===============================================
  ▼ cv
=============================================== */
  .cv {
    width: 100%;
    padding: 60px 0;
    background: url(../img/cv-bg.jpg) center center;
    background-size: contain;
    text-align: center;
  }

  .cv .block {
    width: 1080px;
    padding: 40px 0 45px;
    margin: 0 auto;
    background: #FFFFFF;
    border: 2px solid #1a1a1a;
    box-sizing: border-box;
  }

  .cv .block .ttl {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.65;
    margin-bottom: 25px;
  }

  .cv .block .ttl span {
    font-size: 32px;
    font-weight: 700;
  }

  .cv .ft-logo {
    width: 160px;
    margin: 40px auto 0;
  }

  /* ===============================================
  ▼ main
=============================================== */
  .main {
    width: 100%;
    /* height: 590px; */
    position: relative;
    padding: 80px 0;
    box-sizing: border-box;
    overflow: hidden;
    /*margin-top: 120px;*/
  }

  .main::after,
  .main::before {
    content: "";
    width: 130px;
    height: 286px;
    position: absolute;
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 130px auto;
    z-index: 2;
  }

  .main::after {
    left: 0;
    top: 0;
    background-image: url(../img/main_bg01.png);
  }

  .main::before {
    right: 0;
    bottom: 0;
    background-image: url(../img/main_bg02.png);
    z-index: 2;
  }

  .main .main-slide {
    width: 100%;
    /* height: 590px; */
    position: absolute;
    top: 0;
    overflow: hidden;
  }

  .main .bg01 {
    background-image: url(../img/main01.jpg);
    left: 0;
  }

  .main .bg02 {
    background-image: url(../img/main02.jpg);
    right: 0;
  }

  .main .ttl-area {
    width: 680px;
    height: 430px;
    margin: 0 auto;
    padding: 40px 0 0;
    font-size: 22px;
    background: rgba(38, 166, 101, 0.8);
    color: #FFFFFF;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
  }

  .main .ttl-area h1 {
    width: 680px;
    margin: 10px auto 15px;
    font-size: 52px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.25;
  }

  .main .ttl-area h1 span {
    font-size: 22px;
    display: block;
    margin-top: 10px;
  }

  .main .ttl-area .lead {
    width: 380px;
    margin: 10px auto 0;
    border: 2px solid #fff;
    padding: 5px 10px;
    font-size: 30px;
    font-weight: bold;
  }

  .swiper-wrapper {
    overflow: hidden;
    /* height: 590px; */
  }

  .swiper-slide {
    overflow: hidden;
    /* height: 590px; */
  }

  /* ===============================================
  ▼ sec01
=============================================== */
  .balloon {
    position: relative;
    display: block;
    margin: 0 auto 70px;
    width: 560px;
    font-size: 22px;
    background: #FFF;
    border: solid 2px #1a1a1a;
    box-sizing: border-box;
    text-align: center;
    padding: 20px 0;
  }

  .balloon::before {
    content: "";
    position: absolute;
    bottom: -35px;
    left: 50%;
    margin-left: -18px;
    border: 18px solid transparent;
    border-top: 18px solid #FFF;
    z-index: 2;
  }

  .balloon::after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 20px solid #1a1a1a;
    z-index: 1;
  }

  .balloon p {
    line-height: 1.5;
    font-weight: 700;
  }

  .sec01-cont {
    position: relative;
  }

  .sec01-cont::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #26a665;
    position: absolute;
    top: 30px;
    left: 0;
    transform: skewY(4deg);
  }

  .col3 {
    width: 1080px;
    margin: auto;
  }

  .col3 li {
    float: left;
    width: 330px;
    height: 330px;
    margin-right: 40px;
    position: relative;
  }

  .col3 li:nth-child(3n) {
    margin-right: 0;
  }

  .col3 li:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 10px;
    left: 10px;
    background: #fff600;
  }

  .col3 li .block {
    width: 100%;
    height: 100%;
    padding: 30px 25px;
    background: #FFFFFF;
    position: relative;
    box-sizing: border-box;
  }

  .sec01 .col3 {
    padding-bottom: 100px;
  }

  .sec01 .block dl dt {
    width: 145px;
    line-height: 9px;
    margin-bottom: 0px;
  }

  .sec01 .block dl dt img {
    width: 44px;
  }

  .sec01 .block dl dd {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 3px;
    padding-left: 5px;
  }

  .sec01 .block dl dd.icon {
    width: 160px;
    margin: 0px auto 10px;
    padding-left: 0;
  }

  /* ===============================================
  ▼ sec02
=============================================== */
  .sec02::before {
    content: "";
    width: 100%;
    height: 760px;
    background: rgba(51, 51, 51, 0.04);
    position: absolute;
    top: -200px;
    left: 0;
    transform: skewY(-4deg);
    z-index: -1;
  }

  .sec02 .block-wrap {
    width: 1040px;
    margin: 0 auto;
  }

  .sec02 .block .thumb {
    width: 50%;
    position: relative;
  }

  .sec02 .block .thumb::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
    position: absolute;
    top: 30px;
  }

  .sec02 .block .thumb .ttl {
    position: absolute;
    bottom: -20px;
  }

  .sec02 .block .thumb img {
    position: relative;
  }

  .sec02 .block-inr {
    width: 50%;
    box-sizing: border-box;
  }

  .sec02 .block-inr .ttl {
    width: 420px;
    border-top: 1px solid #333333;
    border-left: 1px solid #333333;
    position: relative;
  }

  .sec02 .block-inr .ttl span {
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 80px;
    padding: 0 40px;
    position: relative;
  }

  .sec02 .block-inr .ttl::before {
    content: "";
    width: 420px;
    height: 80px;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
    position: absolute;
    top: 20px;
    left: 20px;
  }

  .sec02 .block-inr ul {
    padding: 35px 0 0 20px;
    float: left;
  }

  .sec02 .block-inr li {
    font-weight: 700;
    position: relative;
    padding: 0 0 0 20px;
    margin-bottom: 3px;
  }

  .sec02 .block-inr li::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 8px;
    height: 8px;
    background: #26a665;
    border-radius: 4px;
  }

  .sec02 .block:nth-child(odd) .thumb {
    float: left;
  }

  .sec02 .block:nth-child(odd) .block-inr {
    float: left;
    padding-left: 50px;
  }

  .sec02 .block:nth-child(odd) .thumb::before {
    left: -30px;
  }

  .sec02 .block:nth-child(odd) .thumb .ttl {
    left: -20px;
  }

  .sec02 .block:nth-child(odd) .block-inr .ttl span {
    background: #f5f5f5;
  }

  .sec02 .block:nth-child(even) .thumb {
    float: right;
  }

  .sec02 .block:nth-child(even) .block-inr {
    float: right;
    padding: 85px 0 0 20px;
  }

  .sec02 .block:nth-child(even) .thumb::before {
    right: -30px;
  }

  .sec02 .block:nth-child(even) .block-inr .ttl span {
    background: #FFFFFF;
  }

  .sec02_2 .block .block-inr:nth-child(odd) {
    width: 50%;
    position: relative;
    padding-left: 0;
    padding-right: 2%;
  }

  .sec02_2 .block .block-inr:nth-child(even) {
    width: 50%;
    position: relative;
    padding-left: 2%;
    padding-right: 0;
  }

  .sec02_2 .block .block-inr .thumb {
    width: 98%;
    position: relative;
    float: none;
  }

  .sec02_2 .block:nth-child(odd) .block-inr .thumb::before {
    left: -15px;
    top: 30px;
  }

  .sec02_2 .block .block-inr h3 {
    font-size: 28px;
    font-weight: bold;
    margin: 25px 0 25px;
    line-height: 1;
  }

  .sec02_2 .block .block-inr h3 span {
    font-size: 20px;
    font-weight: normal;
  }

  .sec02_2 .block .block-inr p {
    font-size: 14px;
  }

  /* ===============================================
  ▼ sec03
=============================================== */
  .sec03 {
    padding-top: 110px;
    padding-bottom: 0;
  }

  .sec03::before,
  .sec03::after {
    content: "";
    width: 100%;
    height: 80%;
    background: rgba(51, 51, 51, 0.04);
    position: absolute;
    left: 0;
    z-index: -1;
  }

  .sec03::before {
    top: -90px;
    transform: skewY(-4deg);
  }

  .sec03::after {
    top: 10px;
    transform: skewY(18deg);
  }

  .sec03-cont {
    position: relative;
    padding-bottom: 20px;
    overflow: hidden;
  }

  .sec03-cont::before {
    content: "";
    width: 100%;
    height: 3700px;
    background: #26a665;
    position: absolute;
    bottom: -100px;
    left: 0;
    transform: skewY(-4deg);
    z-index: -1;
  }

  .tab-wrap {
    width: 1080px;
    margin: 20px auto 20px;
    box-sizing: border-box;
    background: #FFFFFF;
    border: 2px solid #1a1a1a;
  }

  .tab {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .tab li {
    width: 50%;
    text-align: center;
    border-right: 2px solid #1a1a1a;
    border-bottom: 2px solid #1a1a1a;
    box-sizing: border-box;
    cursor: pointer;
    padding: 10px 0 15px;
    position: relative;
  }

  .tab li:last-child {
    border-right: none;
  }

  .tab li p {
    display: inline-block;
    font-size: 18px;
    line-height: 1.5;
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 50px auto;
    padding: 10px 40px 0 70px;
    opacity: 0.5;
    transition: all .3s;
  }

  .tab li p span {
    font-size: 28px;
    font-weight: 700;
  }

  .tab li:nth-child(1) p {
    background-image: url(../img/icon_course01.png);
  }

  .tab li:nth-child(2) p {
    background-image: url(../img/icon_course02.png);
  }

  .tab li.ac {
    background: #fff600;
  }

  .tab li.ac::before {
    content: "";
    position: absolute;
    bottom: -35px;
    left: 50%;
    margin-left: -18px;
    border: 18px solid transparent;
    border-top: 18px solid #fff600;
    z-index: 2;
  }

  .tab li.ac::after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 20px solid #1a1a1a;
    z-index: 1;
  }

  .tab li.ac p,
  .tab li:hover p {
    opacity: 1;
  }

  .tab-cont {
    padding: 50px;
    display: none;
    transition: all .3s;
  }

  .tab-cont.ac {
    display: block;
  }

  .tab-cont .ttl {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 35px;
  }

  .lineup-box {
    margin-bottom: 30px;
  }

  .lineup-box li.lineup {
    padding: 0px;
    height: 68px;
    width: 40%;
    margin-left: 35px;
    float: left;
  }

  .lineup-box li.lineup img {
    width: 90px;
    float: left;
    margin-top: -1px;
    margin-left: -35px;
  }

  .lineup-box li.lineup h5 {
    margin-top: 9px;
    margin-left: 78px;
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .lineup-box li.lineup h5.flower {
    margin-top: 2px;
    margin-left: 78px;
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .lineup-box li.lineup h5 span.half-year {
    color: #333333 !important;
    font-size: 14px;
    display: inline;
  }

  .lineup-box li.lineup h5 span {
    font-size: 12px;
    display: block;
  }

  .lineup-box li.lineup h5.lineup-blue span {
    color: #5877ba;
  }

  .lineup-box li.lineup h5.lineup-light_blue span {
    color: #73b5e4;
  }

  .lineup-box li.lineup h5.lineup-light_purple span {
    color: #a67cb4;
  }

  .lineup-box li.lineup h5.lineup-purple span {
    color: #7f3f6d;
  }

  .lineup-box li.lineup h5.lineup-green span {
    color: #229b6c;
  }

  .lineup-box li.lineup h5.lineup-ocher span {
    color: #93864e;
  }

  .lineup-box li.lineup h5.lineup-light_green span {
    color: #79c48d;
  }

  .lineup-box li.lineup h5.lineup-yellow_green span {
    color: #9ea93a;
  }

  .lineup-box li.lineup h5.lineup-pink span {
    color: #dd7694;
  }

  .lineup-box li.lineup h5.lineup-wine_red span {
    color: #c22861;
  }

  .lineup-box li.lineup h5.lineup-skin span {
    color: #d2a47e;
  }

  .lineup-box li.lineup h5.lineup-red span {
    color: #c6493d;
  }

  .lineup-box li.lineup h5.lineup-orange span {
    color: #d8710a;
  }

  .lineup-box li.lineup h5.lineup-navy span {
    color: #073061;
  }

  .lineup-box li.lineup h5.lineup-brown span {
    color: #956235;
  }

  .lineup-box li.lineup h5.lineup-dark_brown span {
    color: #412210;
  }

  .lineup-box li.lineup h5.lineup-dark_brown span {
    color: #412210;
  }

  .lineup-box li.lineup h5.lineup-light_brown span {
    color: #c5b35f;
  }

  .lineup-box li.lineup h5.lineup-dark_green span {
    color: #006632;
  }

  .lineup-box li.lineup h5.lineup-beige span {
    color: #c7b654;
  }

  .lineup-box li.lineup h5.lineup-dark_brown span {
    color: #694f3c;
  }
    .lineup-box li.lineup h5.lineup-fragrance span {
        color: #be4701;
    }

  .lineup-message {
    text-align: center;
  }

  .lineup-message img {
    width: 77px;
    margin: 0 auto;
  }

  .lineup-message p {
    position: relative;
    z-index: 2;
  }

  .lineup-message p span {
    /*background: #26a665;*/
    width: 100%;
    padding: 20px 0;
    font-size: 30px;
    font-weight: bold;
    display: block;
    color: #26a665;
    border: #26a665 3px solid;
  }

  .lineup-message p::before {
    content: "";
    width: 100%;
    height: 100%;
    /*background: #000;*/
    position: absolute;
    left: 6px;
    top: 6px;
    z-index: -1;
  }

  .sec03-cont li.lineup-plus {
    border: 0;
    padding: 2%;
  }

  .lineup-box li.lineup.lineup-single {
    width: 60%;
    margin-left: 180px;
    margin-bottom: 30px;
  }

  .sv-cont-2 {
    padding: 50px;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .sv-cont-2 h3 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 40px;
  }

  .sv-cont-2 h3 img {
    width: 420px;
    display: block;
    margin-bottom: 10px;
  }

  .sv-cont-2-inner .sv-cont-txt {
    width: 65%;
    float: left;
  }

  .sv-cont-2-inner .sv-cont-img {
    width: 30%;
    float: right;
    text-align: center;
  }

  .sv-cont-2-inner .sv-cont-img img {
    border-radius: 50%;
  }

  .sv-cont-2-inner .sv-cont-img p {
    font-size: 20px;
    font-weight: bold;
  }

  .box-cont {
    background: #f5f5f5;
    padding: 50px;
    text-align: center;
    margin-bottom: 0px;
  }

  .box-ttl {
    display: inline-block;
    padding: 15px 60px;
    border-top: 1px solid #1a1a1a;
    border-bottom: 1px solid #1a1a1a;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
  }

  .box-lead {
    font-size: 24px;
    color: #e60039;
  }

  .box-cont-inr {
    background: #FFFFFF;
    padding: 40px 35px 35px;
    /*margin-top: 55px;*/
    position: relative;
  }

  .box-inr-ttl {
    width: 100%;
    font-weight: 700;
    font-size: 20px;
    text-align: center;
    position: absolute;
    left: 0;
    top: -18px;
  }

  .box-cont-inr li {
    float: left;
    border: 1px solid #1a1a1a;
    padding: 30px 0 25px;
    box-sizing: border-box;
  }

  .box-cont-inr li .numb {
    line-height: 17px;
    margin-bottom: 15px;
  }

  .box-cont-inr li .numb img {
    width: auto;
    height: 17px;
  }

  .box-cont-inr li .thumb {
    margin-bottom: 10px;
  }

  .box-col3 {
    padding-right: 20px;
  }

  .box-col3 li {
    width: 33.3333%;
    margin-right: 10px;
    letter-spacing: 0;
  }

  .box-col3 li:nth-child(3n) {
    margin-right: -20px;
  }

  .box-col2 {
    padding-right: 20px;
  }

  .box-col2 li {
    width: 50%;
    margin-right: 20px;
    letter-spacing: 0;
    padding-left: 30px;
    padding-right: 30px;
    font-size: 14px;
  }

  .box-col2 li:nth-child(2n) {
    margin-right: -20px;
  }

  .box-col2 li span {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #26a665;
    margin: -5px 0 15px;
  }

  .career-list {
    display: table;
    border: 2px solid #1a1a1a;
    padding: 30px 40px;
    text-align: left;
    margin-top: 10px;
  }

  .career-ttl {
    display: table-cell;
    width: 22%;
    font-size: 18px;
    font-weight: 700;
    vertical-align: middle;
  }

  .career-list-inr {
    display: table-cell;
    width: 78%;
    font-size: 14px;
  }

  .career-list-inr dt {
    font-size: 15px;
    font-weight: bold;
  }

  .career-list-inr dd {
    border-bottom: 1px solid #1a1a1a;
    margin: 5px 0 15px;
    padding-bottom: 10px;
  }

  .career-list-inr dd:last-child {
    border-bottom: none;
    margin: 5px 0 0;
    padding-bottom: 0;
  }

  /* ===============================================
  ▼ sec04
=============================================== */
  .sec04 {
    overflow: hidden;
    padding-bottom: 0;
  }

  .sec04::before,
  .sec04::after {
    content: "";
    width: 100%;
    height: 920px;
    background: rgba(51, 51, 51, 0.04);
    position: absolute;
    left: 0;
    z-index: -1;
  }

  .sec04::before {
    top: -450px;
    transform: skewY(-18deg);
  }

  .sec04::after {
    bottom: -470px;
    transform: skewY(18deg);
  }

  .sec04-cont {
    width: 1080px;
    margin: 90px auto;
    position: relative;
  }

  .sec04-cont .thumb {
    position: relative;
    width: 680px;
  }

  .sec04-cont .thumb:before {
    content: "";
    width: 610px;
    height: 625px;
    position: absolute;
    top: -35px;
    right: -75px;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
  }

  .sec04-cont .thumb img {
    position: relative;
    z-index: 1;
  }

  .sec04-cont .info {
    position: absolute;
    top: 85px;
    /*	left: 635px;*/
    left: 650px;
    z-index: 2;
  }

  .sec04-cont .info p {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
    /*  padding: 5px 15px;*/
    padding: 5px 35px;
    border: 3px solid #333333;
    text-align: center;
    display: inline-block;
    margin-bottom: 24px;
  }

  .sec04-cont .info h3 {
    font-size: 76px;
    font-weight: 700;
    color: #26a665;
    letter-spacing: 4px;
  }

  .sec04 .col3 {
    padding-bottom: 100px;
  }

  .sec04 .col3 li {
    height: 290px;
  }

  .sec04 .col3 li .block {
    background: #fafafa;
    padding: 30px 0px;
  }

  .sec04 .block dl {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-left: 5px;
    box-sizing: border-box;
  }

  .sec04 .block dl dt {
    width: 68px;
    line-height: 69px;
    position: absolute;
    left: 50%;
    top: -50px;
    margin-left: -34px;
  }

  .sec04 .block dl dd {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 3px;
    text-align: center
  }

  .point-cont {
    position: relative;
  }

  .point-cont::before {
    content: "";
    width: 750px;
    height: 380px;
    border: 2px solid #1a1a1a;
    box-sizing: border-box;
    position: absolute;
    top: -80px;
    right: 40px;
    z-index: -2;
  }

  .point-cont .point-ttl {
    font-size: 22px;
    font-weight: bold;
    text-align: right;
    padding: 40px 100px 20px 0;
  }

  .point-cont .point-txt {
    background: #fafafa;
    padding: 80px 60px;
    position: relative;
    width: 820px;
    margin-left: 190px;
  }

  .point-cont .point-txt::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 10px;
    left: 10px;
    background: #fff600;
    z-index: -1;
  }

  .point-cont .point-txt p {
    font-weight: bold;
  }

  .sd-cont {
    position: relative;
  }

  .sd-cont::before {
    content: "";
    width: 430px;
    height: 340px;
    position: absolute;
    top: -50px;
    left: -30px;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
  }

  .sd-cont-inr {
    position: relative;
    margin-left: 20px;
  }

  .sd-cont-inr::before {
    content: "";
    width: 400px;
    height: 310px;
    position: absolute;
    top: 0;
    left: 0;
    background: #FFFFFF;
  }

  .sd-cont .sd-ttl {
    font-size: 22px;
    font-weight: bold;
    padding: 30px 0 30px 50px;
    position: relative;
  }

  .sd-cont .sd-ttl::before {
    content: "";
    width: 260px;
    height: 140px;
    border-left: 1px solid #1a1a1a;
    border-top: 1px solid #1a1a1a;
    position: absolute;
    top: -20px;
    left: -20px;
  }

  .sd-cont ul li {
    float: left;
    width: 500px;
    margin-left: 30px;
    position: relative;
  }

  .sv-cont {
    width: 100%;
    background: rgba(51, 51, 51, 0.04);
    margin-top: 115px;
  }

  .sv-cont-inr {
    width: 1080px;
    padding: 50px 0;
    margin: 0 auto;
    display: table;
    position: relative;
  }

  .sv-ttl img {
    width: 420px;
    display: block;
    margin-bottom: 10px;
  }

  .sv-cont .thumb,
  .sv-cont dl,
  .sv-cont .txt {
    display: table-cell;
    vertical-align: middle;
  }

  .sv-cont .thumb {
    width: 290px;
    text-align: center;
    padding-right: 30px;
  }

  .sv-cont .thumb img {
    border-radius: 50%;
  }

  .sv-cont .thumb p {
    font-size: 20px;
    font-weight: bold;
  }

  .sv-cont .txt {
    width: 770px;
  }

  .sv-cont .txt p {
    border-left: 1px solid #26a665;
    padding: 20px 0 20px 30px;
  }

  .sv-cont h3 {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 1px;
    padding-left: 30px;
  }

  /* ===============================================
  ▼ sec05
=============================================== */
  .sec05 {
    overflow: hidden;
    padding-bottom: 110px;
  }

  .sec05::before,
  .sec05::after {
    content: "";
    width: 100%;
    height: 920px;
    position: absolute;
    left: 0;
    z-index: -1;
  }

  .sec05::before {
    background: rgba(51, 51, 51, 0.04);
    top: -450px;
    transform: skewY(-18deg);
  }

  .sec05::after {
    background: #26a665;
    bottom: -440px;
    transform: skewY(4deg);
  }

  .sec05-cont01 {
    width: 1080px;
    margin: 0 auto 90px;
    position: relative;
  }

  .sec05-cont01::before {
    content: "";
    width: 680px;
    height: 180px;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
    position: absolute;
    right: 0;
    bottom: -30px;
  }

  .sec05-cont01 .thumb {
    width: 540px;
    float: left;
  }

  .sec05-cont01 .txt {
    width: 510px;
    height: 360px;
    float: left;
    padding: 70px 0 0 60px;
    box-sizing: border-box;
    font-size: 18px;
    position: relative;
  }

  .sec05-cont01 .txt::before {
    content: "";
    width: 150px;
    height: 1px;
    background: #1a1a1a;
    position: absolute;
    left: 60px;
    top: 0;
  }

  .sec05-cont01 .txt::after {
    content: "";
    width: 510px;
    height: 150px;
    background: #FFFFFF;
    position: absolute;
    right: 0;
    bottom: 0;
  }

  .sec05-cont01 .ttl {
    width: 483px;
    position: absolute;
    right: 0;
    bottom: -15px;
  }

  .lt-cont {
    width: 1080px;
    margin: 65px auto 0;
  }

  .lt-cont li {
    width: 510px;
    margin-right: 30px;
    float: left;
    position: relative;
  }

  .lt-cont li::before {
    content: "";
    width: 385px;
    height: 240px;
    position: absolute;
    top: -30px;
    left: -30px;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
  }

  .lt-cont-inr {
    position: relative;
    padding: 0 60px;
  }

  .lt-cont-inr::before {
    content: "";
    width: 380px;
    height: 190px;
    position: absolute;
    top: 20px;
    left: 20px;
    background: #FFFFFF;
  }

  .lt-cont .lt-ttl {
    font-size: 20px;
    padding: 60px 0 25px 5px;
    position: relative;
  }

  .lt-cont .lt-ttl img {
    height: 39px;
    width: auto;
    margin: 0 0 5px -5px;
  }

  .lt-cont .lt-ttl::before {
    content: "";
    width: 310px;
    height: 140px;
    border-left: 1px solid #1a1a1a;
    border-top: 1px solid #1a1a1a;
    position: absolute;
    top: 0;
    left: -60px;
  }

  .lt-cont .thumb {
    position: relative;
    margin-bottom: 20px;
  }

  .lt-cont .txt {
    color: #FFFFFF;
  }

  /* =========================================================
utility
========================================================= */

  .pB-5 {
    padding-bottom: 5px !important;
  }

  .pB-10 {
    padding-bottom: 10px !important;
  }

  .pB-15 {
    padding-bottom: 15px !important;
  }

  .pB-20 {
    padding-bottom: 20px !important;
  }

  .pB-25 {
    padding-bottom: 25px !important;
  }

  .mB-5 {
    margin-bottom: 5px !important;
  }

  .mB-10 {
    margin-bottom: 10px !important;
  }

  .mB-15 {
    margin-bottom: 15px !important;
  }

  .mB-20 {
    margin-bottom: 20px !important;
  }

  .mB-25 {
    margin-bottom: 25px !important;
  }

  .mB-30 {
    margin-bottom: 30px !important;
  }

  .mB-40 {
    margin-bottom: 40px !important;
  }

  .mB-50 {
    margin-bottom: 50px !important;
  }

  .mB-60 {
    margin-bottom: 60px !important;
  }

  .mB-70 {
    margin-bottom: 70px !important;
  }

  .mB-80 {
    margin-bottom: 80px !important;
  }


  .pT-5 {
    padding-top: 5px !important;
  }

  .pT-10 {
    padding-top: 10px !important;
  }

  .pT-15 {
    padding-top: 15px !important;
  }

  .pT-20 {
    padding-top: 20px !important;
  }

  .pT-25 {
    padding-top: 25px !important;
  }

  .mT-5 {
    margin-top: 5px !important;
  }

  .mT-10 {
    margin-top: 10px !important;
  }

  .mT-15 {
    margin-top: 15px !important;
  }

  .mT-20 {
    margin-top: 20px !important;
  }

  .mT-25 {
    margin-top: 25px !important;
  }

  .mT-30 {
    margin-top: 30px !important;
  }

  .mT-40 {
    margin-top: 40px !important;
  }

  .mT-50 {
    margin-top: 50px !important;
  }

  .mT-60 {
    margin-top: 60px !important;
  }

  .mT-70 {
    margin-top: 70px !important;
  }

  .mT-80 {
    margin-top: 80px !important;
  }

  /*--------------------------------------------------------------
# our-vision
--------------------------------------------------------------*/
  .our-vision-wrap {
    background-color: #fff;
    color: #333;
    width: 100%;
    padding: 80px 0;
    display: flex;
    justify-content: center;
  }

  .our-vision-wrap.is-add-border {
    padding-top: 0;
    margin-top: 80px;
  }

  .our-vision-head {
    width: 140px;
    height: 40px;
  }

  .our-vision-wrap.is-add-border .our-vision {
    border-top: 1px solid #e5e5e5;
    padding-top: 80px;
  }

  .our-vision-body {
    display: flex;
    margin-top: 20px;
  }

  .our-vision-thum {
    margin-right: 60px;
  }

  .our-vision-text-area-heading {
    font-size: 25px;
    line-height: 1.4;
    text-align: left;
  }

  .our-vision-text-wrap {
    margin-top: 20px;
  }

  .our-vision-text-wrap>*+* {
    margin-top: 8px;
  }

  .our-vision-text {
    font-size: 14px;
    line-height: 2;
    text-align: left;
  }

  /* =========================================================
review
========================================================= */
  .review {
    margin-top: 95px;
    padding-bottom: 80px;
  }

  .review-heading {
    font-weight: 700;
    font-size: 26px;
    text-align: center;
    line-height: 1;
  }

  .review-body {
    margin: 30px auto 0;
    width: 1000px;
  }

  .review-body>*+* {
    margin-top: 20px;
  }

  .review-box {
    box-sizing: border-box;
    width: 100%;
    background-color: #fafafa;
    padding: 60px 100px;
  }

  .review-box-head {
    display: flex;
    justify-content: space-between;
  }

  .review-box-heading {
    display: flex;
    align-items: center;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }

  .review-box-heading span {
    font-weight: 700;
  }

  .review-box-heading svg {
    margin-right: 20px;
  }

  .review-box-heading .small-text {
    font-size: 18px;
  }

  .review-box-star-list>*+* {
    margin-top: 15px;
  }

  .review-box-star-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .review-box-star-item-text {
    font-size: 14px;
    margin-right: 20px;
    font-weight: 700;
    letter-spacing: 0;
  }

  .review-box-star {
    display: flex;
    align-items: center;
  }

  .review-box-star svg {
    margin-right: 10px;
  }

  .review-box-star-num {
    font-size: 14px;
    font-weight: 700;
  }

  .review-box-body {
    border-top: 1px solid #cfcfcf;
    margin-top: 35px;
    padding-top: 25px;
  }

  .review-box-subheading {
    font-size: 22px;
    font-weight: 700;
  }

  .review-box-text-wrap {
    margin-top: 15px;
  }

  /*--------------------------------------------------------------
add 2023.9
--------------------------------------------------------------*/
  .sec01-cont dd sup {
    font-size: 70%;
    vertical-align: top;
  }

  .add-caution2023 {
    max-width: 1080px;
    margin: -70px auto 0;
    padding: 0 0 50px;
    position: relative;
    color: #fff;
  }

  .caution2023-info dt {
    font-size: 14px;
  }

  .caution2023-info dd {
    padding-top: .4em;
  }

  .caution2023-info .is-lead {
    font-size: 14px;
  }

  .caution2023-info .is-lead+.is-lead {
    padding-top: .6em;
  }

  .caution2023-info .is-lead-sub {
    padding: 0 0 0 1em;
    font-size: 14px;
    text-indent: -1em;
  }

  /*--------------------------------------------------------------
add 2023.12
--------------------------------------------------------------*/
  .add-caution2023-bottom {
    max-width: 1080px;
    margin: 0 auto;
    padding: 20px 0 80px;
    position: relative;
    color: #000;
  }

}

@media screen and (max-width: 767px) {

  @import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:500,700&subset=japanese');
  @import url('https://fonts.googleapis.com/css?family=Oswald:700');

  html {
    height: 100%;
    zoom: 1;
    overflow-y: scroll;
    -webkit-text-size-adjust: none;
  }

  html,
  body,
  div,
  span,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  abbr,
  address,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  samp,
  small,
  strong,
  sub,
  sup,
  var,
  b,
  i,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  dialog,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    outline: 0;
    font-size: 100%;
    font-weight: normal;
    vertical-align: baseline;
  }

  body {
    line-height: 1;
  }

  article,
  aside,
  dialog,
  figure,
  footer,
  header,
  hgroup,
  nav,
  section {
    display: block;
  }

  nav ul {
    list-style: none;
  }

  blockquote,
  q {
    quotes: none;
  }

  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: '';
    content: none;
  }

  a {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
  }

  ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
  }

  mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
  }

  del {
    text-decoration: line-through;
  }

  abbr[title],
  dfn[title] {
    border-bottom: 1px dotted #000;
    cursor: help;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
  }

  input,
  select {
    vertical-align: middle;
  }

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

  img {
    border: none;
    vertical-align: bottom;
    margin: 0;
    padding: 0;
    line-height: 1;
  }


  /* body
-------------------------------------------------- */
  body {
    font-size: 87.5%;
    line-height: 1.75;
    zoom: 1;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: #333333;
    width: 100%;
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  /* link
-------------------------------------------------- */
  a {
    color: #333333;
    text-decoration: none;
    transition: all .3s;
  }

  /* clear
-------------------------------------------------- */
  .clear:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
  }

  /* img
-------------------------------------------------- */
  img {
    width: 100%;
    height: auto;
  }

  /*/////////////////////////////////////////////////////////////////////////////


					■	layout	■


/////////////////////////////////////////////////////////////////////////////*/
  #container {
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
  }

  .sec-wrap {
    padding: 40px 0 30px;
    position: relative;
  }

  /*/////////////////////////////////////////////////////////////////////////////


  					■	cv-fix	■


/////////////////////////////////////////////////////////////////////////////*/

  #cv-fix {
    display: none;
    width: 100%;
    padding: 0;
    position: fixed;
    bottom: 0;
    z-index: 9999;
    background: rgba(255, 255, 255, 0.9);
    transition: .4s;
  }

  #cv-fix a {
    display: block;
  }

  #cv-fix.show-cv-fix {
    display: block;
  }

  #cv-fix.show-cv-fix.js-hide {
      opacity: 0;
      transition: .4s;
  }

  /*/////////////////////////////////////////////////////////////////////////////


					■	contents	■


/////////////////////////////////////////////////////////////////////////////*/

  /* .sec-ttl
-------------------------------------------------- */
  .sec-ttl {
    width: 100%;
    padding: 0 15px 10px;
    text-align: center;
    box-sizing: border-box;
  }

  .sec-ttl p {
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 10px;
  }

  .sec-ttl h2 {
    margin-bottom: 20px;
    font-weight: 700;
  }

  .sec-ttl h2 span {
    display: inline;
    padding: 0 10px 0;
    font-weight: 700;
    font-size: 28px;
    letter-spacing: 0;
    line-height: 1.5;
    background: linear-gradient(transparent 60%, #fff600 60%);
  }

  .sec-ttl .lead {
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 20px;
  }

  .sec-ttl .subttl {
    display: block;
    font-size: 16px;
    line-height: 1.5;
    padding: 15px 0;
    margin-bottom: 30px;
    border-bottom: 1px solid #1a1a1a;
    border-top: 1px solid #1a1a1a;
  }

  .sv-cont-2 {
    padding: 30px 15px;
  }

  .sv-cont-2 .thumb,
  .sv-cont .thumb {
    border-radius: 50%;
    overflow: hidden;
  }

  /* .cont-ttl
-------------------------------------------------- */
  .cont-ttl {
    position: relative;
    margin-bottom: 30px;
  }

  .cont-ttl::after,
  .cont-ttl::before {
    content: "";
    position: absolute;
  }

  .cont-ttl::before {
    width: 90%;
    height: 240px;
    top: 0;
    left: 0;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
    z-index: 1;
  }

  .cont-ttl::after {
    width: 90%;
    height: 210px;
    background: #FFFFFF;
    top: 30px;
    left: 30px;
    z-index: 2;
  }

  .cont-ttl .ttl {
    padding: 50px 10px 0 30px;
    position: relative;
    font-size: 16px;
    font-weight: 700;
    z-index: 3;
  }

  .cont-ttl .ttl::before {
    content: "";
    width: 60%;
    height: 80px;
    position: absolute;
    left: 10px;
    top: 10px;
    border-left: 1px solid #1a1a1a;
    border-top: 1px solid #1a1a1a;
  }

  /* .btn
-------------------------------------------------- */
  .btn a {
    display: inline-block;
    width: 100%;
    text-align: center;
    position: relative;
  }

  .btn a::before {
    content: "";
    width: 100%;
    height: 100.2%;
    position: absolute;
    top: 5px;
    left: 0;
    background: #9a951a;
    border-radius: 4px;
  }

  .btn a span {
    display: block;
    font-size: 17px;
    font-weight: 700;
    line-height: 80px;
    background: #fff600 url(../img/arrow.png) right 10px center no-repeat;
    background-size: 9px auto;
    position: relative;
    border-radius: 4px;
    padding: 3% 10% 2% 2%;
  }

  .btn a span img {
    vertical-align: middle;
  }

  /* ===============================================
	▼ cv
=============================================== */
  .cv {
    width: 100%;
    padding: 70px 15px;
    background: url(../img/cv-bg.jpg) center center;
    background-size: cover;
    text-align: center;
    box-sizing: border-box;
  }

  .cv .block {
    width: 100%;
    padding: 30px 15px 35px;
    margin: 0 auto;
    background: #FFFFFF;
    border: 2px solid #1a1a1a;
    box-sizing: border-box;
  }

  .cv .block .ttl {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.65;
    margin-bottom: 15px;
  }

  .cv .block .ttl span {
    font-size: 21px;
    font-weight: 700;
  }

  .cv .ft-logo {
    width: 120px;
    margin: 20px auto 0;
  }

  /* ===============================================
	▼ main
=============================================== */
  .main {
    width: 100%;
    position: relative;
    padding: 90px 20px;
    box-sizing: border-box;
    overflow: hidden;
    /*margin-top: 50px;*/
    border-top: 1px solid #ddd;
  }

  .main::after,
  .main::before {
    content: "";
    width: 60px;
    height: 132px;
    position: absolute;
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 60px auto;
    z-index: 1;
  }

  .main::after {
    left: 0;
    top: 0;
    background-image: url(../img/main_bg01.png);
  }

  .main::before {
    right: 0;
    bottom: 0;
    background-image: url(../img/main_bg02.png);
  }

  .main .main-slide {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: 0;
  }

  .main .ttl-area {
    width: 100%;
    margin: 0 auto;
    padding: 15px 0 25px;
    font-size: 17px;
    background: rgba(36, 166, 101, 0.8);
    color: #FFFFFF;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    font-size: 14px;
  }

  .main .ttl-area h1 {
    margin: 15px auto 15px;
    font-size: 6.8vw;
    letter-spacing: 0;
    line-height: 1.25;
    font-weight: 700;
  }

  .main .ttl-area .lead {
    margin: 0 auto;
    width: 80vw;
    border: 2px solid #fff;
  }

  /* ===============================================
	▼ sec01
=============================================== */
  .balloon {
    position: relative;
    display: block;
    margin: 0 auto 40px;
    width: 80%;
    font-size: 18px;
    background: #FFF;
    border: solid 2px #1a1a1a;
    box-sizing: border-box;
    text-align: center;
  }

  .balloon::before {
    content: "";
    position: absolute;
    bottom: -35px;
    left: 50%;
    margin-left: -18px;
    border: 18px solid transparent;
    border-top: 18px solid #FFF;
    z-index: 2;
  }

  .balloon::after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 20px solid #1a1a1a;
    z-index: 1;
  }

  .balloon p {
    line-height: 1.25;
    font-weight: 700;
    padding: 20px 0;
  }

  .sec01-cont {
    position: relative;
    margin-top: 5px;
  }

  .sec01-cont::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #26a665;
    position: absolute;
    top: 30px;
    left: 0;
    transform: skewY(4deg);
  }

  .col3 {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .col3 li {
    width: calc(100% - 5px);
    position: relative;
    margin-bottom: 20px
  }

  .col3 li:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 10px;
    left: 10px;
    background: #fff600;
  }

  .col3 li .block {
    width: 100%;
    height: 100%;
    padding: 30px 25px;
    background: #FFFFFF;
    position: relative;
    box-sizing: border-box;
  }

  .sec01 .col3 {
    padding-bottom: 20px;
  }

  .sec01 .block dl dt {
    width: 50px;
    line-height: 9px;
    margin-bottom: 0px;
  }

  .sec01 .block dl dd {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0px;
    padding-left: 5px;
  }

  .sec01 .block dl dd.icon {
    width: 150px;
    margin: 0px auto 5px;
    padding-left: 0;
  }

  /* ===============================================
	▼ sec02
=============================================== */
  .sec02::before {
    content: "";
    width: 100%;
    height: 1900px;
    background: rgba(51, 51, 51, 0.04);
    position: absolute;
    top: -900px;
    left: 0;
    transform: skewY(-18deg);
    z-index: -1;
  }

  .sec02 .block-wrap {
    width: 100%;
  }

  .sec02 .block .thumb {
    width: 100%;
    position: relative;
    margin-bottom: 50px;
  }

  .sec02 .block .thumb::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
    position: absolute;
    top: 15px;
    left: 0;
  }

  .sec02 .block .thumb .ttl {
    position: absolute;
    bottom: -20px;
  }

  .sec02 .block .thumb img {
    position: relative;
  }

  .sec02 .block-inr {
    width: 100%;
    padding: 0 20px 35px;
    box-sizing: border-box;
  }

  .sec02 .block-inr .ttl {
    width: 100%;
    border-top: 1px solid #333333;
    border-left: 1px solid #333333;
    position: relative;
  }

  .sec02 .block-inr .ttl span {
    display: block;
    font-size: 16px;
    font-weight: 700;
    padding: 16px 20px;
    position: relative;
  }

  .sec02 .block-inr .ttl::before {
    content: "";
    width: 100%;
    height: 60px;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
    position: absolute;
    top: 8px;
    left: 10px;
  }

  .sec02 .block-inr ul {
    padding: 20px 0 0 5px;
  }

  .sec02 .block-inr li {
    font-weight: 700;
    position: relative;
    padding: 0 0 0 25px;
    margin-bottom: 3px;
  }

  .sec02 .block-inr li::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 8px;
    height: 8px;
    background: #26a665;
    border-radius: 4px;
  }

  .sec02 .block:nth-child(odd) .block-inr .ttl span {
    background: #f5f5f5;
  }

  .sec02 .block:nth-child(even) .block-inr .ttl span {
    background: #FFFFFF;
  }

  .sec02_2 .block .thumb {
    width: 100%;
    position: relative;
    margin-bottom: 20px;
  }

  .sec02_2 h3 {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1.25;
    margin-bottom: 20px;
  }

  .sec02_2 h3 span {
    font-size: 16px;
    font-weight: normal;
    display: block;
  }

  /* ===============================================
	▼ sec03
=============================================== */
  .sec03 {
    padding-top: 20px;
    padding-bottom: 0;
  }

  .sec03::before,
  .sec03::after {
    content: "";
    width: 100%;
    height: 80%;
    background: rgba(51, 51, 51, 0.04);
    position: absolute;
    left: 0;
    z-index: -1;
  }

  .sec03::before {
    top: -60px;
    transform: skewY(-18deg);
  }

  .sec03::after {
    top: 20px;
    transform: skewY(36deg);
  }

  .sec03-cont {
    padding: 0 15px 40px;
    position: relative;
    overflow: hidden;
  }

  .sec03-cont::before {
    content: "";
    width: 100%;
    height: 95%;
    background: #26a665;
    position: absolute;
    bottom: -100px;
    left: 0;
    transform: skewY(-4deg);
    z-index: -1;
  }

  .tab-wrap {
    width: 100%;
    box-sizing: border-box;
    background: #FFFFFF;
    border: 2px solid #1a1a1a;
    margin-bottom: 20px;
  }

  .tab {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .tab li {
    width: 50%;
    text-align: center;
    border-right: 2px solid #1a1a1a;
    border-bottom: 2px solid #1a1a1a;
    box-sizing: border-box;
    cursor: pointer;
    padding: 10px 0 20px;
    position: relative;
  }

  .tab li:last-child {
    border-right: none;
  }

  .tab li p {
    display: inline-block;
    font-size: 14px;
    line-height: 1.35;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 40px auto;
    padding: 65px 5px 0;
    opacity: 0.5;
    transition: all .3s;
  }

  .tab li p span {
    font-size: 19px;
    font-weight: 700;
  }

  .tab li:nth-child(1) p {
    background-image: url(../img/icon_course01.png);
  }

  .tab li:nth-child(2) p {
    background-image: url(../img/icon_course02.png);
  }

  .tab li.ac {
    background: #fff600;
  }

  .tab li.ac::before {
    content: "";
    position: absolute;
    bottom: -35px;
    left: 50%;
    margin-left: -18px;
    border: 18px solid transparent;
    border-top: 18px solid #fff600;
    z-index: 2;
  }

  .tab li.ac::after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 20px solid #1a1a1a;
    z-index: 1;
  }

  .tab li.ac p {
    opacity: 1;
  }

  .tab-cont {
    padding: 30px 15px 20px;
    display: none;
    transition: all .3s;
  }

  .tab-cont.ac {
    display: block;
  }

  .tab-cont .ttl {
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.5;
  }

  .course-list {
    text-align: center;
    margin-bottom: 30px;
  }

  .course-list li {
    display: block;
    position: relative;
    margin: 0 0 20px;
  }

  .course-list li::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -10px;
    left: 10px;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
  }

  .course-list li span {
    display: block;
    width: 100%;
    line-height: 1.5;
    padding: 20px 5px;
    text-align: center;
    border-top: 1px solid #1a1a1a;
    border-left: 1px solid #1a1a1a;
    background: #FFFFFF;
    font-size: 15px;
    font-weight: 700;
    color: #4774b9;
    box-sizing: border-box;
    position: relative;
  }

  .box-cont {
    background: #f5f5f5;
    padding: 30px 15px 15px;
    text-align: center;
    margin-bottom: 15px;
  }

  .box-ttl {
    display: block;
    padding: 15px 0px;
    border-top: 1px solid #1a1a1a;
    border-bottom: 1px solid #1a1a1a;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 20px;
  }

  .box-lead {
    font-size: 18px;
    font-weight: 700;
    color: #e60039;
    margin-bottom: 30px;

  }

  .box-inr-ttl {
    width: 100%;
    font-weight: 700;
    font-size: 16px;
    text-align: center;
    margin-bottom: 25px;
  }

  .box-cont-inr li {
    margin-bottom: 5px;
    box-sizing: border-box;
    letter-spacing: 0;
  }

  .box-cont-inr li .numb {
    line-height: 17px;
    margin-bottom: 10px;
  }

  .box-cont-inr li .numb img {
    width: auto;
    height: 17px;
  }

  .box-cont-inr li .thumb {
    margin-bottom: 5px;
  }

  .box-cont-inr li span {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #4774b9;
    margin: -5px 0 10px;
  }

  .box-cont-inr li .thumb+p {
    font-size: 12px;
  }

  .career-list {
    border: 2px solid #1a1a1a;
    padding: 20px;
    text-align: left;
    margin-top: 10px;
  }

  .career-ttl {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
  }

  .career-list-inr {
    font-size: 12px;
  }

  .career-list-inr dt {
    font-size: 12px;
    font-weight: 700;
  }

  .career-list-inr dd {
    border-bottom: 1px solid #1a1a1a;
    margin: 3px 0 12px;
    padding-bottom: 10px;
  }

  .career-list-inr dd:last-child {
    border-bottom: none;
    margin: 5px 0 0;
    padding-bottom: 0;
  }

  .lineup-box .lineup {
    margin-bottom: 20px;
  }

  .arrow_tri {
    width: 10%;
    margin: 0 45%;
  }

  .lineup-message p {
    position: relative;
    z-index: 2;
    text-align: center;
  }

  .lineup-message p::before {
    content: "";
    width: 100%;
    height: 100%;
    /*background: #000;*/
    position: absolute;
    left: 6px;
    top: 6px;
    z-index: -1;
  }

  .lineup-message p span {
    /*background: #fff600;*/
    /*width: 100%;*/
    padding: 10px 0;
    font-size: 18px;
    font-weight: 700;
    border: #26a665 3px solid;
    color: #26a665;
    display: block;
  }

  .lineup-message .arrow-icon {
    width: 10%;
    margin: 0 45%;
  }

  /* ===============================================
	▼ sec04
=============================================== */
  .sec04 {
    overflow: hidden;
    padding-bottom: 0;
  }

  /* .sec04::before,
.sec04::after {
	content: "";
	width: 100%;
	height: 920px;
	background: rgba(51,51,51,0.04);
	position: absolute;
	left: 0;
	z-index: -1;
} */
  .sec04::before {
    top: -360px;
    transform: skewY(-18deg);
  }

  .sec04::after {
    bottom: -460px;
    transform: skewY(32deg);
  }

  .sec04-cont {
    width: 100%;
    position: relative;
  }

  .sec04-cont .thumb {
    position: relative;
  }

  .sec04-cont .thumb:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -10px;
    right: 0;
    background: url(../img/dot.png) left top repeat;
    background-size: 8px auto;
  }

  .sec04-cont .thumb img {
    position: relative;
    z-index: 1;
  }

  .sec04-cont .info {
    padding: 15px 15px 30px;
    text-align: left;
  }

  .sec04-cont .info p {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    padding: 3px 8px;
    border: 2px solid #333333;
    display: inline-block;
  }

  .sec04-cont .info img {
    width: 80%;
  }

  .sec04-cont .info h3 {
    font-size: 42px;
    font-weight: 700;
    color: #4774b9;
    letter-spacing: 4px;
    line-height: 1.35;
  }

  .sec04 .col3 {
    padding-bottom: 40px;
    z-index: 5;
    position: relative;
  }

  .sec04 .col3 li {
    height: auto;
  }

  .sec04 .col3 li .block {
    background: #fafafa;
    padding: 30px;
  }

  .sec04 .block dl {
    width: 100%;
    height: auto;
    box-sizing: border-box;
  }

  .sec04 .block dl dt {
    width: 50px;
    line-height: 50px;
    margin: 0 auto 20px;
  }

  .sec04 .block dl dd {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 3px;
    text-align: center
  }

  .point-cont .point-ttl {
    font-size: 22px;
    font-weight: 700;
    text-align: right;
    padding: 0 100px 110px 0;
  }

  .sd-cont ul {
    padding: 0 20px;
    position: relative;
    z-index: 5;
  }

  .sd-cont ul li {
    margin-bottom: 20px;
  }

  .sv-cont {
    width: 100%;
    background: rgba(51, 51, 51, 0.04);
    margin-top: 60px;
  }

  .sv-cont-inr {
    padding: 40px 20px;
    position: relative;
  }

  .sv-ttl {
    width: 100%;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    margin-bottom: 20px;
    text-align: center;
  }

  .sv-ttl img {
    width: 90%;
    margin: 2% 5%;
    display: block;
  }

  .sv-cont-img {
    width: 220px;
    margin: 0 auto 10px;
    text-align: center;
  }

  .sv-cont-img img {
    border-radius: 50%;
  }

  .sv-cont-img p {
    font-weight: bold;
    font-size: 18px;
  }

  .sv-cont dl {
    text-align: center;
    font-size: 12px;
    margin-bottom: 20px;
  }

  .sv-cont dl dt {
    font-size: 18px;
    font-weight: 700;
  }

  .sv-cont .txt,
  .sv-cont-2 .txt {
    border-top: 1px solid #1a1a1a;
    padding-top: 20px;
  }


  /* ===============================================
	▼ sec05
=============================================== */
  .sec05 {
    overflow: hidden;
    padding-bottom: 0;
  }

  .sec05::before {
    content: "";
    width: 100%;
    height: 920px;
    position: absolute;
    top: -420px;
    left: 0;
    z-index: -1;
    background: rgba(51, 51, 51, 0.04);
    transform: skewY(-18deg);
  }

  .sec05-cont01 .txt {
    padding: 20px 20px 40px;
    box-sizing: border-box;
  }

  .lt-cont li {
    position: relative;
    padding-bottom: 40px;
    margin-bottom: 40px;
    overflow: hidden;
  }

  .lt-cont li:last-child {
    margin-bottom: 0;
  }

  .lt-cont li::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 280px;
    z-index: -1;
    background: #26a665;
    transform: skewY(8deg);
  }

  .lt-cont-inr {
    position: relative;
    padding: 0 30px;
    z-index: 5;
  }

  .lt-cont .cont-ttl {
    margin-bottom: 15px;
  }

  .lt-cont .cont-ttl img {
    height: 30px;
    width: auto;
    margin: 0 0 5px -5px;
  }

  .lt-cont .cont-ttl .ttl {
    font-size: 16px;
    letter-spacing: 0;
  }

  .lt-cont .thumb {
    margin-bottom: 15px;
  }

  .lt-cont .txt {
    color: #FFFFFF;
  }


  /* ===============================================
  	▼ STUDENTVOICEアコーディオン
  =============================================== */


  .accordion-container {
    position: relative;
    width: 100%;
    border: 1px solid #333;
    outline: 0;
    cursor: pointer
  }

  .accordion-container .sv-accordion {
    display: block;
    position: relative;
    margin: 0;
    padding: 0.625em 0.625em 0.625em 2em;
    font-size: 16px;
    font-weight: normal;
    color: #333;
  }



  .accordion-container .sv-accordion:hover i:before,
  .accordion-container .sv-accordion:hover i:active,
  .accordion-container .content-entry.open i {
    color: #333;
  }

  .sv-accordion {
    position: relative;
  }

  .sv-accordion:after {
    content: "";
    position: absolute;
    right: 25px;
    top: 38%;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #333;
    border-right: solid 2px #333;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }

  .sv-accordion.open:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 45%;
  }

  .accordion-content {
    display: none;
    padding: 15px;
    border-top: 1px dashed #333;
  }

  .accordion-container {
    width: 100%;
    margin: 1.875em auto 0;
  }


  /* =========================================================
utility
========================================================= */

  .pB-5 {
    padding-bottom: 5px !important;
  }

  .pB-10 {
    padding-bottom: 10px !important;
  }

  .pB-15 {
    padding-bottom: 15px !important;
  }

  .pB-20 {
    padding-bottom: 20px !important;
  }

  .pB-25 {
    padding-bottom: 25px !important;
  }

  .mB-5 {
    margin-bottom: 5px !important;
  }

  .mB-10 {
    margin-bottom: 10px !important;
  }

  .mB-15 {
    margin-bottom: 15px !important;
  }

  .mB-20 {
    margin-bottom: 20px !important;
  }

  .mB-25 {
    margin-bottom: 25px !important;
  }

  .mB-30 {
    margin-bottom: 30px !important;
  }

  .mB-40 {
    margin-bottom: 40px !important;
  }

  .mB-50 {
    margin-bottom: 50px !important;
  }

  .mB-60 {
    margin-bottom: 60px !important;
  }

  .mB-70 {
    margin-bottom: 70px !important;
  }

  .mB-80 {
    margin-bottom: 80px !important;
  }


  .pT-5 {
    padding-top: 5px !important;
  }

  .pT-10 {
    padding-top: 10px !important;
  }

  .pT-15 {
    padding-top: 15px !important;
  }

  .pT-20 {
    padding-top: 20px !important;
  }

  .pT-25 {
    padding-top: 25px !important;
  }

  .mT-5 {
    margin-top: 5px !important;
  }

  .mT-10 {
    margin-top: 10px !important;
  }

  .mT-15 {
    margin-top: 15px !important;
  }

  .mT-20 {
    margin-top: 20px !important;
  }

  .mT-25 {
    margin-top: 25px !important;
  }

  .mT-30 {
    margin-top: 30px !important;
  }

  .mT-40 {
    margin-top: 40px !important;
  }

  .mT-50 {
    margin-top: 50px !important;
  }

  .mT-60 {
    margin-top: 60px !important;
  }

  .mT-70 {
    margin-top: 70px !important;
  }

  .mT-80 {
    margin-top: 80px !important;
  }

  /*--------------------------------------------------------------
# our-vision
--------------------------------------------------------------*/
  .our-vision-wrap {
    color: #333;
    padding: calc(90/750 * 100vw) 0;
    background-color: #fff;
  }

  .our-vision-wrap.is-add-border {
    padding-top: 0;
    margin-top: calc(90/750 * 100vw);
  }

  .our-vision {
    width: calc(660/750 * 100vw);
    margin: 0 auto;
  }

  .our-vision-wrap.is-add-border .our-vision {
    border-top: 1px solid #e5e5e5;
    padding-top: calc(90/750 * 100vw);
  }

  .our-vision-head {
    width: calc(215/750 * 100vw);
    height: calc(61/750 * 100vw);
  }

  .our-vision-body {
    margin-top: calc(20/750 * 100vw);
  }

  .our-vision-thum {
    width: 100%;
  }

  .our-vision-thum img {
    height: auto;
  }

  .our-vision-text-area {
    margin-top: calc(60/750 * 100vw);
  }

  .our-vision-text-area-heading {
    text-align: left;
    font-size: calc(38/750 * 100vw);
    line-height: 1;
  }

  .our-vision-text-wrap {
    margin-top: calc(35/750 * 100vw);
  }

  .our-vision-text-wrap>*+* {
    margin-top: calc(15/750 * 100vw);
  }

  .our-vision-text {
    text-align: left;
    font-size: calc(24/750 * 100vw);
    line-height: 1.8;
  }

  /* =========================================================
review
========================================================= */
  .review {
    padding-bottom: 20px;
  }

  .review-heading {
    font-weight: 700;
    font-size: 20px;
    text-align: center;
    line-height: 1;
  }

  .review-body {
    margin-top: 30px;
  }

  .review-body>*+* {
    margin-top: 30px;
  }

  .review-box {
    box-sizing: border-box;
    width: 100%;
    background-color: #fafafa;
    padding: 20px 20px 25px;
  }

  /* .review-box-head{
	display: flex;
	justify-content: space-between;
} */

  .review-box-heading {
    display: flex;
    align-items: center;
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .review-box-heading span {
    font-weight: 700;
  }

  .review-box-heading svg {
    margin-right: 20px;
  }

  .review-box-heading .small-text {
    font-size: 15px;
  }

  .review-box-star-list {
    margin-top: 20px;
    padding: 20px 0;
    border-top: 1px solid #cfcfcf;
    border-bottom: 1px solid #cfcfcf;
  }

  .review-box-star-list>*+* {
    margin-top: 10px;
  }

  .review-box-star-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .review-box-star-item-text {
    font-size: 13px;
    margin-right: 15px;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1;
  }

  .review-box-star {
    display: flex;
    align-items: center;
  }

  .review-box-star svg {
    margin-right: 7px;
    width: 87px;
    height: 16px;
  }

  .review-box-star-num {
    font-size: 13px;
    font-weight: 700;
  }

  .review-box-body {
    margin-top: 20px;
  }

  .review-box-subheading {
    font-size: 16px;
    font-weight: 700;
  }

  .review-box-text-wrap {
    margin-top: 20px;
  }

  /*--------------------------------------------------------------
add 2023.9
--------------------------------------------------------------*/
  .sec01-cont dd sup,
  .sup-small {
    font-size: 70%;
    vertical-align: top;
  }

  .add-caution2023 {
    margin-top: -15px;
    padding: 0 20px;
    position: relative;
    color: #fff;
  }

  .caution2023-info dt {
    font-size: 2.8vw;
  }

  .caution2023-info dd {
    padding: 2vw 0 0;
  }

  .caution2023-info .is-lead {
    font-size: 3vw;
  }

  .caution2023-info .is-lead+.is-lead {
    padding-top: .5em;
  }

  .caution2023-info .is-lead-sub {
    text-indent: -1em;
    padding: 0 0 0 1em;
    font-size: 2.8vw;
  }

  .block-request-fixed {
    display: none;
    width: 100%;
    padding: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 9999;
    transition: .4s;
  }

  .block-request-fixed a {
    display: block;
  }

  .block-request-fixed.js-hide {
      opacity: 0;
      transition: .4s;
  }


  .block-feature {
    position: relative;
  }

  .block-feature .feature-image {
    position: relative;
  }

  .block-feature .feature-image:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -10px;
    right: 0;
    background: url(../img/sp_img_dot.png) left top repeat;
    background-size: 8px auto;
  }

  .block-feature .feature-image img {
    position: relative;
    z-index: 1;
  }

  .block-feature .box-info {
    padding: 15px 15px 30px;
    text-align: left;
  }

  .block-feature .box-info .info-text {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    padding: 3px 8px;
    border: 2px solid #333333;
    display: inline-block;
  }

  .block-feature .box-info .design-title {
    width: 80%;
  }

  .block-feature .wrap-title {
    position: relative;
    margin-bottom: 30px;
  }

  .block-feature .wrap-title:after,
  .block-feature .wrap-title:before {
    content: "";
    position: absolute;
  }

  .block-feature .wrap-title:before {
    width: 90%;
    height: 240px;
    top: 0;
    left: 0;
    background: url(../img/sp_img_dot.png) left top repeat;
    background-size: 8px auto;
    z-index: 1;
  }

  .block-feature .wrap-title:after {
    width: 90%;
    height: 210px;
    background: #fff;
    top: 30px;
    left: 30px;
    z-index: 2;
  }

  .block-feature .space-title {
    padding: 50px 10px 0 30px;
    position: relative;
    font-size: 16px;
    font-weight: 700;
    z-index: 3;
  }

  .block-feature .space-title:before {
    content: "";
    width: 60%;
    height: 80px;
    position: absolute;
    left: 10px;
    top: 10px;
    border-left: 1px solid #1a1a1a;
    border-top: 1px solid #1a1a1a;
  }

  .block-feature .box-text {
    z-index: 5;
    position: relative;
    padding: 0 20px 40px;
  }

  .block-feature .box-text .space-text {
    position: relative;
    display: block;
    margin: 0 5px 20px 0;
  }

  .block-feature .box-text .space-text:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 10px;
    left: 10px;
    background: #fff600;
  }

  .block-feature .box-text .space-text span {
    display: block;
    position: relative;
    background: #fafafa;
    padding: 30px;
  }

  /*--------------------------------------------------------------
add 2023.12
--------------------------------------------------------------*/
  .add-caution2023-bottom {
    margin-top: 4vw;
    padding: 0 20px;
    position: relative;
    color: #000;
    padding-bottom: 60px;
  }

}

@media screen and (max-width: 767px) {
  .isSp {
    display: block;
  }

  .isPc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .isPc {
    display: block;
  }

  .isSp {
    display: none;
  }
}