@charset "utf-8";
/* CSS Document */


/* -----------------------------------------
common.css
共通css

＜class名ルール＞
このファイルで使用するclassには以下の接頭語を付加する。
（他のcssファイルでは不要）
・汎用クラス、モジュール：「.c_xxx」（common）
・レイアウト：「.l_xxx」（lyout）
・モジュール：「.m_xxx」（module）
・モジュール内のパーツ：「.p_xxx」（parts）
・モジュールの状態：「.s_xxx」（state）
※JSのみで使用：「.js_xxx」

＜その他ルールなど＞
・モバイルファーストで作成する。

----------------------------------------- */

/*-------------------------------------
CSS変数
---------------------------------------*/

:root {
  /* カラー */
  --color01: #019d67;
  --color02: #00583a;
  --color03: #fff462;
  --color04: #e83421;
  --color05: #005eae;


  /* レイアウト */
  --contentsW: 1366px;
  --innerW: 1140px;
  --sp-innerW: 345px;
}

/* ---------------------------------------------------------------
  reset
--------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: inherit;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
  word-wrap : break-word;
  overflow-wrap : break-word;
  -webkit-print-color-adjust: exact;
  -webkit-text-size-adjust: 100%;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
img {
  vertical-align: top;
  max-width: 100%;
}
h1,h2,h3,h4,h5,h6,th,input,textarea,select {
  font-family: inherit;
  font-size: 100%;
  font-weight: normal;
  outline: none;
}
input, select {
  line-height: 1;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #999;
  padding-top: 0.2em;
}
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #999;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #999;
}
@media screen and (max-width: 767px){
  input::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder {
    font-size: 1.2rem;
  }
  input::-ms-input-placeholder,
  textarea::-ms-input-placeholder {
    font-size: 1.2rem;
  }
  input::-moz-placeholder,
  textarea::-moz-placeholder {
    font-size: 1.2rem;
  }
}

@keyframes onAutoFillStart { from {} to {}}

input:-webkit-autofill {
  animation-name: onAutoFillStart;
  transition: background-color 50000s ease-in-out 0s;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  color: inherit;
  text-decoration: none;
  /*-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; user-select: none;*/
  -webkit-tap-highlight-color: rgba(0,0,0,0); tap-highlight-color: rgba(0,0,0,0);
}

a:hover {
  text-decoration: none;
}

html {
  overflow-y: scroll;
}

sub {
  vertical-align: 0;
  line-height: 1.0em;
}
sup {
  vertical-align: 0.3em;
  line-height: 1.0em;
}
*,*::before,*::after {
  box-sizing: border-box;
}
button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* ---------------------------------------------------------------
  set
--------------------------------------------------------------- */
html {font-size: 62.5%;}
body{
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: "palt" 1;
  font-size: 140%;
  color: #333;
  line-height:1.625;
  min-width: 375px;
  font-weight: 500;
}
@media screen and (min-width: 768px),print {
  body {
    font-size: 160%;
  }
}
.l_noScriptWarning {
  padding: 10px 10px 8px;
  text-align: center;
  color: #fff;
  background-color: #666;
  line-height: 1.2;
}

/* ---------------------------------------------------------------
  汎用クラス common
--------------------------------------------------------------- */
/* margin ----- */
.c_mt00{margin-top:0px !important;}
.c_mt03{margin-top:3px !important;}
.c_mt05{margin-top:5px !important;}
.c_mt10{margin-top:10px !important;}
.c_mt15{margin-top:15px !important;}
.c_mt20{margin-top:20px !important;}
.c_mt25{margin-top:25px !important;}
.c_mt30{margin-top:30px !important;}
.c_mt35{margin-top:35px !important;}
.c_mt40{margin-top:40px !important;}
.c_mt45{margin-top:45px !important;}
.c_mt50{margin-top:50px !important;}
.c_mt60{margin-top:60px !important;}
.c_mt70{margin-top:70px !important;}

