@charset "utf-8";
/* CSS Document */
/* ベースのリセット */
* {
  box-sizing: border-box;
}
html, body, table, th, td, dl, dt, dd, ul, ol, li, p, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}
html {
  font-family: var(--font_got);
  color: var(--font_bla);
  scroll-behavior: smooth;
  letter-spacing: 0.15em;
  /*line-height: 1.8;*/
  font-feature-settings: "palt";
  font-size:1.15em;
}
ul{
  list-style-type: none;
}
em, address {
  font-style: normal;
}
p{
  /*letter-spacing: 0.1em;*/
  letter-spacing: 0.05em;
  line-height: 1.8;
}
a {
  text-decoration: none;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.sp{display: none;}
.sp_1000{display: none;}
.indent{
  padding-left: 1em!important;
  text-indent: -1em!important;}
.ls_1{
  letter-spacing: 1em!important;
  margin-right: -1em!important;
  white-space:nowrap;
}
.ls_05{
  letter-spacing: 0.5em!important;
  margin-right: -0.5em!important;
}
.t_left{text-align: left;display: block;}
.t_right{text-align: right;display: block;}
.t_cen{text-align: center;}
.t_jus{text-align: justify;}
.mt0{margin-top: 0!important;}
.mb0{margin-bottom: 0!important;}
.ml0{margin-left: 0!important;}
.mr0{margin-right: 0!important;}
.pt0{padding-top: 0!important;}
.pb0{padding-bottom: 0!important;}
.pl0{padding-left: 0!important;}
.pr0{padding-right: 0!important;}
.pt05{padding-top: 0.5em!important;}
.pb05{padding-bottom: 0.5em!important;}
.pl05{padding-left: 0.5em!important;}
.pr05{padding-right: 0.5em!important;}

.flex_cen_row{display: flex;justify-content: center;}
.flex_cen_col{display: flex;align-items: center;}
.fade_in {
  opacity: 0!important;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade_in.show {
  opacity: 1!important;
  transform: translateY(0);
}
.fade_del_1{transition-delay: 0.1s;}
.fade_del_2{transition-delay: 0.2s;}
.fade_del_3{transition-delay: 0.3s;}
.fade_del_4{transition-delay: 0.4s;}
.fade_del_5{transition-delay: 0.5s;}
.fade_del_6{transition-delay: 0.6s;}
.fade_del_7{transition-delay: 0.7s;}
.fade_del_8{transition-delay: 0.8s;}
.fade_del_9{transition-delay: 0.9s;}
.fade_del_10{transition-delay: 1s;}
.fade_del_11{transition-delay: 1.1s;}
.fade_del_12{transition-delay: 1.2s;}
.fade_del_13{transition-delay: 1.3s;}
.fade_del_14{transition-delay: 1.4s;}
.fade_del_15{transition-delay: 1.5s;}
.fade_del_16{transition-delay: 1.6s;}
.fade_del_17{transition-delay: 1.7s;}
.fade_del_18{transition-delay: 1.8s;}
.fade_del_19{transition-delay: 1.9s;}
.fade_del_20{transition-delay: 2s;}



:root{
  --font_got:"Noto Sans JP", serif;
  --font_min:"Noto Serif JP", serif;
  --font_faq:"Noto Serif JP", serif;
  --color_bla:#333;
  --color_blu:#32aac8;
  --color_blu_rgb:50,170,200;/*#32aac8*/
  --color_blu_btn:#0082be;
  --color_gra_whi:#f2f2f2;
  --color_btn_blu:#0082be;

  --color_blu_gra: linear-gradient(
    90deg,
    hsl(199deg 100% 37%) 0%,
    hsl(197deg 100% 38%) 20%,
    hsl(195deg 100% 38%) 40%,
    hsl(194deg 84% 42%) 60%,
    hsl(193deg 71% 46%) 80%,
    hsl(192deg 60% 49%) 100%
  );
  --color_red_gra: linear-gradient(
    330deg,
    hsl(356deg 66% 45%) 0%,
    hsl(1deg 61% 51%) 20%,
    hsl(5deg 69% 54%) 40%,
    hsl(8deg 78% 57%) 60%,
    hsl(11deg 88% 60%) 80%,
    hsl(14deg 100% 62%) 100%
  );
  --color_gre_gra: linear-gradient(
    330deg,
    hsl(128deg 52% 47%) 0%,
    hsl(111deg 45% 50%) 20%,
    hsl(98deg 48% 50%) 40%,
    hsl(89deg 50% 50%) 60%,
    hsl(80deg 53% 51%) 80%,
    hsl(73deg 54% 51%) 100%
  );
  --color_blu_gra_hov: linear-gradient(
    270deg,
    hsl(199deg 100% 37%) 0%,
    hsl(197deg 100% 38%) 20%,
    hsl(195deg 100% 38%) 40%,
    hsl(194deg 84% 42%) 60%,
    hsl(193deg 71% 46%) 80%,
    hsl(192deg 60% 49%) 100%
  );
  --color_red_gra_hov: linear-gradient(
    150deg,
    hsl(356deg 66% 45%) 0%,
    hsl(1deg 61% 51%) 20%,
    hsl(5deg 69% 54%) 40%,
    hsl(8deg 78% 57%) 60%,
    hsl(11deg 88% 60%) 80%,
    hsl(14deg 100% 62%) 100%
  );
  --color_gre_gra_hov: linear-gradient(
    150deg,
    hsl(128deg 52% 47%) 0%,
    hsl(111deg 45% 50%) 20%,
    hsl(98deg 48% 50%) 40%,
    hsl(89deg 50% 50%) 60%,
    hsl(80deg 53% 51%) 80%,
    hsl(73deg 54% 51%) 100%
  );
  --color_blu_btn_gra: linear-gradient(
    80deg,
    hsl(199deg 100% 37%) 0%,
    hsl(197deg 100% 38%) 20%,
    hsl(195deg 100% 38%) 40%,
    hsl(194deg 84% 42%) 60%,
    hsl(193deg 71% 46%) 80%,
    hsl(192deg 60% 49%) 100%
  );

  --top_height:103px;
}

h2{
  display: inline-block;
  font-size: 2.25rem;
  font-family: var(--font_min);
  font-weight: 400;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid var(--color_blu);
  letter-spacing: 0.2em;
}

header{
  width: 100%;
}
nav{
  width: 100%;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
}
nav div{
  display: flex;
  justify-content: space-between;
  gap: 1ch;
  height: var(--top_height);
  background-color: var(--color_gra_whi);

  & h1{
    width:410px;
    height: 100%;
    background-color: #9b9b9b;
    display:flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 0.5rem;

    & img{
      padding: 1rem;
    }
    & a.nurse-link {
    width: 110px;
    height: 100%;
    font-size: clamp(16px, calc(10px + 0.87vw), 20px);
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align:center;
    background-color: var(--color_blu);
    color: #fff;
    text-decoration: none;
    }
  }
  & ul{
    display: inherit;
  }
}

/*--ヘッダーナビの中央リンクボタン3つ--*/
nav .nav_page_link{
  max-width: 1100px;
  align-items: end;
  margin: 0 auto;

  & li{
	font-size:0.8em;
    position: relative;
    margin: 0em 1em;
    border-radius: 20px 20px 0 0;
    padding: 1em 2em;
    overflow: hidden;
    transition: opacity 0.2s ease;

    &::after{
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 0;
      transition: height 0.3s ease;
      background-image: var(--color_blu_gra);
    }
    & a{
      z-index: 10;
      position: relative;
      color: inherit;
      transition: color 0.2s ease, opacity 0.2s ease;
    }
  }
  & li:hover{
    font-weight: 600;
    opacity: 0.9;

    &::after{
      height: 100%;
    }

    & a{
      color: #fff;
    }
  }
}
/*--ヘッダーナビの右側リンクボタン3つ--*/
nav .nav_cont_link{
  align-items: center;
  margin-right: 0;
  margin-left: 0;

  & li{
    width:100px;
  }
  & li:nth-child(2) {
  border-left: 1px solid rgba(50,170,200,0.50);
}
  & li:nth-child(3) {
  border-left: 1px solid rgba(50,170,200,0.50);
}
  & li a{
    height: 64px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    color:var(--color_blu);
    font-size: 0.75rem;
    transition: opacity 0.2s ease;
    letter-spacing: 0.1em;

    & img{
      height: 25px;
      margin-bottom: 0.75rem;
    }
    &:hover{
      opacity: .6;
    }
  }
  & li:not(:first-child) img{
      height: 34px;
    }
}

/*ヘッダーナビ右のメニュー*/
nav .menu_content{
  background: var(--color_blu);
  color: #fff;
  width: 110px;
  justify-content: center;
  align-items: center;
}

.top_main_img{
  width: 100%;
  height: 600px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  background-image: url("../img/main_img.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left top;

  & h2{
    font-size: clamp(2vw, 3vw, 3.5rem);
    margin-bottom: 0.5em;
    letter-spacing: 0.15em;
    border-bottom: none;
    line-height: 1.5;
    padding-left: 45%;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.5);
  }
  & p{
    padding-left: 45%;
    text-shadow: 2px 2px 4px rgba(255, 255, 255, 0.5);
  }
}

/*右側固定の応募フォームとLINEリンクボタン*/
.fixed-box{
  position: fixed;
  flex-direction: column;
  display: flex;
  justify-content: flex-end;
  top: 150px;
  right: 50px;
  gap: 30px;
  z-index: 1000;
  transition: right 0.3s ease, gap 0.3s ease;

  & a{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 145px;
    height: 145px;
    color: #fff;
    font-weight: 600;
    border-radius: 50%;
    background: var(--color_red_gra);
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition:  box-shadow 0.2s ease, transform 0.3s ease, width 0.3s ease, height 0.3s ease;
    box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.30);

    &:hover{
      box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.30);
    }
  }
  & a:nth-child(2){
    background: var(--color_gre_gra);

    .entry_form{
      font-size: 1.4rem;
      letter-spacing: 0.2em;
      padding-left: 0.2em;
      font-weight: 600;
      text-align:center;
    }
  }
  & a:last-child{
    background: var(--color_blu_gra);

    .entry_form{
      font-size: 1.1rem;
      letter-spacing: 0.1em;
      padding-left: 0.2em;
      font-weight: 600;
    }
  }
  & a::before {
    content: "";
    position: absolute;
    inset: 0;
    background:  var(--color_red_gra_hov);
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    z-index: -1;
  }
  & a:nth-child(2)::before{
    background:  var(--color_gre_gra_hov);
  }
  & a:last-child::before{
    background:  var(--color_blu_gra_hov);
  }
  & a:hover:before{
    opacity: 1;
  }
  .entry_form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  }
  .entry_form img {
    width: 40px;
    height: 40px;
  }
}
/*スクロールで60％*/
.fixed-box.small {
  right: 0;
  gap: 0;
}
.fixed-box.small a {
  transform: scale(0.7);
}
.fixed-box.no-transition {
  transition: none !important; /* 最初の描画時はアニメーションなし */
}

