/* ==========================================================================
   Global styles
   ========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

:root {
  --color-white: #ffffff;
  --color-red: #df0024;
  --color-blue: #0091d5;
  --color-orange: #eb870e;
  --color-primary-text: #333333;
  --color-green: #71a736;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-weight: 400;
  font-style: normal;
  color: var(--color-primary-text);
  font-feature-settings: "palt";
  line-break: strict;

  /* ゆっくり遷移 */
  scroll-behavior: smooth;
  scroll-padding-top: 5em;
}

body {
  min-height: 100vh;
  background: var(--color-white);
  line-height: 1.5;
  word-break: normal;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  color: var(--color-blue);
  text-decoration: underline;
  transition: opacity .3s ease-in-out;
}

a:hover {
  opacity: .6;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture,
svg {
  max-width: 100%;
  display: block;
}

img {
  height: auto;
  vertical-align: middle;
}

input,
button,
textarea,
select {
  font: inherit;
}


@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms;
    scroll-behavior: auto;
  }
}


/* ==========================================================================
   Layout
   ========================================================================== */

body {
/*  padding-bottom: min(15.09vw, 166px);*/

  background-size: min(100%, 1300px);
  background-repeat: no-repeat;
  background-position: bottom;
}

.header_inner {
  width: min(90vw, 1000px);
  padding: 10px 40px 10px min(2vw, 50px);
  gap: 20px;
  display: block;
}


.footer_inner {
  display: block;
    /*  height: min(10vw, 30px);*/
  background-image: url("../img/footer.jpg");
  background-repeat: no-repeat;
    background-position: bottom;
      
}

.footer_inner img{
    margin:0 auto;
padding-top:15vh;
}

.footer_txt{
    margin:0 auto;
    text-align: center;
}

.copy{
    margin-top:5vh;
    text-align: center;
    
}
.kv_img_wrap {
  position: relative;
  overflow: hidden;
}

.kv_img_wrap img {
  width: 100%;
  max-width: 1300px;
  height: auto;
  margin: 0 auto;
}



/* ハンバーガーメニュー */
.menu-btn {
  position: fixed;
  top: min(4vw, 40px);
  right: min(4vw, 70px);
  display: flex;
  height: min(8vw, 55px);
  width: min(8.4vw, 60px);
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.5);
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 90;
}

.menu-btn span,
.menu-btn span::before,
.menu-btn span::after {
  content: '';
  display: block;
  height: 4px;
  width: min(6vw, 40px);
  border-radius: 3px;
  background-color: #333;
  position: absolute;
  transition: all 0.3s ease;
}

.menu-btn span::before {
  bottom: min(2vw, 12px);
}

.menu-btn span::after {
  top: min(2vw, 12px);
}


/* メニューオープン時 */
.menu-btn.is-open span {
  background-color: transparent;
}

.menu-btn.is-open span::before {
  bottom: 0;
  transform: rotate(45deg);
}

.menu-btn.is-open span::after {
  top: 0;
  transform: rotate(-45deg);
}


/* メニュー本体 */
.menu-content {
  width: 30vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: -30vw;
  z-index: 80;
  background-color: rgba(113, 167, 54, 0.9);
  transition: left 0.3s ease;
  overflow-y: auto;
}

.menu-content.is-open {
  left: 0;
}


/* メニューリスト */
.menu-content ul {
  padding: 120px 10px 0;
  margin: 0;
}

.menu-content ul li {
  border-bottom: solid 1px #ffffff;
  list-style: none;
}

.menu-content ul li a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-size: clamp(14px, 1.8vw, 16px);
  color: #ffffff;
  text-decoration: none;
  padding: 9px 15px 10px 0;
  position: relative;
}

.menu-content ul li a::before {
  content: "";
  width: 7px;
  height: 7px;
  border-top: solid 2px #ffffff;
  border-right: solid 2px #ffffff;
  transform: rotate(45deg);
  position: absolute;
  right: 11px;
  top: 16px;
}




/*--------------- 見出し ---------------*/

.inner_blk {
  width: min(90.9vw, 1000px);
  margin: 0 auto;
}

.inner_blk+.inner_blk {
  margin-top: min(6.3vw, 69.3px);
}

.midashi_underline {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: min(2.427vw, 26.7px);
  padding-bottom: 8px;
  border-bottom: min(.4545vw, 5px) solid var(--color-green);
}

