@charset "UTF-8";

/* CSS Document */
/**************************基本**************************/
:root {
  /* --mont: "Montserrat", sans-serif; */
  --green: #009843;
  --black: #333;
  --black2: #888;
  --pink: #FF006E;
  --red: #DD0000;
  --gray: #F3F3F3;
  --gray2: #CCC;
  --main-gradient: radial-gradient(circle at top left,
      #fbe7f4 0%,
      #e6eaf8 40%,
      #c8f1e7 70%,
      #bccffb 100%);
}

ul {
  list-style: none;
}

img {
  max-width: 100%;
}

input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),
button,
textarea {
  border: 1px solid #888;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 1.6rem;
  color: var(--black);
  width: 100%;
}

input.input_xs {
  max-width: 120px;
}

input.input_s {
  max-width: 200px;
}

input.input_m {
  max-width: 400px;
}

input.input_l {
  max-width: 500px;
}

input.input_xl {
  max-width: 600px;
}


select {
  border: 1px solid #888;
  border-radius: 10px;
  padding: 10px 35px 10px 10px;
  font-size: 1.6rem;
  color: var(--black);
  appearance: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23888' stroke-width='2' fill='none'/%3E%3C/svg%3E") no-repeat;
  background-position: right 10px center;
}

.m0 {
  margin: 0 !important;
}

.p0 {
  padding: 0 !important;
}