.fixed-box.hidden {
  display: none !important; /* 768px以下で非表示 */
}

/*ハンバーガーメニュー-------------------*/
.menu_content a{
  transition: opacity .3s ease;}
.menu_content a:hover{opacity: 0.6;}



.c-hamburger-menu {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}



.c-hamburger-menu__input {
  display: none;
}
.c-hamburger-menu__button-mark {
  background-color: #fff;
  display: block;
  height: 3px;
  transition: 0.3s;
  width: 42px;
}
.c-hamburger-menu__button-text {
  color: #fff;
  font-size: 14px;
  margin-top: 5px;
  letter-spacing: 1px;
}
/*メニューの中身*/
.c-hamburger-menu__list {
  background-color: var(--color_blu);
  opacity: 0.9;
  align-items: center;
  display: flex;
  flex-direction: column;
  left: 0;
  padding: 1rem;
  position: fixed;
  z-index: -1;
  opacity: 0;
  transform: translateY(-100%);
  transition: 0.3s;
  top: var(--top_height);
  left: 0;
  width: 100vw;
  height: auto;
}
#hamburger:checked ~ .c-hamburger-menu__list {
  transform: translateY(0);
  opacity: 1;
}

.c-hamburger-menu__button {
  align-items: center;
  appearance: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  justify-content: center;
  width: 100%;
  margin-right: 0.5rem;
}
#hamburger:checked
  ~ .c-hamburger-menu__button
  .c-hamburger-menu__button-mark:nth-of-type(1) {
  transform: translate(6px, 1px) rotate(45deg);
  transform-origin: 0%;
}
#hamburger:checked
  ~ .c-hamburger-menu__button
  .c-hamburger-menu__button-mark:nth-of-type(2) {
  opacity: 0;
}
#hamburger:checked
  ~ .c-hamburger-menu__button
  .c-hamburger-menu__button-mark:nth-of-type(3) {
  transform: translate(6px, 5px) rotate(-45deg);
  transform-origin: 0%;
}
  /*右メニュー中身*/
.nav_page_link_hamb{
  display: none;
}

.nav_hamb_link{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
    gap: 20px 20px;
    padding: 20px 60px 40px;
    width: 100%;
    max-width: 1100px;
}
.nav_hamb_link li a{
  color: #fff;
}

/*ハンバーガーメニュー　end*/




/*main section---------------------------------------------------*/


/*--セクション共通--*/
articla{
  width: 100%;
}