.midashi_b {
  display: inline-block;
  font-size: clamp(24px, 6vw, 36px);
  margin: 0 20px 0px 20px;
  font-weight: 700;
  vertical-align: baseline;
}

.midashi_s {
  display: inline-block;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
}


.slash {
  display: inline-block;
  position: relative;
  padding-right: .5em;
}

.slash::before {
  display: inline-block;
  content: "";
  position: absolute;
  right: -.25em;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1em;
  height: min(.109vw, 1.2px);
  box-sizing: border-box;
  background-color: var(--color-primary-text);
  transform: rotate(-75deg);
}

.fc_red {
  color: var(--color-red);
}

.ti_07em {
  font-size: clamp(15px, 1.8vw, 18px);
  padding-left: .7em;
  text-indent: -.7em;
}

.ti_1em {
  font-size: clamp(15px, 1.8vw, 18px);
  padding-left: 1em;
  text-indent: -1em;
}

.bold_b {
  font-weight: 700;
}


.sq {
  font-size: 0.4em;
  color: var(--color-green);
  vertical-align: middle;
}

.fontsize_08 {
  font-size: 0.8em;
}

.close {
  font-size: clamp(14px, 1.6vw, 16px);
  font-weight: 600;
  color: var(--color-red);
  vertical-align: baseline;
}

.material-symbols-outlined {
  vertical-align: -25%;
  font-variation-settings:
    'FILL' 0,
    'wght' 400,
    'GRAD' 0,
    'opsz' 24
}

.under01 {
  border-bottom: solid 2px var(--color-primary-text);
}

.hidden {
  display: none;
}

.mojihaba01 {
  letter-spacing: .5em;
}

.mojihaba02 {
  letter-spacing: .2em;
}

.mojihaba03 {
  letter-spacing: .1em;
}



/*--------------- 改行位置調整 ---------------*/
.br_sp {
  display: none;
}

@media (max-width: 760px) {
  .br_sp {
    display: block;
  }
}


.br_sp_off {
  display: block;
}

@media (max-width: 760px) {
  .br_sp_off {
    display: none;
  }
}

/* --- 産業カウンセラーとは --- */
.about {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
}

.about p {
  line-height: 1.8;
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.8;
  text-align: justify;
}

.grade-buttons {
  display: flex;
  justify-content: space-between;
  width: min(90vw, 1000px);
  margin: 0 auto;
  box-sizing: border-box;
  gap: clamp(15px, 3vw, 40px);
}

.btn-grade {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(50% - (clamp(15px, 3vw, 40px) / 2));
  height: min(8vw, 75px);
  background-color: #000000;
  color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: opacity 0.3s ease;
}

.btn-grade2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(50% - (clamp(15px, 3vw, 40px) / 2));
  height: min(8vw, 75px);
  background-color: #000000;
  color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  opacity: 0.4;
}

.btn-grade:hover {
  opacity: 0.5;
}

.btn-text {
  flex: 1;
  text-align: center;
  font-size: clamp(18px, 2.1vw, 24px);
  font-weight: 500;
  letter-spacing: .1em;
}

.btn-arrow {
  position: relative;
  width: min(8vw, 80px);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-arrow2 {
  position: relative;
  width: min(8vw, 80px);
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn-arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  bottom: 10%;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.6);
}

.btn-arrow2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10%;
  bottom: 10%;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.6);
}

.btn-arrow::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  transform: rotate(45deg);
  margin-left: -5px;
}

.btn-arrow2::after {
  content: "";
  display: block;
  width: 30px;
  height: 1.6px;
  border: 1.6px solid #ffffff;
  margin-left: -5px;
}

@media (max-width: 640px) {
  .grade-buttons {
    width: 100%;
    flex-direction: column;
    gap: 15px;
  }

  .btn-grade {
    width: 100%;
    height: 60px;
  }

    .btn-grade2{
     width: 100%;
    height: 60px;       
        
    }

  .btn-arrow {
    width: 60px;
  }

  .btn-arrow::after {
    width: 10px;
    height: 10px;
    border-width: 2px;
  }
}




/* --- お知らせ --- */
.news-box {
  border: 2px solid #cccccc;
  border-radius: 15px;
  height: 200px;
  background-color: #ffffff;
  padding:1vh 3vw;
}

.news-box p{
    font-size: 120%;
    
}

.news-box p .date{
    font-weight: 600;
}
.news-box a {
  color: var(--color-blue);
  text-decoration: underline;
  transition: opacity .3s ease-in-out;
}


