@charset "utf-8";

/* -----------------------------
  button
------------------------------*/
.btn,
a.btn {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 430px;
  padding: 2rem 1.8rem;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
  background-color: #013076;
  background-image: url("../img/icon_arrow_w.png") ;
  background-size: 1.2rem auto;
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
}

/* 別窓 */
a[target="_blank"].btn {
  background-image: url("../img/icon_blank_w2.png") ;
  background-size: 1.5rem;
}

/* 申込 */
.btn-green,
a.btn-green {
  color: #fff;
  background-color: #36B248;
}

/* DLボタン */
.btn-download,
a.btn-download {
  color: #fff;
  background-color: #FBA372;
  background-image: none !important;
}
.btn-download::before,
a.btn-download::before {
  content: "";
  display: inline-block;
  width: 2.2rem;
  height: 2.2rem;
  margin: -4px 20px 0 0;
  background-image: url("../img/icon_download_w.png") ;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

/* 動画 */
.btn-movie,
a.btn-movie {
  color: #fff;
  background-color: #E192A6;
  background-image: none !important;
}
.btn-movie::before,
a.btn-movie::before {
  content: "";
  display: inline-block;
  width: 2.5rem;
  height: 2.5rem;
  margin: -4px 20px 0 0;
  background-image: url("../img/icon_youtube_w.png") ;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

/* デジタルブック */
.btn-digitalbook,
a.btn-digitalbook {
  display: block;
  width: auto;
  max-width: none;
  padding: 3rem 1.8rem;
  font-size: 2rem;
  letter-spacing: 0.2em;
}

.btn:hover,
a.btn:hover {
  opacity: 0.7;
}
.btn_copy {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  margin-bottom: 10px;
  padding: 0 2em;
  font-weight: bold;
  text-align: center;
}
.btn_copy::before {
  position: absolute;
  content: "＼";
  left: 0;
}
.btn_copy::after {
  position: absolute;
  content: "／";
  right: 0;
}

@media screen and (max-width: 767px) {
  .btn,
  a.btn {
    padding: 1.5rem 2rem;
    font-size: 1.6rem;
    background-size: 0.8rem auto;
  }
  a[target="_blank"].btn {
    background-size: 1.5rem;
  }
  .btn_copy {
    margin-bottom: 5px;
  }
  .btn:hover,
  a.btn:hover {
    opacity: 1;
  }

  .btn-digitalbook,
  a.btn-digitalbook {
    padding: 2rem 1.8rem;
  }
}

.btn_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.btn_box.btn-left {
  justify-content: flex-start;
}
.btn_box.btn-right {
  justify-content: flex-end;
}
.btn_box > .box-item {
  width: 100%;
  max-width: 680px;
  margin: 0;
}
.btn_box.col-2 > .box-item {
  width: calc((100% - 20px) / 2 );
  margin: 0;
}

@media screen and (max-width: 767px) {
  .btn_box {
    flex-direction: column;
  }
  .btn_box.col-2 > .box-item {
    width: 100%;
  }
}

/* -----------------------------
  box
------------------------------*/
.c_box {
  padding: 30px;
}
.blue-border_box {
  border: 3px solid #c0e1ee;
  border-radius: 5px;
}
.pink-fill_box {
  background: #f7dbdd;
}

@media screen and (max-width: 767px) {
  .c_box {
    padding: 15px;
  }
}

/* -----------------------------
  list
------------------------------*/
/* 注釈 */
.note_list li {
  margin-bottom: 0;
  padding-left: 1em;
  font-size: 1.6rem;
  text-indent: -1em;
  line-height: 1.75;
}
.note_list li::before {
    content: "※";
}
.note_box .note_list li {
  margin-bottom: 10px;
  font-weight: bold;
}
.c_inner .note_box .note_list li:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .c_inner .note_list li {
    font-size: 1.4rem;
  }
}
/* -----------------------------
  contents
------------------------------*/

main .c_inner {
  max-width: 1040px;
  margin: 40px auto 80px;
  padding: 0 30px;
}
main .c_inner:last-child {
  margin: 80px auto 100px;
}

.c_inner p {
  margin-bottom: 30px;
  line-height: 1.75;
}
.c_inner * {
  margin-bottom: 30px;
}
.c_inner p:last-child,
.c_inner *:last-child {
  margin-bottom: 0;
}

.c_inner h1 {
  margin-bottom: 40px;
  padding: 15px 25px;
  color: #013076;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  line-height: 1.5;
  background: #c0e1ee;
}

.c_inner h2.c_h-ttl {
  margin: 0 0 30px;
  padding: 0 0 15px 5px;
  border-bottom: 5px solid #013076;
  color: #013076;
  font-size: 2.5rem;
  font-weight: bold;
  line-height: 1.2;
}
.c_inner h3.c_h-ttl {
  margin: 0 0 20px;
  padding-left: 15px;
  border-left: 3px solid #c0e1ee;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  main .c_inner {
    margin: 60px auto;
    padding: 0 15px;
  }
  main .c_inner:last-child {
    margin: 60px auto 100px;
  }
  
  .c_inner h1 {
    font-size: 1.8rem;
  }
  .c_inner h2.c_h-ttl {
    font-size: 2rem;
  }
  .c_inner h3.c_h-ttl {
    font-size: 1.8rem;
  }
  .c_inner p {
    margin-bottom: 17px;
  }
  .c_inner * {
    margin-bottom: 20px;
  }
}