section{
  width: 100%;
  background-color: #fff;
  text-align: center;
  padding:85px 0;

  & > div{
    width: 1100px;
    margin: 0 auto;
  }
}

#news,#faq,#message,#recruit,#second .in_job, #footer{
  background-color: var(--color_gra_whi);
}
#program{
  background-image: var(--color_blu_gra);
}


/*news---------------*/

#news .news_wrap{
  height: 235px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 70px;
  position: relative;

  & h2{
    font-size: 2.5rem;
    font-family: var(--font_got);
    color: var(--color_blu);
    border-bottom: none;
    margin-right: 90px;
    flex-shrink: 0;
  }
  & dl{
    /*width: 100%;*/
    flex: 1;
    height: 100%;
    overflow-y: auto;
    display: flex;
    flex-direction: column;

    .news-item {
      display: flex;
      /*align-items: center;*/
      padding: 1em;
      border-bottom: 1px solid var(--color_bla);
      text-align: justify;

      & dt {
        width: 200px;
        flex-shrink: 0;
      }
      & dd {
        flex-grow: 1;
      }
    }
  }
}
#news .news_wrap::before{
  content: "";
  position: absolute;
  height: 85%;
  width: 10px;
  border-radius: 10px;
  background: linear-gradient(
    70deg,
    hsl(199deg 100% 37%) 0%,
    hsl(197deg 100% 38%) 20%,
    hsl(195deg 100% 38%) 40%,
    hsl(194deg 84% 42%) 60%,
    hsl(193deg 71% 46%) 80%,
    hsl(192deg 60% 49%) 100%
  );
  top: auto;
  bottom: auto;
  left: 10px;
}

/* スクロールバーを非表示 */
#news dl::-webkit-scrollbar {
  display: none;
}

/* スクロールボタン */
.news-scroll-btn {
  position: absolute;
  right: 10px;
  cursor: pointer;
  width: 25px;
  height: 20px;
  color: var(--color_blu);
  user-select: none;
  background-image: url(../img/arrow_blu.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.news-scroll-up {
  top: 5px;
  transform: rotate(-90deg);
}
.news-scroll-down {
  bottom: 5px;
  transform: rotate(90deg);
}
/*news-end--------------*/

/*about----------------*/
#about > div{
  display: flex;
  align-items: center;
  gap:100px;

  .about_img{
    img{min-width: 300px;}
  }

  .about_text{
    flex-direction: column;
    text-align: left;

    & p{
      margin-bottom: 50px;
      line-height: 3em;
    }

    & span{
      white-space: nowrap;
    }
  }
}

/*about message program 共通*/
.link_btn_blue{
  position: relative;
  display: inline-block;
  width: 342px;
  color: var(--color_blu_btn);
  font-size: 1.25rem;
  font-weight: 600;
  border: 2px solid var(--color_blu_btn);
  border-radius: 38px;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 1em;
  background: #fff;
  transition: .3s ease;

  &:hover{
    background: var(--color_blu_btn_gra);
    color: #fff;
    /*border: 2px solid transparent;*/

  }
  &::before{
    content: "";
    background-image: url("../img/arrow_blu.svg");
    position: absolute;
    width: 16px;
    height: 29px;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
  }
  &:hover::before{
    background-image: url("../img/arrow_whi.svg");
  }
}
/*about end---------------------*/

/*message-----------------------*/

#message {
  & p{
    margin: 1em auto 1.5em;
  }
  & ul{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 65px;

    & li{
      height: 460px;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      width: 32%;
      background-color: #fff;
      border: 1px solid var(--color_blu);
      border-radius: 10px;
      text-align: center;
      font-size: 1.2rem;
      transition: box-shadow .2s ease-out, opacity 0.6s ease-out, transform 0.6s ease-out;
      box-shadow: 10px 10px 0px 0px rgba(0,0,0,0.10);

      &:hover{
        box-shadow: 0px 0px 0px 0px rgba(0,0,0,0.10);
      }
      &:hover a{
        transform: scale(1.05);
        transform-origin: center;
      }

      & a{
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        padding: 35px 0 30px 0;
        justify-content: flex-end;
        align-items: center;
        transition: .2s ease;

        & img{
          width: 45%;

        }
        & span{
          font-size: 1.6rem;
          font-family: var(--font_min);
          color: var(--color_blu_btn);
          margin: 65px auto;

        }

      }
    }
    & li:nth-child(2) {
      align-self: center;
      a img{
        width: 50%;
      }
    }
  }
}
#message ul li a .message_arrow{
  width: 62px;
  height: 62px;
}

/*message end--------------------*/

/*program------------------------*/
#program{
  & > div{
    background-color: #fff;
    border-radius: 10px;
    padding: 60px 0 50px;

    & p{
      margin: 1em auto 1.5em;
    }
  }
}

/**program end-------------------*/

/*recruit-------------------------*/
#recruit{
  & letter-spacing: 0.1em;
  & h2{
    margin-bottom: 35px;
  }
  & h3{
    color: var(--color_blu);
    text-align: left;
    font-size: 1.6rem;
    padding: 0.5em;
  }
  & div dl{
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid var(--color_blu);
    border-bottom: 1px solid var(--color_blu);
    line-height: 1.8;
    margin-bottom: 80px;

    & dt, & dd{
      padding: 28px 20px;
      text-align: left;
    }
    & dt{
      width: 27%;
      color: var(--color_blu);
    }
    & dd{
      width: 73%;
      margin-left: 0;

      .dd_item{
        border: none;
        margin-bottom: 0;

        & dt,& dd{
          color:var(--color_bla);
          width: auto;
          padding: 0;
          border: none;
        }
      }
      .link_btn_blue{
        width: auto;
        color: #fff;
        font-size: 1rem;
        font-weight: 400;
        border: none;
        border-radius: 20px;
        padding: 0.5em 1.5em 0.5em 1em;
        background: var(--color_blu_gra);
        margin-top: 1em;

        &:hover{
          background: #fff;
          color: var(--color_blu);
          outline: 1px solid var(--color_blu_btn);
        }
        &::before{
          background: url("../img/arrow_whi.svg") no-repeat;
          background-size: cover;
          position: absolute;
          width: 8px;
          height: 15px;
          top: 50%;
          transform: translateY(-50%);
          right: 8px;
        }
        &:hover::before{
          background: url("../img/arrow_blu.svg") no-repeat;
          background-size: cover;
        }
      }
    }
    & dt:not(:last-of-type),& dd:not(:last-of-type) {
      border-bottom: 1px solid rgba(50, 170, 200, 0.50);
    }
  }
  & dl:last-of-type {
    margin-bottom: 0px;
  }
}
/*recruit end--------------------*/