.p3 {
  padding: 3px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt05 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mt120 {
  margin-top: 120px !important;
}

.mt150 {
  margin-top: 150px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.ml0 {
  margin-left: 0 !important;
}

.ml05 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml100 {
  margin-left: 100px !important;
}

.ml1em {
  margin-left: 1em !important;
}

.mr05 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pt05 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb05 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl05 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pl100 {
  padding-left: 100px !important;
}

.pr05 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.txt50p {
  font-size: 50% !important;
}

.txt60p {
  font-size: 60% !important;
}

.txt70p {
  font-size: 70% !important;
}

.txt80p {
  font-size: 80% !important
}

.txt85p {
  font-size: 85% !important;
}

.txt90p {
  font-size: 90% !important;
}

.txt95p {
  font-size: 95% !important;
}

.txt100p {
  font-size: 100% !important;
}

.txt110p {
  font-size: 110% !important;
}

.txt120p {
  font-size: 120% !important;
}

.txt130p {
  font-size: 130% !important;
}

.txt140p {
  font-size: 140% !important;
}

.txt150p {
  font-size: 150% !important;
}

.txt160p {
  font-size: 160% !important;
}

.txt170p {
  font-size: 170% !important;
}

.txt180p {
  font-size: 180% !important;
}

.txt190p {
  font-size: 190% !important;
}

.txt200p {
  font-size: 200% !important;
}

.txt240p {
  font-size: 240% !important;
}

.txt280p {
  font-size: 280% !important;
}

.txt13px {
  font-size: 1.3rem;
}

.txt14px {
  font-size: 1.4rem;
}

.txt18px {
  font-size: 1.8rem;
}

.txt21px {
  font-size: 2.1rem;
}

.txt24px {
  font-size: 2.4rem;
}

.txt26px {
  font-size: 2.6rem;
}

.txt30px {
  font-size: 3.0rem;
}

.txt40px {
  font-size: 4.0rem;
}

.txt50px {
  font-size: 5.0rem;
}

.txt64px {
  font-size: 6.4rem;
}

.fontb {
  font-weight: bold;
}

.fontn {
  font-weight: normal;
}

.txt-red {
  color: var(--red);
}

.txt-000 {
  color: #000 !important;
}

.txt-555 {
  color: #555 !important;
}

.txt-888 {
  color: #888 !important;
}

.txt-aaa {
  color: #aaa !important;
}

.txt-ccc {
  color: #ccc !important;
}

.txt-fff {
  color: #fff !important;
}

.txt-inherit {
  color: inherit !important;
}

.t_center {
  text-align: center !important;
}

.t_right {
  text-align: right !important;
}

.t_left {
  text-align: left !important;
}

.lh0 {
  line-height: 0;
}

.lh10 {
  line-height: 10px;
}

.lh11 {
  line-height: 11px;
}

.lh12 {
  line-height: 12px;
}

.lh13 {
  line-height: 13px;
}

.lh14 {
  line-height: 14px;
}

.lh15 {
  line-height: 15px;
}

.lh16 {
  line-height: 16px;
}

.lh17 {
  line-height: 17px;
}

.lh18 {
  line-height: 18px;
}

.lh19 {
  line-height: 19px;
}

.lh20 {
  line-height: 20px;
}

.lh21 {
  line-height: 21px;
}

.lh22 {
  line-height: 22px;
}

.lh23 {
  line-height: 23px;
}

.lh24 {
  line-height: 24px;
}

.lh25 {
  line-height: 25px;
}

.lh26 {
  line-height: 26px;
}

.lh27 {
  line-height: 27px;
}

.lh28 {
  line-height: 28px;
}

.lh29 {
  line-height: 29px;
}

.lh30 {
  line-height: 30px;
}

.lh100p {
  line-height: 1;
}

.lh110p {
  line-height: 1.1;
}

.lh120p {
  line-height: 1.2;
}

.lh140p {
  line-height: 1.4;
}

.lh160p {
  line-height: 1.6;
}

.lh180p {
  line-height: 1.8;
}

.lh200p {
  line-height: 2;
}

.lh220p {
  line-height: 2.2;
}

ul.hosoku_1moji li {
  text-indent: -1em;
  margin-left: 1em;
}

ul.hosoku_2moji li {
  text-indent: -2em;
  margin-left: 2em;
}

.v_top {
  vertical-align: top;
}

.v_middle {
  vertical-align: middle;
}

.v_bottom {
  vertical-align: bottom;
}

.v_txt_bot {
  vertical-align: text-bottom;
}

.va_mid {
  vertical-align: middle;
}

.w100p {
  width: 100% !important;
}

.w90p {
  width: 90% !important;
}

.num_list {
  counter-reset: num;
  list-style: none;
}

.num_list li {
  margin-bottom: 20px;
  position: relative;
  padding-left: 2.5em;
}

.num_list li:before {
  counter-increment: num;
  content: counter(num, decimal-leading-zero);
  color: var(--pink);
  background: #fff;
  width: 30px;
  height: 30px;
  border: 1px solid var(--pink);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.num_list li:last-child {
  margin-bottom: 0;
}

.sp_only {}

.sp_none {}

.pc_only {}

.pc_none {}

@media (min-width: 640px) {
  .xs_only {
    display: none;
  }
}

ol.ol-number {
  list-style: decimal
}

ol.ol-number li {
  margin: 0 0 0 1.5em
}

.pdf_link:before {
  content: "\f1c1";
  font-family: FontAwesome;
  margin-right: 5px;
  color: #D14244;
  text-decoration: none;
  display: inline-block;
}

.external_link:after {
  content: "\f08e";
  font-family: FontAwesome;
  margin-left: 5px;
  color: #D14244;
  text-decoration: none;
  display: inline-block;
}

.word_link:before {
  content: "\f1c2";
  font-family: FontAwesome;
  margin-right: 5px;
  color: var(--red);
  text-decoration: none;
  display: inline-block;
}

.excel_link:before {
  content: "\f1c3";
  font-family: FontAwesome;
  margin-right: 5px;
  color: var(--green);
  text-decoration: none;
  display: inline-block;
}


.common_list li {
  line-height: 1.4;
  margin-bottom: 0.8em;
  padding-left: 1.4em;
  position: relative;
}

.common_list li:before {
  content: "\f138";
  font-family: FontAwesome;
  color: #888;
  position: absolute;
  left: 0;
  top: 0;
}

.common_list li:last-child {
  margin-bottom: 0;
}

.common_dots_list li {
  line-height: 1.4;
  margin-bottom: 0.8em;
  padding-left: 1em;
  position: relative;
}

.common_dots_list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: var(--pink);
  border-radius: 50%;
  display: inline-block;
}

.common_dots_list li:last-child {
  margin-bottom: 0;
}

.caution {
  text-indent: -1em;
  padding-left: 1em;
}

.caution2em {
  text-indent: -2em;
  padding-left: 2em;
}

.caution3em {
  text-indent: -3em;
  padding-left: 3em;
}

/*----------------------------------*/
html {
  font-size: 62.5%;
}

body {
  position: relative;
  padding-bottom: 0;
  margin: 0 auto;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #222;
  font-family: "Noto Sans JP", YuGothic, YuGothicM, "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-print-color-adjust: exact;
}

* {
  box-sizing: border-box;
}

strong {
  font-weight: 600;
}

img {
  vertical-align: bottom;
}

/*-----------------共通-----------------*/

.yakuhan {
  font-family: YakuHanJP, 'Hiragino Sans', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
}

.base_width {
  width: 90%;
  max-width: 1240px;
  margin-left: auto;
  margin-right: auto;
}

.base_width_l {
  width: 90%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}

.base_width_s {
  width: 90%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.section_padding {
  padding-top: 50px;
  padding-bottom: 50px;
}

.section_padding_l {
  padding-top: 80px;
  padding-bottom: 80px;
}

.anchor_point {
  margin-top: -80px;
  padding-top: 80px;
  z-index: -1;
  position: relative;
}

.z_1 {
  position: relative;
  z-index: 1;
}

.z_2 {
  position: relative;
  z-index: 2;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 10px;
}

.breadcrumbs li {
  font-size: 1.4rem;
}

.breadcrumbs li:after {
  content: "\f105";
  font-family: FontAwesome;
  margin-left: 10px;
}

.breadcrumbs li:last-child:after {
  content: none;
}

.common_dl dl {
  display: flex;
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px dotted var(--pink);
}

.common_dl dl dt {
  font-weight: bold;
  font-size: 1.8rem;
  color: var(--pink);
  width: 20%;
}

.common_dl dl dd {
  font-size: 1.6rem;
  flex: 1;
}


.common_box {
  padding: 20px;
  background: var(--gray);
}

.common_box02 {
  padding: 20px;
  background: #fff;
  border: 3px double #ccc;
}


.page_anchor_nav li a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--black);
  text-decoration: none;
  padding: 10px 15px;
  height: 100%;
  border: 1px solid var(--pink);
  border-radius: 10px;
  font-size: 1.4rem;
  position: relative;
}

.page_anchor_nav li a:after {
  content: "\f107";
  font-family: FontAwesome;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--pink);
}