.c_mr00{margin-right:0px !important;}
.c_mr03{margin-right:3px !important;}
.c_mr05{margin-right:5px !important;}
.c_mr10{margin-right:10px !important;}
.c_mr15{margin-right:15px !important;}
.c_mr20{margin-right:20px !important;}
.c_mr25{margin-right:25px !important;}
.c_mr30{margin-right:30px !important;}
.c_mr35{margin-right:35px !important;}
.c_mr40{margin-right:40px !important;}
.c_mr45{margin-right:45px !important;}
.c_mr50{margin-right:50px !important;}
.c_mr60{margin-right:60px !important;}
.c_mr70{margin-right:70px !important;}

.c_ml00{margin-left:0px !important;}
.c_ml03{margin-left:3px !important;}
.c_ml05{margin-left:5px !important;}
.c_ml10{margin-left:10px !important;}
.c_ml15{margin-left:15px !important;}
.c_ml20{margin-left:20px !important;}
.c_ml25{margin-left:25px !important;}
.c_ml30{margin-left:30px !important;}
.c_ml35{margin-left:35px !important;}
.c_ml40{margin-left:40px !important;}
.c_ml45{margin-left:45px !important;}
.c_ml50{margin-left:50px !important;}
.c_ml60{margin-left:60px !important;}
.c_ml70{margin-left:70px !important;}

.c_mb00{margin-bottom:0px !important;}
.c_mb03{margin-bottom:3px !important;}
.c_mb05{margin-bottom:5px !important;}
.c_mb10{margin-bottom:10px !important;}
.c_mb15{margin-bottom:15px !important;}
.c_mb20{margin-bottom:20px !important;}
.c_mb25{margin-bottom:25px !important;}
.c_mb30{margin-bottom:30px !important;}
.c_mb35{margin-bottom:35px !important;}
.c_mb40{margin-bottom:40px !important;}
.c_mb45{margin-bottom:45px !important;}
.c_mb50{margin-bottom:50px !important;}
.c_mb60{margin-bottom:60px !important;}
.c_mb70{margin-bottom:70px !important;}

/* padding ----- */
.c_pt00{padding-top:0px !important;}
.c_pr00{padding-right:0px !important;}
.c_pl00{padding-left:0px !important;}
.c_pb00{padding-bottom:0px !important;}

/* clearfix -----  */
.c_clearfix { zoom: 1; }
.c_clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0.01px;
}

/* flot ----- */
.c_floL{float:left !important;}
.c_floR{float:right !important;}
.c_ofH {overflow: hidden !important;}

/* text-align ----- */
.c_taL{text-align:left !important;}
.c_taR{text-align:right !important;}
.c_taC{text-align:center !important;}
@media screen and (min-width: 768px),print {
  .c_pcTaL { text-align: left !important; }
  .c_pcTaR { text-align: right !important; }
  .c_pcTaC { text-align: center !important; }
}

/* vertical-align ----- */
.c_vaT{vertical-align:top !important;}
.c_vaM{vertical-align:middle !important;}
.c_vaB{vertical-align:bottom !important;}

/* position ----- */
.c_posR{position:relative;}
.c_posA{position:absolute;}
.c_posS{position:static;}
.c_posF{position:fixed;}

.c_z10{z-index:10;}

/* display ----- */
.c_block{display:block !important;}
.c_iBlock{display:inline-block !important;}
.c_hide{display:none !important;}

.c_flex { display: flex !important; }
.c_flex.s_spBlock { display: block !important; }
.c_flex.s_between { justify-content: space-between; }
.c_flex.s_around  { justify-content: space-around; }
.c_flex.s_center  { justify-content: center; }
.c_flex.s_alignStart { align-items: flex-start; }
.c_flex.s_alignCenter { align-items: center; }
.c_flex.s_alignEnd { align-items: flex-end; }
.c_flex.s_alignBase { align-items: baseline; }
.c_flex.s_wrap { flex-wrap: wrap; }