/*entry--------------------------*/
#entry{
  & > div > p{
    margin: 1em auto 1.5em;
  }
  .entry_wrap{
    background-color: var(--color_gra_whi);
    border-radius: 26px;
    padding: 23px;
    display: flex;

    & > div{
      width: 50%;
      text-align: left;
      padding: 0 62px;

      & h3{
        color: var(--color_blu);
        width: 170px;
        border-bottom: 1px solid var(--color_blu);
        font-size: 24px;
        padding-bottom: 0.25em;
        text-align: center;
        letter-spacing: 0.1em;
        margin: 0 auto;
      }
    }
    & > div:first-of-type{
      border-right: 1px solid var(--color_blu);

      & div{
        padding-top: 45px;

        & address{
          font-weight: 600;

          & h4{
            font-size: 1.25rem;
            margin: 2rem auto 1rem;
          }
          & p{
            line-height: 2;
          }
        }
      }
    }
    & > div:last-of-type{

      & p{
        line-height: 2;
      }
    }
  }
  .entry_chk{
    text-align: left;
    position: relative;
    margin: 1em 23px;

    &::before{
      position: absolute;
      content: "";
      background: url("../img/check.svg") no-repeat;
      background-size: cover;
      width: 20px;
      height: 20px;
      top: 50%;
      transform: translateY(-50%);
      left: -23px;

    }
  }
}

/*応募フォームボタン共通*/

.mail_link_btn, .form_link_btn, .line_link_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px auto 20px;
  /*width: 340px;*/
  width: 100%;
  height: 75px;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
  border-radius: 38px;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 1em;
  transition: .2s ease;
  opacity: 1;

  &:hover{
    opacity: .6;
  }

  & div{
    position: relative;
    display: inline-block;
    margin-left: 1.5em;

    &::before{
      content: "";
      background-repeat: no-repeat;
      background-size: cover;
      position: absolute;
      width: 24px;
      height: 24px;
      top: 50%;
      transform: translateY(-50%);
      left: -40px;
    }
  }
}
.mail_link_btn{
  background: var(--color_blu_gra);

  & div{

    &::before{
      background-image: url("../img/icon_mail.svg");
      width: 36px;
      height: 21px;
      left: -50px;
    }
  }
}
.form_link_btn{
  background: var(--color_red_gra_hov);

  & div{

    &::before{
      background-image: url("../img/icon_pen.svg");
    }
  }
}
.line_link_btn{
  background: var(--color_gre_gra_hov);

  & div{
    margin-left: 0;
  }
}
/*entry-end---------------------*/

/*contact-----------------------*/
#contact{
  padding: 0 0 85px 0;

  & > div > p{
    margin: 1em auto 1.5em;
  }

  & dl{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;

    & dt{
      width: 210px;
      padding: 1em;
      background-color: #707070;
      color:#fff;
      font-size: 1.25rem;
      border-radius: 30px;
      margin-right: 20px;

      & span{
        position: relative;
        letter-spacing: 0.5em;
        margin-left:1em;

        &::before{
          position: absolute;
          content: "";
          background: url("../img/icon_tell.svg") no-repeat;
          background-size: cover;
          width: 23px;
          height: 25px;
          top: 50%;
          transform: translateY(-50%);
          left: -40px;
        }
      }
    }
    & dd{
      text-align: start;
      line-height: 1.8;

      & b{
        font-size: 1.25rem;
        margin-left: -0.5em;
      }
      & span{
        font-size: 0.875rem;
      }
    }
  }
  .content_link_wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;

    & a{
      width: 30%;
    }
  }
}

/*contact end-------------------*/
/*main end------------------------------------------------------------------*/


/*footer*/
footer{
  padding: 80px;
  background-color: var(--color_gra_whi);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  & address{
    width: 550px;
    flex-shrink: 0;

    & img{
      width: 250px;
    }
    & span{
      display: inline-block;
    }
  }
  .footer_contact{
    padding-left: 35px;

    & > p{
      margin-bottom: 1em;
    }


/*-------------------*/
    & dl{
      display: flex;
      align-items: center;
      justify-content: flex-start;
      margin-bottom: 10px;

      & dt{
        width: 85px;
        height: 31px;
        display: flex;
        align-items: center;
        padding: 0.5em;
        margin-right: 10px;
        background-color: #707070;
        color:#fff;
        font-size: 0.75rem;
        border-radius: 30px;
        justify-content: center;

        & span{
          position: relative;
          margin-left:2em;

          &::before{
            position: absolute;
            content: "";
            background: url("../img/icon_tell.svg") no-repeat;
            background-size: cover;
            width: 15px;
            height: 17px;
            top: 50%;
            transform: translateY(-50%);
            left: -25px;
          }
        }
      }
      & dd{
        text-align: start;
        line-height: 1.1;

        & p{
          display: flex;
          flex-direction: column;
          line-height: 1.5;
        }

        & b{
          font-size: 0.8rem;
        }
        & span{
          font-size: 0.7rem;
        }
      }
    }
/*-------------*/
  }
}




.footer_link_wrap {
  flex-grow: 1; /* 残りの幅をすべて埋める */
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}

.footer_link_wrap ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  width: 95%;
  margin-top: 0.5rem;
}
.footer_link_wrap ul li {
  text-align: left;
}
.footer_link_wrap a{
  color: var(--color_bla);
  font-size: 0.875rem;
}
footer .content_link_wrap{
  display: flex;
}
footer .mail_link_btn, footer .form_link_btn, footer .line_link_btn {
  margin: 10px 10px 0px 0px;
  width: 118px;
  height: 31px;
  font-size: 0.65rem;
  padding: 0.5em;

  & div{
    position: relative;
    display: inline-block;
    &::before{
      width: 14px;
      height: 14px;
      left: -20px;
    }
  }
}
footer .mail_link_btn{
  background: var(--color_blu_gra);

  & div{
    &::before{
      background-image: url("../img/icon_mail.svg");
      width: 22px;
      height: 13px;
      left: -30px;
    }
  }
}
.footer_logo{
  display: flex;
  align-items: center;
  margin-bottom: 30px;

  & img{
    margin-right: 1em;
  }
}
.footer_under{
  display: flex;
  justify-content: flex-end;
  gap:10px;
  margin-bottom: 1.5rem;

  & a{
    height: 50px;

    & img{
      height: 35px;
    }
  }
}


@media (max-width: 1600px) {

/*nav---------*/
nav h1{
  width: 350px;
}

nav .nav_page_link li{
  margin: 0em 0.5em;
  padding: 1em 1em;
}

nav .nav_cont_link {

  &li {
    width: 80px;

    & a{
      font-size: 0.7rem;
    }
  }
}


}/*1600px end*/

@media (max-width: 1400px) {
.nav_page_link a span {
  display: block;
}
.footer_link_wrap ul {
  grid-template-columns: repeat(2, 1fr);
}


}/*1400px end*/