.common_table table {
  width: 100%;
  border-collapse: collapse;
}

.common_table table th,
.common_table table td {
  border: 1px solid #ccc;
  padding: 10px 1em;
  vertical-align: text-top;
  text-align: left;
  background: #fff;
}

.common_table table th {
  background: var(--gray);
}

.scroll_table {
  overflow-x: auto;
}

.bg_gradient {
  background: var(--main-gradient);
}

/*-----------------共通ここまで-----------------*/


/*-----------------見出し関連-----------------*/
.common_h2_title {
  font-size: 2.8rem;
  font-weight: bold;
  color: var(--pink);
  position: relative;
  padding-left: 25px;
}

.common_h2_title:before {
  content: "";
  width: 15px;
  height: 15px;
  background: var(--pink);
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  top: calc(1.4em / 2);
  left: 0;
  transform: translateY(-50%);
}

.common_h3_title {
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--black);
  border-left: 5px solid var(--pink);
  padding-left: 10px;
}



.common_h4_title {
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--black);
}



/*-----------------見出し関連ここまで-----------------*/


/*-----------------ボタン関連-----------------*/
.common_btn {
  border-radius: 30px;
  padding: 15px 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 150px;
  text-decoration: none;
  color: #333;
  font-weight: bold;
  background: #fff;
  position: relative;
}

.common_btn.border_pink {
  border: 1px solid var(--pink);
  color: var(--pink);
}

.common_btn.gradient_btn {
  background: var(--main-gradient);
  color: var(--black)
}

.common_white_btn {
  display: flex;
  align-items: center;
  background: #FFF;
  padding: 10px 25px;
  border-radius: 10px;
  height: 100%;
  min-height: 50px;
  color: var(--black);
  text-decoration: none;
  font-weight: 500;
  position: relative;
}

.common_white_btn2 {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFF;
  padding: 10px 30px;
  border-radius: 30px;
  width: fit-content;
  height: 100%;
  min-height: 50px;
  color: var(--black);
  text-decoration: none;
  font-weight: bold;
}