.news_underline {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: min(4vw, 40px);
  margin-bottom: min(5vw, 26.7px);
  padding-bottom: min(4vw, 12px);
  border-bottom: min(.4545vw, 5px) solid var(--color-green);
  font-size: clamp(24px, 5vw, 34px);
  line-height: 1;
  letter-spacing: .5em;
}

.news_underline::before,
.news_underline::after {
  content: "◆";
  font-size: 0.4em;
  color: var(--color-green);
  vertical-align: middle;
}



/* 矢印ボタン */
.arrow-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 54px;
  height: 36px;
  background-color: var(--color-primary-text);
  color: var(--color-white);
  border-radius: 18px;
  text-decoration: none;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 400;
  transition: opacity 0.2s;
}

.arrow-btn:hover {
  opacity: 0.4;
}

.kouza_syuryo {
  padding-top: .5em;
}

.atesaki {
  margin-top: 0.4em;
}

.txt_mailaddress {
  white-space: nowrap;
  font-size: 130%;
  color: var(--color-green);
}

/*--------------- ボタン ---------------*/

.btn_area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.btn_default {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(65vw, 505px);
  min-height: min(8vw, 55px);
  padding: min(2vw, 8px) min(2vw, 8px) min(2vw, 8px) 0;
  text-decoration: none;
  color: var(--color-white);
  font-size: clamp(13px, 1.9vw, 19px);
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
  font-weight: 600;
  line-height: 1.2;
  margin-top: min(.6vw, 6px);
  margin-bottom: min(1vw, 10px);
}

.wideplus {
  width: min(90vw, 505px);
}
.widesmall {
  width: min(40vw, 300px);
    display: flex;
}

.btn_default.fs19 {
  font-size: clamp(13px, 1.9vw, 19px);
}

.btn_default::before,
.btn_default::after {
  position: absolute;
  content: '';
  display: inline-block;
  right: min(2vw, 15px);
  top: 0;
  bottom: 0;
  margin: auto;
}

.btn_default::before {
  width: min(3.5vw, 23px);
  height: min(3.5vw, 23px);
  background: #fff;
  border-radius: 50%;
}