@media (max-width: 1240px) {

nav .nav_page_link {
  display: none;
}


nav .nav_page_link_hamb{
  display: flex;
  align-items: center;
  gap:40px;
  margin-top: 40px;
  padding-bottom: 20px;
}
nav .nav_page_link_hamb li a{
  color: #fff;
  font-size: 1.1rem;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #fff;
}
nav .nav_cont_link {
  margin-left: auto;
}
section{
  & > div{
    width: 90%;
  }
}
header .top_main_img{
  height: 450px;

  & p{
    padding-left: 40%;
  }
}
header .top_main_img h2{
  padding-left: 40%;
  margin-top: -5rem;
}

/*news--------*/
#news .news_wrap h2 {
  margin-right: 50px;
}

#news .news_wrap {
  & dl {
    & .news-item {
      align-items: flex-start;
      flex-direction: column;

      & dt {
        width: 150px;
        margin-bottom: 0.5em;
      }
    }
  }
}
footer address {
  width: 440px;
  flex-shrink: 0;
}
footer .footer_logo{
  flex-direction: column;
  align-items: flex-start;
}
footer .footer_logo span{
   margin-left: 2.5em;
}


}/*1240px-end*/

@media (max-width: 960px) {

html {
  font-size: 80%; /* 文字サイズだけ小さくする */
}

.nav_hamb_link{
  grid-template-columns: repeat(2, 1fr);
}
header .top_main_img {
  background-position: left 20% top;
}
header .top_main_img h2 {
  margin-top: -12rem;
}

#message ul li{
  height: 360px;
}
#message ul li a span{
  margin: 45px auto;
}

#news .news_wrap {
  padding: 20px 50px;
}

#about > div {
  gap: 50px;
  flex-direction: column;
}


}/*960px end*/


@media (max-width: 768px) {
  .pc{display: none!important;}
  .sp{display: block;}

  :root{
      --top_height:80px;
  }

  section {
    padding: 65px 0;
  }
  h2{
    font-size: min(6vw, 2rem);
  }
  nav .nav_page_link_hamb {
    flex-direction: column;
    gap: 30px;
  }
  nav .nav_hamb_link {
    text-align: center;
    padding: 40px 40px 50px;
  }
  nav .nav_cont_link{
    display: flex;
    margin-left: 0;
  }
  nav .nav_cont_link li a{
    color:#fff;
  }
  nav .nav_cont_link {
    & li:nth-child(2) {
        border-left: 1px solid rgba(255,255,255,0.50);
        border-right: 1px solid rgba(255,255,255,0.50);
    }
  }
  nav .menu_content {
    width: 80px;
  }
  nav .c-hamburger-menu__button {
    gap: 8px;
  }
  nav .c-hamburger-menu__button-mark {
    height: 2px;
    width: 35px;
  }
  nav .c-hamburger-menu__button-text {
    font-size: 12px;
    margin-top: 0px;
  }

header .top_main_img {
  justify-content: flex-start;
  background-image: url(../img/main_img_sp.jpg);
  background-position: left 20% top;
  margin-top: 8rem;
  position: relative;
  }
header .top_main_img::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 30%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, #fff, transparent);
  }
header .top_main_img h2 {
  margin-top: -5rem;
  font-size: 2rem;
  padding-left: 10%;
  z-index: 100;
  }
header .top_main_img p {
  padding-left: 10%;
  font-size: min(3vw, 14px);
  z-index: 100;
  }

.link_btn_blue {
    width: 80%;
    font-size: 1.25rem;
}
.link_btn_blue::before {
  width: 11px;
  height: 20px;
  background-size: cover;
  background-repeat: no-repeat;
}


#news .news_wrap {
    height: 200px;
    padding: 20px 50px;
    flex-direction: column;
}
#news .news_wrap h2 {
  margin-right: 0;
  font-size: 1.5rem;
  }
#about .about_img img {
  min-width: 300px;
  width: 80%;
  }
#about > div .about_text {
  text-align: center;
  }
#about .about_text p {
  margin-bottom: 30px;
  text-align: center;
  }
#message ul {
  align-items: center;
  margin-bottom: 40px;
  flex-direction: column;
  }
#message p{
  text-align: justify;
  }
#message ul li{
  height: 150px;
  width: 90%;
  margin-bottom: 1.5em;
  }
#message ul li a{
  flex-direction: row;
  padding: 20px;

  }
#message ul li a img{
  height: 80%;
  width: 25%;
  }
#message ul li a .message_arrow{
  width: 35px!important;
  height: 35px!important;
}
#message ul  li:nth-child(2) a img {
  width: 25%;
  max-width: 30%;
  }
#recruit div dl {
  & dt, & dd {
  padding: 10px;
  width: 100%;
    }
  }
#recruit div dl dt:not(:last-of-type) {
    border-bottom: none;
  }

#recruit div dl dd:not(:last-of-type) {
  border-bottom: 1px solid rgba(50, 170, 200, 0.50);
}
#recruit div dl dd{
  padding-left: 2em;
  padding-bottom: 2em;
}



#entry .entry_wrap {
  padding: 30px;
  flex-direction: column;
  align-items: center;
  }
#entry .entry_wrap > div {
  width: 80%;
  padding: 0;
  }
#entry .entry_wrap > div:first-of-type {
  border-right: none;
  margin-bottom: 5rem;
  }
#entry .entry_wrap > div:first-of-type div{
  padding-top: 30px;
  }
#entry .entry_wrap > div:last-of-type p {
  margin-top: 1rem;
  }
#contact dl {
  flex-direction: column;
}
#contact dl dt {
  width: 60%;
  padding: 1rem;
  margin-right: 0;
  margin-bottom: 1rem;
}
#contact dl dd {
  text-align: center;
}
#contact .content_link_wrap{
  flex-direction: column;
  }
#contact .content_link_wrap a{
  width: 60%;
  }
#contact dl dd span {
  display: block;
}
.mail_link_btn,
.form_link_btn,
.line_link_btn {
  margin: 20px auto 0px;
  height: auto;
  }

footer{
  flex-direction: column;
  padding: 5%;
  }
footer .footer_logo {
  align-items: center;
  }
footer .footer_logo span {
  margin-top: 0.5em;
  }
footer address {
  width: 100%;
  }
footer .footer_contact {
   padding-left: 0;
    }
footer .footer_link_wrap {
  width: 100%;
  margin-top: 3rem;
  }
footer .footer_under a{
  width: 40px;
  }


}/*768px end*/

@media (max-width: 360px) {

  header .top_main_img h2 span:first-of-type {
    display: block;
  }
#message ul li a span {
  font-size: 1.2rem;
  }