.arrow_right:after {
  content: "\f105";
  font-family: FontAwesome;
  color: #fff;
  background: var(--pink);
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  padding-left: 1px;
}


.arrow_link {
  display: flex;
  align-items: center;
  width: fit-content;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.8rem;
  color: var(--black);
}

.arrow_link:before {
  content: "\f105";
  font-family: FontAwesome;
  color: #fff;
  background: var(--pink);
  width: 35px;
  height: 35px;
  padding-left: 2px;
  font-size: 130%;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}

/*-----------------ボタン関連ここまで-----------------*/



/*-----------------下層-----------------*/
.page_title_container {
  background: var(--main-gradient);
  padding: 120px 0 100px;
}

.page_title_container .page_title {
  margin-top: 40px;
  font-size: 4rem;
}

.page_title_container .page_title .en {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--pink);
  display: block;
}

.page_main {
  border-radius: 30px 30px 0 0;
  background: #fff;
  padding-top: 60px;
  margin-top: -30px;
}

.main_content_container {
  display: flex;
}

.main_content_container .main_content {
  width: 77%;
}

.common_sidebar {
  width: 23%;
  flex: none;
  margin-right: 60px;
}

.common_sidebar .sidebar_inner {
  position: sticky;
  top: 100px;
  padding-right: 20px;
  border-right: 1px solid var(--pink);
}

.common_sidebar .title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 15px;
  color: var(--pink);
}

.common_sidebar .sidebar_list li {
  margin-bottom: 10px;
}

.common_sidebar .sidebar_list li:last-child {
  margin-bottom: 0;
}

.common_sidebar .sidebar_list li a {
  display: inline-block;
  color: #333;
  text-decoration: none;
  line-height: 1.3;
}

.common_sidebar .sidebar_list li a:hover {
  text-decoration: underline;
}

body.cu01 .common_sidebar .sidebar_list li.cu01 a {
  color: var(--pink);
}

.common_sidebar .sidebar_list li.current a {
  color: var(--pink);
  position: relative;
  padding-left: 10px;
}

.common_sidebar .sidebar_list li.current a:before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--pink);
  font-weight: 500;
  border-radius: 50%;
  display: inline-block;
  position: absolute;
  left: 0px;
  top: 50%;
  transform: translateY(-50%);
}


.floor_list .floor {
  margin-bottom: 10px;
}

.floor_list .floor_inner {
  background: var(--gray);
  padding: 15px 20px;
  display: flex;
}

.floor_list .floor_num {
  font-size: 3.1rem;
  font-weight: bold;
  background: var(--pink);
  color: #fff;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 3px;
  margin-right: 40px;
  flex: none;
}

.floor_list .floor_link {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  flex: auto;
}

.floor_list .floor_link li {
  width: calc(50% - 5px);
}

.floor_list .floor_link li:not(.w100p) a {
  padding: 10px 30px 10px 60px;
}

.floor_list .floor_link li a .icon {
  font-size: 1.8rem;
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pink);
  font-weight: 600;
  border: 1px solid var(--pink);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding-bottom: 2px;
}



/*-----------------下層ここまで-----------------*/



/*-----------------フォーム関連-----------------*/
.wpcf7-radio-list .stopped {
  color: #aaa;
  cursor: not-allowed;
}

.wpcf7-radio-list .stop-mark {
  color: var(--red);
  font-size: 0.9em;
}

.wpcf7-radio-list li {
  margin: 0 0 8px 0;
}

.wpcf7-radio-list li:last-child {
  margin: 0;
}

.wpcf7-list-item.wpcf7-radio-item {
  display: block;
}

.form_container dl {
  margin-bottom: 30px;
}

.form_container dl dt {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 20px;
}

.required {
  display: inline-block;
  border: 1px solid var(--pink);
  color: var(--pink);
  border-radius: 15px;
  padding: 3px 5px;
  border-radius: 5px;
  font-size: 1.4rem;
  vertical-align: top;
  margin-left: 0.5em;
}

#autozip {
  display: none !important;
}

.form_content.common_dl dt {
  color: var(--black);
}

.form_submit {
  margin-top: 40px;
}

.form_submit input {
  font-size: 2rem !important;
  border-radius: 30px !important;
  padding: 15px 25px !important;
  color: #333;
  font-weight: bold;
  border: 1px solid transparent;
  background: #fff;
  position: relative;
}