.btn_default::after {
  width: min(1.8vw, 11px);
  height: min(2.4vw, 15px);
  right: min(2.5vw, 20px);
  -webkit-mask-image: url(../img/icon_arrow.svg);
  mask-image: url(../img/icon_arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;

  /*background: url(../img/icon_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;*/
}

.bg_stripeR {
  background: url(../img/bg_stripeR.png) center / cover no-repeat;
}

.bg_stripeG {
  background: url(../img/bg_stripeG.png) center / cover no-repeat;
}

.bg_stripeB {
  background: url(../img/bg_stripeB.png) center / cover no-repeat;
}

.bg_gradationO {
  background: url(../img/bg_gradationO.png) center / cover no-repeat;
}

.btn_default.bg_stripeR::after {
  background-color: var(--color-red);
}

.bg_stripeG::after {
  background-color: var(--color-green);
}

.bg_stripeB::after {
  background-color: var(--color-blue);
}

.bg_gradationO::after {
  background-color: var(--color-orange);
}

.btn_default>span {
  position: relative;
  display: inline-block;
}

.btn {
  margin: 100px, auto, 20%, 0;
}

/*--------------- アイコン ---------------*/
.icon_pdf,
.icon_excel,
.icon_word {
  padding-right: min(6vw, 48px);
}

.icon_pdf::before,
.icon_excel::before,
.icon_word::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: min(4.1vw, 28.7px);
  height: min(5vw, 35px);
  background: url(../img/icon_pdf.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.icon_excel::before {
  background: url(../img/icon_xsl.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.icon_word::before {
  background: url(../img/icon_word.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.btn_adjust01 .icon_pdf {
  padding-right: min(5vw, 60px);
}

.btn_adjust02 {
  padding-right: 1.2em;
}

.btn_adjust02 .icon_pdf {
  padding-right: min(3.9vw, 43px);
}


/*--------------- 見出し矢印 ---------------*/
.h_arrow {
  display: block;
  position: relative;
  margin-bottom: -8px;
  font-size: min(3vw, 24px);
  color: #fff;
}

.h_arrow::before {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 0;
  width: min(30vw, 180px);
  height: min(20vw, 60px);
  background: url(../img/head_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom left;
  z-index: -1;
}

.jihaba01 {
  display: inline-block;
  padding-left: min(2.2vw, 20px);
  letter-spacing: .3em;
  text-align: center;
}

.jihaba02 {
  display: inline-block;
  padding-left: min(2.2vw, 20px);
  letter-spacing: 1em;
  text-align: center;
}

.jihaba03 {
  display: inline-block;
  padding-left: min(2.2vw, 15px);
  letter-spacing: 0.1em;
  text-align: center;
}

.jihaba04 {
  display: inline-block;
  padding-left: min(2.2vw, 15px);
  letter-spacing: 0;
}


/*--------------- 受験要項 list ---------------*/
.li_sideDotte {
  display: flex;
  flex-wrap: wrap;
}

.li_sideDotte>li {
  width: calc(100% - 22.7%);
  margin-bottom: min(5vw, 34px);
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 400;
}

.li_sideDotte .strong {
  font-size: clamp(17px, 2.1vw, 22px);
  font-weight: 700;
  display: inline-block;
  margin-bottom: min(1vw, 6px);
}

.li_sideDotte .strong+p {
  margin-top: .2em;
}


.li_sideDotte>li:not([class]) {
  padding: min(.363vw, 4px) 0;
  padding-left: min(2.2vw, 20px);
}

.li_sideDotte li.ttl {
  display: flex;
  align-items: center;
  width: 22.7%;
  border-right: 2.5px dotted var(--color-green);
}

/*--------------- 受験料 ---------------*/
.li_jyukenryo {
  margin: .3em 0;
  font-size: clamp(16px, 1.9vw, 18px);
  font-weight: 600;
}

.li_jyukenryo li {
  padding-left: 8.2em;
  text-indent: -8.2em;
}

.li_jyukenryo li+li {
  padding-top: .15em;
}

.strong+.ti_1em,
.strong+.li_jyukenryo {
  margin-top: .1em;
}

/*--------------- 受験資格 ---------------*/
.li_dotte {
  border-top: 3px dotted #c2c2c2;
}

.li_dotte>li {
  display: flex;
  flex-wrap: wrap;
  padding: min(1.169vw, 12.86px) 0;
  border-bottom: 3px dotted #c2c2c2;
}

.li_dotte>li div.ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22.7%;
  border-right: 3px dotted #c2c2c2;
}

.li_dotte>li div.conte {
  width: calc(100% - 22.7%);
  padding: min(1.607vw, 17.68px) min(2.236vw, 24.6px);
  font-size: clamp(16px, 2vw, 20px);
}

.li_dotte p {
  margin-bottom: 1em;
  line-height: 1.75;
}

.li_diskS {
  margin-bottom: min(1.545vw, 17px);
}

.li_diskS li {
  position: relative;
  padding-left: 1.1em;
  padding-bottom: .3em;
}

.li_diskS li::before {
  position: absolute;
  display: inline-block;
  content: '';
  top: .6em;
  left: .45em;
  width: .2em;
  height: .2em;
  background: var(--color-primary-text);
  border-radius: 50%;
}

.li_kamoku {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: .5em;
  line-height: 1.6;
  font-weight: 500;

}

.li_kamoku li:not([class]) {
  width: calc(100% - 2.4em);
  margin-bottom: .35em;
  padding-left: .5em;
}

.li_kamoku li.ttl {
  position: relative;
  width: 2.4em;
}

.li_kamoku li.ttl::before {
  position: absolute;
  content: '：';
  top: 0;
  right: 0;
}

.jyuken_attention {
  margin: 0 auto min(2vw, 20px) auto;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 400;
  text-align: center;
}

.h_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(16vw, 137px);
  height: min(16vw, 137px);
  background: #d4e7b2;
  border-radius: 50%;
  font-size: clamp(15px, 2.2vw, 24px);
  color: var(--color-green);
  line-height: 1.5;
  letter-spacing: .1em;
  text-align: center;
  position: relative;
  left: -10px;
}

.h_circle_2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: min(16vw, 137px);
  height: min(16vw, 137px);
  background: #d4e7b2;
  border-radius: 50%;
  font-size: clamp(15px, 2.2vw, 24px);
  color: var(--color-green);
  line-height: 1.2;
  letter-spacing: .1em;
  text-align: center;
  position: relative;
  left: -10px;
}

.h_circle_b {
  margin-top: min(2vw, 20px);
  margin-bottom: min(-1.5vw, -15px);
}

.h_circle_s {
  font-size: 0.7em;
  letter-spacing: 0;
  margin-bottom: 10px;
}

/*--------------- コンタクト ---------------*/

#contact_inner {
  margin-top: min(6.3vw, 69.3px);
}

.contact_jyuken_wrap {
  width: 90%;
  margin: 0 auto;
  font-size: clamp(16px, 2vw, 20px);
}

.li_contact_jyuken {
  display: flex;
  flex-wrap: wrap;
  row-gap: .6em;
  margin-top: 1.2em;
}

.li_contact_jyuken li {
  width: calc(100% - 11%);
  padding-left: 1em;
}

.li_contact_jyuken li.ttl {
  position: relative;
  width: 11%;
  padding-left: 0;
  letter-spacing: 1.4em;
  white-space: nowrap;
}

.li_contact_jyuken li.ttl::before {
  position: absolute;
  content: '：';
  top: 0;
  right: 0;
  letter-spacing: 0;
}
/*--------------- 結果 ---------------*/
.result{
    margin: 0 auto;
    position: relative;
    text-align: center;
}

.result_inner{
    display: flex;
    justify-content: space-between;
    margin:3vh auto;
}

.resultbox{
display: block;
    max-width:500px;
    margin: 3vh auto;
    
}
.result_summary_card {
  text-align: center;
}

.result_summary_list {
  display: inline-block;
  text-align: left;
}

/*--------------- 合否結果 ---------------*/

.result_summary {
  width: min(90vw, 900px);
  margin: min(7vw, 70px) auto 0;
  text-align: left;
}

/* 見出し */
.result_summary_heading {
  margin-bottom: min(3vw, 30px);
  padding-bottom: 12px;
  border-bottom: 4px solid var(--color-green);
  text-align: center;
}

.result_summary_heading p {
  margin-bottom: 4px;
  font-size: clamp(14px, 1.8vw, 18px);
  font-weight: 600;
}

.result_summary_heading h3 {
  font-size: clamp(24px, 4vw, 34px);
  font-weight: 700;
  letter-spacing: .2em;
}

/* 学科・実技 */
.result_summary_exam {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: min(3vw, 30px);
}

.result_summary_card {
  overflow: hidden;
  border: 2px solid #d4e7b2;
  border-radius: 12px;
  background-color: var(--color-white);
}

.result_summary_card h4 {
  padding: 12px 20px;
  background-color: var(--color-green);
  color: var(--color-white);
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 700;
  letter-spacing: .1em;
  text-align: center;
}

.result_summary_list {
  padding: min(3vw, 25px);
}

.result_summary_list > div {
  display: grid;
  grid-template-columns: 6em 1fr;
  align-items: center;
  gap: 10px;
}

.result_summary_list > div + div {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 2px dotted #c2c2c2;
}

.result_summary_list dt {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
}

.result_summary_list dd {
  margin: 0;
  font-size: clamp(15px, 1.8vw, 18px);
}

.result_summary_list dd strong {
  margin-right: .15em;
  color: var(--color-green);
  font-size: 1.4em;
}

.result_summary_rate {
  display: block;
  margin-top: 3px;
  font-size: .85em;
}

/* 総合合格者数 */
.result_summary_total {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: min(3vw, 30px);
  margin-top: min(3vw, 30px);
  padding: min(3vw, 25px);
  border-radius: 12px;
  background-color: #f1f7e8;
  text-align: center;
}

.result_summary_total_label {
  font-size: clamp(18px, 2.3vw, 24px);
  font-weight: 700;
}

.result_summary_total_number {
  white-space: nowrap;
}

.result_summary_total_number strong {
  color: var(--color-red);
  font-size: clamp(34px, 5vw, 50px);
  line-height: 1;
}

.result_summary_total_number span {
  margin-left: .25em;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 600;
}

.result_summary_total_rate {
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
}

/* 一部合格者数 */
.result_summary_partial {
  margin-top: min(3vw, 30px);
  padding: min(3vw, 25px);
  border: 2px solid #cccccc;
  border-radius: 12px;
}

.result_summary_partial_title {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 18px;
  padding-bottom: 15px;
  border-bottom: 2px dotted #c2c2c2;
}

.result_summary_partial_title h4 {
  font-size: clamp(18px, 2.3vw, 24px);
}

.result_summary_partial_title p {
  white-space: nowrap;
}

.result_summary_partial-title strong,
.result_summary_partial_title strong {
  margin-right: .2em;
  color: var(--color-green);
  font-size: clamp(26px, 3.5vw, 36px);
}

.result_summary_partial_list {
  width: min(100%, 520px);
  margin: 0 auto;
}

.result_summary_partial_list > div {
  display: grid;
  grid-template-columns: 1fr 6em;
  gap: 20px;
  padding: 5px 0;
  font-size: clamp(15px, 1.8vw, 18px);
}

.result_summary_partial_list dt::before {
  content: "・";
}

.result_summary_partial_list dd {
  margin: 0;
  text-align: right;
  white-space: nowrap;
}

.result_summary_partial_list dd strong {
  margin-right: .2em;
  font-size: 1.2em;
}

/* スマホ */
@media (max-width: 768px) {
  .result_summary {
    width: 100%;
    margin-top: 50px;
  }

  .result_summary_exam {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .result_summary_total {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 25px 15px;
  }

  .result_summary_partial {
    padding: 22px 15px;
  }
}

@media (max-width: 480px) {
  .result_summary_list > div {
    grid-template-columns: 5.5em 1fr;
  }

  .result_summary_partial_title {
    gap: 12px;
  }

  .result_summary_partial_list > div {
    grid-template-columns: 1fr auto;
    gap: 10px;
  }
}

/*--------------- スマホ ---------------*/
@media (max-width: 920px) {
  .midashi_underline {
    flex-direction: column;
  }

  .h_arrow {
    padding-bottom: 0.3em;
    font-size: 1.2em;
  }

  .h_arrow::before {
    bottom: 5px;
    left: 0px;
    width: 160px;
    height: 80px;
    background: url(../img/head_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
    z-index: -10;
  }
.result_inner{
    display: block;
    margin:2vh auto;
}
    .widesmall{
        width:90%;
        margin: 2% auto;
    }   
    
    
}


@media (max-width: 768px) {
  .menu-btn {
    right: 15px;
  }

  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    height: 3px;
  }

  .menu-btn span:before {
    bottom: 8px;
  }

  .menu-btn span:after {
    top: 8px;

  }

  .menu-content {
    width: 60vw;
    left: -60vw;
  }

  .news_underline {
    font-size: 1.8em;
  }

  .about {
    width: 100%;
  }

  .li_sideDotte>li {
    font-size: 1em;
  }

  .li_dotte>li div.conte {
    font-size: 1em;
  }

  .li_sideDotte .strong {
    font-size: 1.1em;
  }

  .h_arrow {
    padding-left: 5px;
    font-size: 1.1em;
  }

  .h_arrow::before {
    position: absolute;
    bottom: 1px;
    width: min(17vw, 125px);
    height: 80px;
    background: url(../img/head_arrow2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
    z-index: -10;
  }

  .li_jyukenryo {
    font-size: 1.1em;
  }

  .li_jyukenryo li {
    padding-left: 1em;
    text-indent: -1em;
  }

  .contact_jyuken_wrap {
    font-size: 1em;
  }

  .li_contact_jyuken li {
    width: calc(100% - 18%);
  }

  .li_contact_jyuken li.ttl {
    width: 18%;
  }

}

@media (max-width: 540px) {
  .h_arrow {
    padding-left: 0;
    font-size: 1em;
  }

  .h_arrow::before {
    width: min(20vw, 100px);
    height: 70px;
    background: url(../img/head_arrow2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
    z-index: -10;
  }

  .jihaba01 {
  .jihaba01 {れす
    display: inline-block;
    padding-left: 10px;
    letter-spacing: .1em;
    text-align: center;
  }

  .jihaba02 {
    display: inline-block;
    padding-left: 10px;
    letter-spacing: .5em;
    text-align: center;
  }

  .jihaba03 {
    margin-right: -1em;
    padding-left: 10px;
    letter-spacing: 0;
    text-align: center;
  }

  .jihaba04 {
    display: inline-block;
    padding-left: 5px;
    letter-spacing: 0;
  }
}

@media (max-width: 420px) {
  .h_arrow {
    padding-left: 5px;
    font-size: 0.8em;
  }

  .h_arrow::before {
    width: min(20vw, 100px);
    height: 50px;
    background: url(../img/head_arrow2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom left;
    z-index: -10;
  }

  .jihaba01 {
    display: inline-block;
    padding-left: 10px;
    letter-spacing: 0;
  }

  .jihaba02 {
    display: inline-block;
    padding-left: 10px;
    letter-spacing: 0.5em;
  }

  .jihaba03 {
    display: inline-block;
    padding-left: 10px;
    letter-spacing: 0;
  }

  .jihaba04 {
    display: inline-block;
    padding-left: 5px;
    letter-spacing: 0;
  }

}