@media screen and (min-width: 768px),print {
  .c_flex.s_spBlock { display: flex !important; }
}

/* responsive ----- */
@media screen and (max-width: 767px){
  .c_onlyL { display: none !important; }
}
@media screen and (min-width: 768px),print{
  .c_onlyS { display: none !important; }
}

/* center ----- */
.c_center{
  margin-left: auto !important;
  margin-right: auto !important;
  display:block !important;
}

/* width -----  */
.c_liquid { width: 100% !important; }

/* font -----  */
.c_font20 { font-size: 2.0rem !important; }  /* 20px */
.c_font19 { font-size: 1.9rem !important; }  /* 19px */
.c_font18 { font-size: 1.8rem !important; }  /* 18px */
.c_font17 { font-size: 1.7rem !important; }  /* 17px */
.c_font15 { font-size: 1.5rem !important; }  /* 15px */
.c_font14 { font-size: 1.4rem !important; }  /* 14px */
.c_font13 { font-size: 1.3rem !important; }  /* 13px */
.c_font12 { font-size: 1.2rem !important; }  /* 12px */
.c_font11 { font-size: 1.1rem !important; }  /* 11px */
.c_font10 { font-size: 1.0rem !important; }  /* 10px */

.c_fontH { font-weight: 900 !important; }
.c_fontB { font-weight: bold !important;}
.c_fontN { font-weight: normal !important;}