#message ul li a .message_arrow {
  width: 30px !important;
  height: 30px !important;
}
#contact dl dt {
  width: 80%;
}
#contact .content_link_wrap a{
  width: 80%;
  }

}/*360px end*/


/*---------------------------------------------------*/
/* second_page
/*---------------------------------------------------*/


#second{
  background-color: rgba(var(--color_blu_rgb),0.1);
}
#second section{
  background-color: #fff;
  max-width: 1300px;
  margin:auto;
  padding: 0 0 100px;
}
#second section#faq{
  scroll-margin-top:150px;
  padding-bottom: 5px;
}
#second section > div{
  background-color: #fff;
  max-width: 750px;
}
#second h2{
  padding: 140px 0.1em 0.4rem 0.3em;
  margin-bottom: 50px;
  position: relative;
}
#second h2::before,#second h2::after{
  content: "";
  position: absolute;
  bottom: -60px;
  left: calc(50% - 1px);
  width: 2px;
  height: 25px;
  border-radius: 9999px;
  background-color: var(--color_blu_btn);
  transform-origin: 50% calc(100% - 1px);
}
#second h2::before{
 transform: rotate(45deg);
}
#second h2::after{
  transform: rotate(-45deg);
}
#second h3{
  display: inline-block;
  font-size: 1.5rem;
  font-family: var(--font_min);
  font-weight: 400;
  padding: 0 0.1em 0.4rem 0.3em;
  border-bottom: 1px solid var(--color_blu_btn);
  letter-spacing: 0.2em;
  margin-bottom: 30px;
}
#second.kango_about ul li,#second.kango_about ol li{
 line-height: 2.4;
}
#second .greeting h4{
  color: var(--color_blu_btn);
  font-size: 2.25rem;
  font-weight: 400;
  font-family: var(--font_min);
  margin: 1em auto;
}
#second .greeting h4 span{
  display: inline-block;
  margin: auto;
}
#second .greeting .text{
  line-height: 2.4;
  margin-bottom: 1.5em;
  text-align:justify;
}
/*#second .greeting p:last-of-type{
  text-align: right;
}*/
#second table {
  width: 100%;
  max-width: 530px;
  margin: 0 auto;
  border-collapse: collapse;
}
#second td {
  padding: 10px;
  border-bottom: 1px solid #ddd;
}
#second .ward-container {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
#second .colon {
  margin: 0 10px;
}
#second .ward-name {
  text-align: left;
  flex-grow: 1;
}
#second td:last-child {
  text-align: right;
}
#second .numbers > div{
  background-color: rgba(var(--color_blu_rgb),0.1);
  border-radius: 10px;
  padding: 60px;
}
#second .numbers > div p{
  margin-bottom: 2rem;
}





#second .staff ul {
  max-width: 660px;
  margin: 0 auto;
  }
#second .staff ul li{
  display: flex;
  border-bottom: 1px solid var(--color_blu_btn);
  align-items: center;
  width: 100%;
  }
#second .staff ul li > span:first-child {
  color: var(--color_blu);
  padding: 0 1em;
  font-size: 2.5rem;
  }
#second .staff ul li p{
  font-family: var(--font_min);
  padding: 1.5em 0;
  }
#second .staff ul li p span {
  display: inline-block;
  }

#second .in_job{
  text-align: center;
  padding: 85px 0;
  }
#second .in_job > div{
  background-color: transparent;
  }
#second .in_job table{
  margin: 3rem auto 2rem;
  max-width: 450px;
  }
#second .in_job table td{
  border-bottom: 1px solid var(--color_bla);
  }
#second .in_job table td span,
#second .in_job .in_job_cont span{
  color: var(--color_blu);
  padding-right: 0.75em;
  }
#second .in_job .in_job_cont{
  background-color: #fff;
  border: 1px solid var(--color_blu);
  border-radius: 10px;
  padding: 1em 2em;
  margin: 2rem auto 0;
  max-width: 500px;
  text-align: left;
  }
#second .in_job .in_job_cont span{
  padding-right: 0;
  }
#second #message > div{
  max-width: 1100px;
  padding: 85px 0 0;
  }
#second #faq > div{
  max-width: 1100px;
  padding: 85px 0 0;
  }




/*-message_third----------------------*/
#second.third_message h2{
/*  padding: 170px 3.1em 1.5em 3.3em;*/
  }
#second.third_message div img{
  max-width: 275px;
  width: 30%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 4rem;
  }
#second .third_message_item:not(:last-of-type) {
  margin-bottom: 7.5rem;
  }
#second .third_message_item h3{
  margin-bottom: 0;
  color: var(--color_blu_btn);
  font-size: 2.25rem;
  border-bottom: none;
  }
#second .third_message_item h3 span{
  display: block;
  padding:1.5em 0 2em;
  color: var(--color_blu_btn);
  font-size: 1.125rem;
  }
#second .third_message_item p{
  text-align: justify;
  }
#second .third_message_link,
#second .third_message_link > div{
  background-color: transparent;
  }
#second .third_message_link > div{
  width: 100%;
  max-width: 100%;
  display: flex;
  justify-content: space-between;
  gap:65px;
  }
#second .third_message_link a{
  width: 50%;
  height: 144px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 100px auto 0;
  position: relative;
  color: var(--color_blu_btn);
  font-size: 1.5rem;
  border: 1px solid var(--color_blu);
  border-radius: 10px;
  background-color: #fff;
  transition:
    box-shadow 0.2s ease-out,
    opacity 0.6s ease-out,
    transform 0.6s ease-out;
  box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.10);
  }
#second .third_message_link a:hover{
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.10);
  }
#second .third_message_link a img{
  width: 60px;
  height: 60px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 28px;
  margin: 0;
  }

/*--教育・研修制度 education--------------------------*/

#second.education .education_policy{
  background: linear-gradient(180deg,
    hsla(199, 100%, 37%, 0.8) 0%,
    hsla(197, 100%, 38%, 0.8) 20%,
    hsla(195, 100%, 38%, 0.8) 40%,
    hsla(194, 84%, 42%, 0.8) 60%,
    hsla(193, 71%, 46%, 0.8) 80%,
    hsla(192, 60%, 49%, 0.8) 100%);
  padding: 0;
}
#second.education .education_policy > div{
  background: linear-gradient(180deg,
    hsl(199deg 100% 37%) 0%,
    hsl(197deg 100% 38%) 20%,
    hsl(195deg 100% 38%) 40%,
    hsl(194deg 84% 42%) 60%,
    hsl(193deg 71% 46%) 80%,
    hsl(192deg 60% 49%) 100%);
  height: 100%;
  padding: 80px 100px;
  color: #fff;
}
#second.education .education_policy ul li > span{
  color: #fff;
}
#second.education .education_policy h3,
#second.education .education_policy li{
  border-bottom: 1px solid #fff;
}
#second.education .education_policy li p{
  text-align: justify;
  padding: 1.5em 0;
}
#second.education .third_education_link {
   background-color: #fff;
 }