.form_submit input.submit {
  border: 1px solid var(--pink) !important;
  color: var(--pink) !important;
}

.wpcf7-spinner {
  display: none !important;
}

/*-----------------フォーム関連ここまで-----------------*/

.program_table {
  overflow-x: auto;
  margin-bottom: 20px;
}

.program_table table {
  width: 100%;
  border-collapse: collapse;
}

.program_table table td {
  border: 1px solid #ccc;
  padding: 10px;
}

/* テーブル背景色 */
.bg-light-blue {
  background-color: #b7ffff;
}

.bg-light-green {
  background-color: #daffb5;
}

.bg-yellow {
  background-color: #ffffad;
  text-align: center;
}

.bg-light-cyan {
  background-color: #b9fdf9;
}



.school_list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.school_list li {
  width: 30%;
  position: relative;
  font-size: 1.4rem;
  padding: 0 0 5px 10px;
  border-bottom: 1px dotted var(--black);
}

.school_list li:before {
  content: "";
  width: 5px;
  height: 5px;
  position: absolute;
  top: calc(1.4em / 2);
  left: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  background: var(--green);
}


.specialist_img img {
  width: 100%;
  max-width: 400px;
}



.news_list ul {
  border-top: 1px solid var(--gray);
}

.news_list ul li {
  border-bottom: 1px solid var(--gray);
}

.news_list ul li a {
  display: flex;
  padding: 30px 50px 30px 5px;
  color: var(--black);
  font-weight: 600;
  text-decoration: none;
  position: relative;
}

.news_list ul li a:after {
  content: "\f105";
  font-family: FontAwesome;
  color: var(--pink);
  background: #fff;
  border: 1px solid var(--pink);
  width: 35px;
  height: 35px;
  padding-left: 2px;
  font-size: 130%;
  font-weight: bold;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
}

.news_list ul li a .img {
  width: 25%;
  flex: none;
  margin-right: 30px;
}

.news_list ul li a .img .img_inner {
  padding-top: 60%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.news_list ul li a .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news_list ul li a .text {
  width: 75%;
  flex: auto;
}

.nnews_meta_container .date {
  font-size: 1.4rem;
  color: var(--black2);
}

.news_meta_container .cat {
  display: inline-block;
  background: var(--pink);
  color: #fff;
  padding: 5px 15px;
  border-radius: 15px;
  font-size: 1.4rem;
  font-weight: bold;
}




.iframe_container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.iframe_container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}





.page_data_container.main_content_container {
  flex-direction: column-reverse;
}

.page_data_container .main_content {
  width: 100%;
}

.page_data_container .common_sidebar {
  width: 100%;
  margin-right: 0;
  border-right: none;
  margin-top: 40px;
}

.page_data_container .common_sidebar .sidebar_inner {
  border-right: none;
  padding-top: 40px;
  border-top: 1px solid var(--gray);
  padding-right: 0;
}

.page_data_container .chart-section {
  padding: 20px;
  background: #EBF2F8;
  border-radius: 10px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.page_data_container .chart-section h2 {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 20px;
}

.page_data_container .chart-item canvas {
  max-width: 100%;
  height: auto !important;
  margin: 0 auto;
}

.page_data_container .chart-legend {
  margin-top: 15px;
  margin-bottom: 15px;
}

.page_data_container .chart-note {
  font-size: 1.4rem;
  color: var(--black2);
  text-align: center;
  margin-top: auto;
}

.page_data_container .img-container {
  text-align: center;
}

.page_data_container .img-container .img {
  min-height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;

}


.page_data_container .countup {
  color: var(--pink);
  font-weight: bold;
}

.page_data_container .countup .count_number {
  font-size: 5rem;
}

.page_data_container .countup .count_number.small {
  font-size: 3rem;
}

.page_data_container .countup .count_unit {
  font-size: 2rem;
}

.page_data_container .txt-container {
  display: flex;
  justify-content: center;
  align-items: baseline;
}

.page_data_container .txt-container h3 {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--black);
  width: 4em;
  flex: none;
}

.page_data_container .txt-container .countup-note {
  display: block;
  font-size: 1.4rem;
}