.c_colorRed { color:  #f00 !important; }
.c_colorWhite { color:  #fff !important; }

.c_notes01 {
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.c_notes01::before {
  content: "※ ";
}
.c_textHasIcon01 {
  /*
  「※」等のあとに半角スペースを入れる
  （例）
  <p class="co_textHasIcon01">● ダミーテキストダミーテキストダミーテキストダミーテキストダミーテキスト</p>
  */
  text-indent: -1.3em;
  padding-left: 1.3em;
}

.c_lineLL { line-height: 2 !important; }
.c_lineL  { line-height: 1.8 !important; }
.c_lineS  { line-height: 1.3 !important; }
.c_lineSS { line-height: 1 !important; }

.c_breakall { word-break: break-all !important; }
.c_nowrap { white-space: nowrap !important; }

.c_underline { text-decoration: underline; }

/* link -----  */
.c_textLink {
  text-decoration: underline;
  cursor: pointer;
}
.c_textLink:hover { text-decoration: none; }

.c_textLink02 {
  text-decoration: none;
  cursor: pointer;
}
.c_textLink02:hover { text-decoration: underline; }

@media screen and (min-width: 768px) {
  .c_fadeOver {
    -webkit-transition: 0.3s opacity;
        transition: 0.3s opacity;
    backface-visibility: hidden;
    cursor: pointer;
  }
  .c_fadeOver:hover {
    opacity: 0.6;
  }
}

/* ------------------------------------------------------------ */
/* lyout(.l_xxx)
--------------------------------------------------------------- */
/* l_header
------------------------*/
.l_header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 50px;
  z-index: 10;
  background-color: #fff;
}
.l_header-inn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding: 0 15px;
}
.l_header-left {
  width: 153px;
}
.l_header-right {
  display: flex;
  align-items: center;
}
.l_header-right-img {
  width: 30px;
  margin-right: 10px;
}
.l_header-right-text {
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.25;
}
@media screen and (max-width: 767px){
  /* s_top */
  html.s_top .l_header-right {
    padding-right: 35px;
  }
}
@media screen and (min-width: 768px) {
  .l_header {
    height: 100px;
  }
  .l_header-inn {
    max-width: var(--contentsW);
    margin: 0 auto;
    padding: 20px 30px;
  }
  .l_header-left {
    width: 327px;
    padding: 0;
  }
  .l_header-right-text {
    font-size: 2.0rem;
  }
}


/* l_footer
------------------------*/
.l_footer {
  position: relative;
}
.l_footer-top {
  background-color: #00583a;
  color: #fff;
  padding: 30px 15px;
}
.l_footer-top-title01 {
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
}
.l_footer-top-link-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}
.l_footer-top-link-list-item {
  /*display: inline-block;*/
  margin-top: 20px;
}
.l_footer-top-link-list-item:first-child {
  width: 100%;
}
.l_footer-top-link-list-item:nth-child(2) {
  margin-right: 40px;
}
.l_footer-top-link-list-item:nth-child(3) {
  margin-left: 40px;
}
.l_footer-top-inn-note {
  font-size: 1.0rem;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .l_footer-top {
    padding: 50px 30px;
  }
  .l_footer-top-inn {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  .l_footer-top-title01 {
    font-size: 2.4rem;
    text-align: left;
  }
  .l_footer-top-inn-note {
    margin-top: 10px;
  }
  .l_footer-top-link-list {
    text-align: left;
    justify-content: flex-start;
    margin-top: 30px;
  }
  .l_footer-top-link-list-item {
    margin-right: 40px;
  }
  .l_footer-top-link-list-item:first-child {
    width: auto;
  }
  .l_footer-top-link-list-item:nth-child(3) {
    margin-left: 0;
  }
}
.l_footer-bottom {
  padding: 10px 15px;
}
.l_footer-bottom-inn {
  display: flex;
  justify-content: center;
  align-items: center;
}
.l_footer-bottom-inn-img-wrap {
  width: 20px;
  margin-right: 6px;
}
.l_footer-bottom-inn-img {
  vertical-align: middle;
}
.l_footer-bottom-inn-text {
  font-weight: bold;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .l_footer-bottom {
    padding: 20px 30px;
  }
  .l_footer-bottom-inn-img-wrap {
    width: 32px;
    margin-right: 10px;
  }
  .l_footer-bottom-inn-text  {
    font-size: 2.0rem;
  }
}
.l_pagetop-btn {
  position: absolute;
  bottom: 50px;
  right: 20px;
  width: 35px;
  height: 35px;
  opacity: 0.6;
}
.l_pagetop-btn.s_fixed {
  position: fixed;
  top: auto;
  bottom: 50px;
}

@media screen and (min-width: 768px) {
  .l_pagetop-btn {
    width: 70px;
    height: 70px;
    transition: 0.3s opacity;
  }
  .l_pagetop-btn:hover {
    opacity: 1;
  }
}


/* l_pageArea
------------------------*/
.l_pageArea {
  overflow: hidden;
  min-height: 100vh;
  position: relative;
  margin: 0 auto;
  padding-top: 50px;
}
@media screen and (min-width: 768px){
  .l_pageArea {
    min-width: 1200px;
    padding-top: 100px;
  }
}

/* l_main
------------------------*/
.l_main {
  padding: 0 15px 100px;
  background: url(/library/kenshou/img/202411/main_bg_01.png) repeat;
  background-size: 15px 15px;
  position: relative;
  z-index: 0;
}
.l_main::before,
.l_main::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  margin: auto;
}
.l_main::before {
  background: url(/library/kenshou/img/202411/main_bg_02_sp.png) no-repeat center top;
  background-size: 100%;
}
.l_main::after {
  background: url(/library/kenshou/img/202411/main_bg_03_sp.png) no-repeat center bottom;
  background-size: 100%;
}
.l_main a {
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .l_main {
    padding: 0 30px 100px;
  }
  .l_main::before,
  .l_main::after {
    max-width: var(--contentsW);
  }
  .l_main::before {
    background-image: url(/library/kenshou/img/202411/main_bg_02_pc.png);
  }
  .l_main::after {
    background-image: url(/library/kenshou/img/202411/main_bg_03_pc.png);
  }
  .l_main a:hover {
    text-decoration: none
  }
}