#second.education .third_education_link > div{
  flex-direction: column;
  max-width: 750px;
  gap:50px;
}
#second.education .third_education_link > div a{
  width: 100%;
  font-family: var(--font_min);
  margin: auto;
}
#second.education .third_education_link > div a:first-child {
  margin-top: 100px;
}

#second.education .solution ul{
  display: flex;
  gap:0 30px;
/*  margin-top: 1rem;*/
}
#second.education .solution ul li{
  width: 50%;
  font-family: var(--font_min);
}
#second.education .solution ul li h4{
  color:var(--color_blu_btn);
  font-size: 1.25rem;
  font-weight: 400;
  margin: 1.5em 0 0.5em;
}
#second.education .solution ul li h4 small{
  font-size: 0.875rem;
  letter-spacing: 0;
}
#second.education .solution div > p{
  margin-top: 1em;
  font-family: var(--font_min);
}


#second table.education_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
#second .education_table th,
#second .education_table td {
  padding: 30px;
  vertical-align: top;
  text-align: left;
  border-bottom: 1px solid #0082be;
}
#second .education_table th {
  font-weight: bold;
  text-align: center;
  font-size: 1.25rem;
  vertical-align: middle;
  padding: 20px;
}
#second .empty-header {
  background-color: #fff;
  width: 200px; /* 月表示の初期幅 */
  font-size: 1.25rem;
}
#second .month-header {
  background-color: #f2f2f2;
  color: var(--color_blu_btn);
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center!important;
  vertical-align: middle!important;
}
#second .education_training_table .month-header {
  font-size: 1rem;
}
#second .lecture,
#second .practice {
  width: 50%; /* 残りの幅を二等分 */
  padding: 30px;
  line-height: 1.8;
  font-weight: 300;
}
#second .lecture {
  background-color: #fff;
}
#second .practice {
  background-color: rgba(0, 125, 176, 0.03);
}
#second .education_table th:nth-child(2) {
  background-color: #f2f2f2;
  border-right: 2px solid #fff;
}
#second .education_table th:nth-child(3) {
  background-color: rgba(0, 125, 176, 0.1);
}
#second table.education_table {
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
    border-collapse: collapse;
}
#second.third_education section > div {
  max-width: 1300px;
  width: 95%;
}
#second .education_table td:last-child {
    text-align: left;
}
#second .model_img{
  position: relative;
  top: -200px;
  margin-bottom: -200px;
}


@media (max-width: 1350px) {
#second .third_message_link > div{
  width: 90%;
  gap:0 30px;
  }
#second .third_message_link a{
  height: 100px;
  margin: 80px auto 0;
  font-size: 1.25rem;
  padding-right: 20px;
  }
#second .third_message_link a img{
  max-width: 40px;
  right: 20px;
  }
}/*1350px end*/

@media (max-width: 1000px) {
.sp_1000{display: block}

#second .model_img{
  top: -125px;
  margin-bottom: -125px;
  }
}/*1000px end*/

@media (max-width: 750px) {
  #second .third_message_link > div{
    flex-direction: column;
  }
  #second .third_message_link a{
    width: 100%;
    height: 80px;
    margin: 40px auto 0;
    font-size: 1.1rem;
  }
  #second.education .education_policy > div {
    padding: 50px;
  }
  #second.education .third_education_link > div a:first-child {
    margin-top: 50px;
  }
  #second .empty-header {
    width: 20%;
  }
  #second .education_table th, #second .education_table td {
    padding: 15px;
  }
#second .third_message_item h3 {
    font-size: 2rem;
}

}/*750px end*/

@media (max-width: 480px) {
#second h2 {
    padding: 100px 0.1em 0.4rem 0.3em;
    margin-bottom: 0;
}
#second h2::before, #second h2::after {
    bottom: -30px;
    height: 15px;
}

#second .greeting h4{
  color: var(--color_blu_btn);
  font-size: 1.75rem;
  font-weight: 400;
  font-family: var(--font_min);
  margin: 1em auto;
  }
#second .in_job td {
  display: block;
  width: 100%;
  text-align: left;
  }
#second .in_job tr td:first-child  {
  border-bottom: none;
  padding: 10px 10px 0;
  }
#second .in_job td:last-child {
  text-align: right;
  padding: 0 10px 10px;
  }
#second .ward-container {
  flex-direction: column;
  align-items: flex-start;
  }
#second .colon {
  display: none;
  }
#second .numbers > div {
  padding: 30px;
  }
#second .link_btn_blue {
  width: 100%;
  }
#second .staff ul li > span:first-child {
    padding: 0 0.5em;
    font-size: 2rem;
}
#second .staff ul li p{
  font-size: 0.875rem;
  letter-spacing:0;
  }

#second.education .education_policy > div {
  padding: 2em 1em;
  }
#second.education .third_education_link > div {
  gap: 25px;
  }
#second.education .solution ul {
  gap: 30px 0;
  flex-direction: column;
  }
#second.education .solution ul li {
    width: 100%;
  }
#second.education .solution ul li h4 {
    margin: 1em 0 0.5em;
  }
#second.education .solution:last-child ul {
    gap: 20px 0;
  }
#second .empty-header {
    width: 15%;
  }

  #second .education_table {
    display: block;
    width: 100%;
  }
  #second .education_table tr {
    display: block;
    margin-bottom: 10px;
    border: 1px solid #0082be;
  }

  #second .education_table th,
  #second .education_table td {
    display: inline-block;
    width: 100%;
    text-align: left;
    padding: 10px;
  }
  #second .education_table tr:first-child {
    display: none;
  }
  #second .month-header {
    background-color: #f2f2f2;
    font-weight: bold;
    font-size: 1.25rem;
  }
  #second .lecture,
  #second .practice {
    padding: 10px;
    font-weight: 300;
    line-height: 1.6;
  }
  #second .lecture:before,
  #second .practice:before {
    content: attr(data-title);
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    color: #0082be;
  }
  #second .lecture:before {
    content: "講義";
  }
  #second .practice:before {
    content: "演習";
  }
  #second .education_table th.empty-header {
    display: none;
  }
  #second .education_table tr {
    border-bottom: none; /* tr のボーダーを無効化 */
  }
  #second .education_table td {
    border-bottom: 1px solid #0082be; /* td にボーダーを付与 */
  }
  #second .model_img {
    top: -50px;
    margin-bottom: -100px;
  }
}/*480px end*/





dl.accordion {
  margin-bottom:20px;}