/* -----------------------------
  デジタルブック
------------------------------*/
header .h_inner {
  max-width: 100%;
}
.hover {
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.hover:hover {
  opacity: 0.7;
}

.db_inner {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.db_inner > * {
  align-self: center;
  padding: 50px;
}

.db_inner > .d-img {
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40%;
  text-align: center;
  background: #f7f7f7;  
}
.db_inner > .d-detail {
  width: 60%;
}

.d-detail h1 {
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  line-height: 1.5;
}
.d-detail .d-title {
  margin-top: 7px;
  font-size: 3.8rem;
  font-weight: 900;
  letter-spacing: 0.2em;
  line-height: 1.5;
}
.d-detail .d-btn,
.d-detail .survey-btn {
  margin: 10px auto 15px;
  text-align: center;
  font-weight: 900;
}
.d-detail .d-btn a,
.d-detail .survey-btn a {
  font-weight: 900;
}

.d-detail .d-att p {
  font-size: 1.4rem;
  line-height: 1.8;
}
.d-detail .d-att p strong {
  font-weight: normal;
  color: #ca0000;
}
.d-detail .survey {
  margin: 30px auto 0;
}
.d-detail .survey > *:not(:last-child) {
  margin-bottom: 10px;
}
.d-detail .survey .survey-date {
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}
.d-detail .survey .note_list li {
  font-size: 1.4rem;
  line-height: 1.8;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .d-detail h1 {
    font-size: 1.6rem;
  }
  .d-detail .d-title {
    font-size: 2.4rem;
  }
  .btn-digitalbook, a.btn-digitalbook {
    padding: 2rem 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .hover:hover {
    opacity: 1;
  }

  .db_inner {
    flex-wrap: wrap;
    flex-direction: column;
  }
  .db_inner > * {
    padding: 20px;
  }

  .db_inner > .d-img,
  .db_inner > .d-detail {
    width: 100%;
  }
  .d-img img {
    width: 100%;
    max-width: 320px;
  }

  .d-detail h1 {
    font-size: 1.4rem;
  }
  .d-detail .d-title {
    margin-top: 7px;
    font-size: 2rem;
  }

  .d-detail .survey .survey-date {
    font-size: 1.4rem;
  }
  .d-detail .survey .note_list li {
    font-size: 1.2rem;
  }
}

/*  .c-single01 目次ページ
================================================== */
main .c-single01_inner {
  max-width: 840px;
  margin: 40px auto 80px;
  padding: 0 30px;
}
main .c-single01_inner:last-child {
  margin: 0 auto 100px;
}


@media screen and (max-width: 767px) {
  main .c-single01_inner {
    margin: 60px auto;
    padding: 0 15px;
  }
  main .c-single01_inner:last-child {
    margin: 60px auto 100px;
  }
}

.c-single01_inner .role_txt {
  display: inline-block;
  min-width: 130px;
  vertical-align: top;
  text-align: center;
  padding: 3px 10px;
  margin: 4px 10px 0 0;
  border-radius: 5px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  background: #727171;
}

.c-single01 { -webkit-box-sizing: border-box; box-sizing: border-box; border: 1px solid #c0e1ee; }

.c-single01__wrap { padding: 0 19px 22px; }

.c-single01__eyecatch { margin: 34px auto; }

.c-single01__meta { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; margin-top: 12px; }

.c-single01__time { font-size: 1.2rem; margin-right: 3px; }

.c-single01__content { margin-top: 34px; }

.c-single01__content.is-no-margin { margin-top: 0; }

.c-single01__content *:first-child { margin-top: 0; }

.c-single01__content *:last-child { margin-bottom: 0; }

.c-single01__content h1, .c-single01__content h2, .c-single01__content h3, .c-single01__content h4, .c-single01__content h5, .c-single01__content h6, .c-single01__content ul, .c-single01__content ol { clear: both; }

.c-single01__content p { margin: 10px 0; }

.c-single01__content a { color: #013076; text-decoration: underline; }

.c-single01__content h2 { font-size: 1.8rem; letter-spacing: 0.08em; line-height: 1.6; margin: 34px 0 14px; }

.c-single01__content h3 { font-size: 1.6rem; letter-spacing: 0.08em; line-height: 1.75; margin: 34px 0 8px; padding-left: 14px; position: relative; }

.c-single01__content h3:before { background-color: #c0e1ee; content: ""; position: absolute; bottom: 2px; left: 0; top: 2px; width: 3px; }

.c-single01__content h4 { font-size: 1.4rem; letter-spacing: 0.08em; line-height: 1.8; margin: 34px 0 8px; padding-left: 14px; position: relative; }

.c-single01__content h4:before { background-color: #c0e1ee; border-radius: 50%; content: ""; height: 6px; position: absolute; left: 0; top: 0.8em; width: 6px; }

.c-single01__content ul, .c-single01__content ol { list-style: none; padding-left: 0; }

.c-single01__content ul { margin-bottom: 14px; }

.c-single01__content ul li { position: relative; padding-left: 1em; -webkit-box-sizing: border-box; box-sizing: border-box; }

.c-single01__content ul li:before { content: '\30FB'; position: absolute; top: 0; left: 0; }

.c-single01__content ol { margin-bottom: 14px; counter-reset: number 0; }

.c-single01__content ol li { position: relative; padding-left: 1em; -webkit-box-sizing: border-box; box-sizing: border-box; counter-increment: number 1; }

.c-single01__content ol li:before { content: counter(number) "."; position: absolute; top: 0; left: 0; }

.c-single01__content table { margin-bottom: 14px; }

/* 2024 目次ページ追加分 */
.c-single01__content .maintitle { font-weight: bold;margin-bottom: 28px;font-size: 2.6rem; }
.c-single01__content .maintitle .sub { font-size: 12pt; }
.c-single01__content .lead { font-size: 12pt;font-weight: bold;margin: 65px 0 20px 0; }
.c-single01__content .heading { font-weight: bold; margin: 65px 0 10px;font-size: 2rem; }
.c-single01__content  .lead + .heading { margin: 10px 0 10px; }
.c-single01__content .position { font-size: 16px;line-height: 30px; }
.c-single01__content .name { font-weight: bold;font-size: 14pt; }
.mt30{ margin-top: 30px !important;}
.mb60{ margin-bottom: 60px !important;}
.c-single01_inner .contents{ margin-top: 60px !important;font-weight: bold;font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;font-size: 28px;color: #5ba4d9; }
.c-single01_inner {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 18px;
  line-height: 1.8;
}