/* l_breadcrumbs
------------------------*/
.l_breadcrumbs {
  background-color: #f2f2f2;
  padding: 8px 15px;
}
.l_breadcrumbs > ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 1.2rem;
  line-height: 1.5;
  max-width: var(--innerW);
  margin: 0 auto;
}
.l_breadcrumbs > ol > li {
  position: relative;
}
.l_breadcrumbs > ol > li:not(:last-child) {
  margin-right: 12px;
}
.l_breadcrumbs > ol > li + li {
  padding-left: 20px;
}
.l_breadcrumbs > ol > li + li:before {
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid #b8b8b8;
  border-right: 1px solid #b8b8b8;
  transform: rotate(45deg);
  margin: auto 0;
}
.l_breadcrumbs > ol > li > a:hover {
  text-decoration: underline;
}
.l_breadcrumbs > ol > li:last-child > span {
  color: var(--color01);
}
@media screen and (min-width: 768px){
  .l_breadcrumbs {
    padding: 13px 30px;
  }
}

/* l_pageTitle
------------------------*/
.l_pageTitle {
  background-color: var(--color01);
  padding: 5px 15px;
}
.l_pageTitle-inner {
  max-width: var(--innerW);
  margin: 0 auto;
}
.l_pageTitle-title {
  color: var(--color03);
  font-size: 23px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (min-width: 768px){
  .l_pageTitle {
    padding: 9px 30px;
  }
  .l_pageTitle-title {
    font-size: 36px;
  }
}

/* ------------------------------------------------------------ */
/* module(.m_xxx)
--------------------------------------------------------------- */

.m_btn-bg01,
.m_btn-bg02,
.m_btn-bg03 {
  display: block;
  color: #fff;
  border-radius: 3px;
  text-align: center;
  text-decoration: none !important;
}
.m_btn-bg01 {
  border: 1px solid #00583a;
  background: linear-gradient(to bottom, rgba(133,208,95,1) 0%,rgba(55,154,5,1) 100%);
}
.m_btn-bg02 {
  border: 1px solid #d55700;
  background: linear-gradient(to bottom, rgba(247,139,64,1) 0%,rgba(235,99,3,1) 100%);
}
.m_btn-bg03 {
  border: 1px solid #004772;
  background: linear-gradient(to bottom, rgba(0,118,187,1) 0%,rgba(1,78,123,1) 100%);
}
@media screen and (min-width: 768px) {
  .m_btn-bg01,
  .m_btn-bg02,
  .m_btn-bg03 {
    border-radius: 6px;
  }
}
/* contents ====================== */
.m_contentsW {
  max-width: 1200px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .m_contentsW {
    padding-left: 30px;
    padding-right: 30px;
  }
}

.m_contentsBox01 {
  border-radius: 12px;
  background-color: #f3f3f3;
  border: 2px solid var(--color05);
  margin-top: 50px;
  margin-bottom: 50px;
}
.m_contentsBox01.s_bg01 {
  background-color: #fff;
}
.m_contentsBox01-title01 {
  background-color: var(--color05);
  text-align : center;
}
.m_contentsBox01-title01:first-child {
  border-radius: 6px 6px 0 0;
}
.m_contentsBox01-body {
  padding: 20px 18px 50px;
}
@media screen and (min-width: 768px) {
  .m_contentsBox01-body {
    padding: 30px 50px 50px;
  }
}
/* ====================== contents */

/* font ===================== */
.m_fontL   { font-size: 1.6rem; }
@media screen and (min-width: 768px),print {
  .m_fontL   { font-size: 2.0rem; }
}
.m_color01 {
  color: var(--color05);
}
/* ===================== font */

/* list ====================== */
.m_list-circle01 > li {
  position: relative;
  padding-left: 1em;
}
.m_list-circle01 > li + li {
  margin-top: 3px;
}
.m_list-circle01 > li::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  position: absolute;
  top: 9px;
  left:0;
  background-color: var(--color05);
}
@media screen and (min-width: 768px),print {
  .m_list-circle01 > li::before {
    width: 12px;
    height: 12px;
    top: 11px;
  }
}
/* ====================== list */


/* ------------------------------------------------------------ */