dl.accordion dt {
  display: block;
  width: 100%;
  text-align: left;
  cursor: pointer;
  background: #eaf6f9;
  padding: 1em 2em 1em 4em;
  border-radius: calc(2em + (1em / 2));
  transition: color 1s ease-out;
  position: relative;
  overflow: hidden;
  z-index: 0;
}

dl.accordion dt::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--color_blu_gra);
  opacity: 0;
  transition: opacity 1s ease-out;
  z-index: -1;
  border-radius: inherit;
}

dl.accordion dt::before {
  content: 'Q.';
  top:0.35em;
  left:1em;
  font-size:1.5em;
  position: absolute;
  font-family: var(--font_faq);
  font-style:italic;
}

dl.accordion dt .line {
  border-left:1px solid #000;
  padding-left:1em;
  transition: border-left-color 1s ease-out;
}

dl.accordion dt > * {
  position: relative;
  z-index: 1;
}

dl.accordion dt:hover::after,
dl.accordion dt.active::after {
  opacity: 1;
}

dl.accordion dt:hover .line,
dl.accordion dt.active .line{
  border-left:1px solid #fff;
}

dl.accordion dt:hover,
dl.accordion dt.active {
  color: #fff;
}

dl.accordion dd {
  background: #eaf6f9;
  line-height:1.5em;
  width: 100%;
  text-align: left;
  padding: 3em 2em 2em;
  margin-top:0;
  display: none;
  border-bottom-left-radius: calc(20px + (1em / 2));
  border-bottom-right-radius: calc(20px + (1em / 2));
}

dl.accordion dd div{
  position:relative;
  border-left:1px solid #6fc3d8;
  margin-left:2em;
  padding-left:1em;
}

dl.accordion dd div::before {
  content: 'A.';
  top:0;
  color:#6fc3d8;
  left:-1.7em;
  font-size:1.5em;
  position: absolute;
  font-family: var(--font_faq);
  font-style:italic;
}


.nyusyoku-bonus {
  max-width:1100px !important;
  text-align: center;
  padding: 40px !important;
  background-color:rgba(255,255,255,0.9) !important;
  border-radius: 8px;
  font-family: sans-serif;
}

@media (max-width: 640px) {
.nyusyoku-bonus {
  padding: 40px 20px !important;
}
}

.nyusyoku-bonus h2 {
  font-size: 1.5rem;
  border-bottom: 2px solid #00bcd4;
  display: inline-block;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}

.nyusyoku-bonus .desc {
  font-size: 1rem;
  color: #333;
  margin-bottom: 2em;
  line-height: 1.6;
}

.section-title {
  max-width:100% !important;
  position: relative;
  text-align: center;
  margin-bottom: 2em;
  background:none !important;
}

.section-title-text {
  display: inline-block;
  font-weight: bold;
  font-size: 1.5rem;
  color: #333;
  position: relative;
  z-index: 0;
  padding: 0 0.5em;
}

/* テキストにかぶるマーカー風下線 */
.section-title-text::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.6em;
  background: #d6eef4; /* 薄い水色 */
  z-index: -1;
  border-radius: 2px;
}

/* 横線（両サイド） */
.section-title::before,
.section-title::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 35%;
  height: 1px;
  background: #00bcd4;
}

@media (max-width: 800px) {
.section-title::before,
.section-title::after {
  width: 30%;}
}

@media (max-width: 640px) {
.section-title::before,
.section-title::after {
  width: 20%;}
}

@media (max-width: 500px) {
.section-title::before,
.section-title::after {
  display:none;}
}

.section-title::before {
  left: 0;
}

.section-title::after {
  right: 0;
}

.bonus-list {
  max-width:100% !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 2em;
  background:none !important;
}

.bonus-item {
  display:flex;
  flex-wrap:wrap;
  flex-direction:column;
  justify-content:flex-end;
  border: 2px solid #00bcd4;
  border-radius: 20px;
  padding: 20px 10px;
  width: 200px;
  min-height: 120px;
}

.bonus-item .role {
  color: #00bcd4;
  font-weight: bold;
  font-size: 1rem;
  line-height:1.5em;
  margin-bottom: 0.5em;
}

.bonus-item .role.single {
  padding:0.5em 0;
}

.bonus-item .amount {
  font-size: 1.3rem;
  font-weight: bold;
  color: #000;
  white-space:nowrap;
}

.bonus-item .amount span {
  font-size: 2rem;
}

.nyusyoku-bonus .note {
  color: #dc4678;
  font-size: 1rem;
  line-height: 1.6;
}


.form h3{
	width:100%;
	margin-top:50px;
	text-align:left;}

.form dl{
	display:flex;
	flex-wrap:wrap;}

.form dt{
	width:30%;
	text-align:left;
	padding:30px 0;
	box-sizing:border-box;
	border-top:1px solid #c9caca;}

.form dd{
	width:70%;
	text-align:left;
	padding:30px 0;
	box-sizing:border-box;
	border-top:1px solid #c9caca;}

.form dl.tate{
	flex-direction:column;}

.form dl.tate dt{
	width:100%;
	padding:30px 0 0;
	border-top:1px solid #c9caca;}

.form dl.tate dd{
	width:100%;
	padding:15px 0 30px;
	border-top:none;}

.form dd p{
	margin-bottom:0.5em;
	line-height:1.5em;}

.form dd p:last-child{
	margin-bottom:0;}

.form dd ul{
	display:flex;
	flex-wrap:wrap;}

.form dd ul li{
	display:flex;
	flex-wrap:wrap;
	margin-right:20px;}

.form dt.top,
.form dd.top,
.form dl.tate dt.top,
.form dl.tate dd.top{
	padding:0 0 30px;
	border:none;}

.form dl.tate dt.top{
	padding:0 0 15px;}

.form input,select,textarea{
	padding:7px 10px;
	border-radius:10px;
	box-sizing:border-box;
	border:1px solid #c9caca;}

.form input.w7{
	width:7em;
	box-sizing:border-box;}

.form input.w10{
	width:10em;
	box-sizing:border-box;}

.form input.w100,
.form textarea.w100{
	width:100%;
	box-sizing:border-box;}

.wpcf7-form .r10,
.wpcf7-form label{
	margin-right:10px;}

.screen-reader-response p{
	padding-top:1em;
	color:red;}

.screen-reader-response ul{
	display:none;}

.mb1em{
	margin-bottom:1em}

.wpcf7-not-valid-tip{
	display:block;
	color:red;}

.red{
	font-size:0.75em;
	color:#f00;}

.wpcf7-response-output{
	color:#f00;
	padding-top:1em;}

.wpcf7-spinner {
	display: block !important;}

@media (max-width: 640px) {
.form dl{
	flex-direction:column;}

.form dl dt{
	width:100%;
	padding:30px 0 0;
	border-top:1px solid #c9caca;}

.form dl dd{
	width:100%;
	padding:30px 0;
	border-top:none;}+
}