@charset "utf-8";

.com01_parts.cp2 .com01_parts_block .offer ul li:before {
  display: none;
}

.com01_parts.cp2 {
  margin-top: 8rem;
}

/* oki_20220509 */

@media screen and (max-width: 768px) {
  .kanren3 {
    margin: 4rem 1.5rem 6rem !important;
  }
}

.kanren3 {
  /* border: 3px solid #ff5252; */
  border: 2px solid #ffffff;
  padding: 20px 30px;
  margin: 30px auto;
  position: relative;
  box-sizing: border-box;
  z-index: 0;
  box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.06);
  max-width: 1000px;
}

.midasi {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}

.kanren3 br {
  display: none;
}

.kanren3 ul li {
  margin: 0 0 2rem 0;
  padding: 0 0 0 2rem;
  font-size: 1.6rem;
  line-height: 1.8;
  position: relative;
}

.kanren3 ul li::before {
  content: '';
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  background: #eb821e;
  width: 10px;
  height: 10px;
  box-sizing: border-box;
  border-radius: 50%;
}

.kanren3 ul li a {
  text-decoration: underline;
}

/* アコーディオンのときに下記追加 */
.readmore-content {
  position: relative;
  overflow: hidden;
  height: 100px;
}

.readmore-content::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
  /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
  height: 50px;
  z-index: 1;
  background: -webkit-linear-gradient(top, rgba(245, 245, 245, 0) 0%, rgba(245, 245, 245, 0.8) 50%, rgba(245, 245, 245, 0.8) 50%, #f5f5f5 100%);
  background: linear-gradient(top, rgba(245, 245, 245, 0) 0%, rgba(245, 245, 245, 0.8) 50%, rgba(245, 245, 245, 0.8) 50%, #f5f5f5 100%);
}

/* 続きを読むボタン */
.readmore-label {
  display: table;
  bottom: 5px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  margin: 5px auto;
  z-index: 2;
  /* padding: 6px 15px; */
  padding: 12px 20px;
  /* background-color: #ff7777; */
  background-color: #41535d;
  border-radius: 20px;
  color: #FFF;
}

.readmore-label:before {
  content: "\7D9A\304D\3092\8AAD\3080";
}

.readmore-check {
  display: none;
}

/*チェック時にボタンを非表示*/
.readmore-check:checked~.readmore-label {
  position: static;
  transform: translateX(0);
  -webkit-transform: translateX(0);
  /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
  /* display: none; */
}

.readmore-check:checked~.readmore-label:before {
  content: "\9589\3058\308B";
}

/*チェック時に高さを自動に戻す*/
.readmore-check:checked~.readmore-content {
  height: auto;
}

/*チェック時グラデーション等を削除*/
.readmore-check:checked~.readmore-content::before {
  display: none;
}

/* oki_20220509 */


.kanren {
  border: 3px solid #e31e23;
  background: #fff;
  padding: 10px 20px 20px;
  margin: 40px 0;
  position: relative;
  box-sizing: border-box;
}

.kanren2 {
  border: 4px solid #f7c63e;
  padding: 10px 20px 20px;
  margin: 40px 0;
  position: relative;
  box-sizing: border-box;
}

.block-comment {
  clear: both;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  width: 100%;
  margin: 7rem 0 7rem;
  padding: 2.5rem 2rem;
  background: #fff;
  border: 3px solid #9ed7ff;
  border-radius: 1rem;
}

.block-comment .title {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: -2rem;
  transform: translateX(-50%);
  padding: 0.8rem 2rem 1rem 2rem;
  background: #9ed7ff;
  border-radius: 1rem;
  color: #17181a;
  font-size: 1.8rem;
  line-height: 1.1;
  text-align: center;
}

.block-comment .box-fig {
  width: 128px;
  text-align: center;
}

.block-comment .box-fig .fig img {
  max-width: 100%;
  border-radius: 50%;
}

.block-comment .box-fig .txt {
  margin: 0.5rem 0 0 0;
  line-height: 1.4;
}

.block-comment .box-txt {
  width: calc(100% - 148px);
  padding: 1rem 0 0 0;
}

.block-comment .box-txt .catch {
  margin: 0 0 1.5rem 0;
  padding: 0 0 0.5rem 0;
  border-bottom: 4px dotted #9ed7ff;
  font-size: 1.6rem;

  line-height: 1.4;
}

p.red {
  color: #f06502;
}

p.px2 {
  font-size: 10px;
}

p.px1 {
  font-size: 12px;
}

/*2024.07.17*/

.sec02 .inner {
  padding: 0 3rem 10rem;
}

.sec02 .inner:before,
.sec02 .inner:after {
  content: none;
}

#custom_sec05 .com01_parts_block .upper {
  display: block;
}

#custom_sec05 .com01_parts_block .img_box {
  margin: 0 auto;
}

#custom_sec05 .com01_parts_block .main_cc {
  width: 100%;
  border-radius: 30px 30px 0 0;
  font-size: 2.8rem;
  text-align: center;
}

#custom_sec05 .com01_parts_block .com01_item_inner {
  padding: 2rem 2rem 5rem;
  margin-top: 0;
}

#custom_sec05 .com01_parts_block .cc {
  margin: 0 auto;
  width: 100%;
  padding: 1rem;
}

#custom_sec05 .com01_parts_block .c_name::before {
  content: none;
}

#custom_sec05 .com01_parts_block .c_name {
  padding: 0;
  font-size: 2.5rem;
  text-align: center;
}

#custom_sec05 .com01_parts_block .d_ttl {
  width: 80%;
}

#custom_sec05 .com01_parts_block .btn-web a,
#custom_sec05 .com01_parts_block .btn-internal a,
.sec02 .btn-internal a {
  width: 100%;
  margin: 2rem auto 0;
  padding: 1rem 3rem 1rem 2rem;
  font-size: 1.6rem;
}

#custom_sec05 .btn-web a:after,
#custom_sec05 .btn-internal a:after,
.sec02 .btn-internal a:after {
  right: 10px;
}

.sec06_block .offer {
  display: block;
}

.sec06_block .offer dl {
  width: 100%;
}

#page .toc_parts {
  margin: 0;
}

#page .toc_parts .ttl {
  position: relative;
  cursor: pointer;
}

#page .toc_parts .ttl:before,
#page .toc_parts .ttl:after {
  content: '';
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
  background: #3e6fc6;
  width: 40px;
  height: 4px;
  transition: all 0.4s;
  border-radius: 10px;
}

#page .toc_parts .ttl:after {
  transform: rotate(90deg);
}

#page .toc_parts .ttl.open:before {
  display: none;
}

#page .toc_parts .ttl.open::after {
  transform: rotate(180deg);
}

#page .toc_parts .toc_block {
  display: none;
}

.sec06_block .btn-web a {
  padding: 1rem 6rem;
}

.sec10_block .btn-internal a {
  padding: 1rem 6rem;
}

.com01_parts.cp2 .com01_parts_block .btn-internal a {
  width: 95%;
  margin: 4rem auto 2rem;
}

.btn-web a,
.btn-internal a {
  padding: 1rem 6rem;
}



/*----------------------------------------------------
  PCサイトcss
----------------------------------------------------*/
@media screen and (min-width: 769px) {

  /*/////////////PC用のCSSをここに作成してください。/////////////*/
  /*/////////////必ず中括弧の中に作成してください。/////////////*/
  .com01_parts.cp2 .com01_parts_block {
    width: 97%;
    margin: 4rem auto 0;
  }

  .com01_parts.cp2 .com01_parts_block .com01_item {
    width: 48%;
    margin: 0 auto;
  }

  .com01_parts.cp2 .com01_parts_block .com01_item_inner {
    padding: 12rem 3rem 5rem;
  }

  .com01_parts.cp2 .com01_parts_block .img_box {
    margin: 0 0 0 -2rem;
  }

  .com01_parts.cp2 .com01_parts_block .cc {
    margin: 0 -2rem 0 0;
    padding: 1.5rem;
    font-size: 19px;
  }

  .com01_parts.cp2 .com01_parts_block .img_box .caption {
    font-size: 10px;
    line-height: unset;
  }

  .com01_parts_block .offer dd ul {
    margin: 0;
  }

  .com01_parts.cp2 .com01_parts_block .btn-internal a {
    padding: 1rem 6rem;
  }

  .com01_parts.cp2 .com01_parts_block .btn-web a {
    padding: 1rem 6rem;
  }

  .com01_parts.cp2 p.btn-web {
    margin: 1rem auto;
  }

  .com01_parts.cp2 p.btn-internal {
    margin: 1rem auto;
  }

  /*2024.07.17*/
  .sec02 {
    padding: 10rem 0 10rem;
  }

  #custom_sec05 .com01_parts_block .com01_item {
    width: calc(33% - 1rem);
    box-sizing: border-box;
  }

  .sec04 .inner {
    margin-bottom: 0;
  }
}


/*----------------------------------------------------
  SPサイトcss
----------------------------------------------------*/
@media screen and (max-width: 768px) {
  /*/////////////SP用のCSSをここに作成してください。/////////////*/
  /*/////////////必ず中括弧の中に作成してください。/////////////*/

  /*2024.07.17*/
  .sec02 {
    margin: 10rem 0 10rem;
    padding: 0;
  }

  #page .toc_parts .ttl:before,
  #page .toc_parts .ttl:after {
    right: 0;
    width: 20px;
    height: 2px;
  }

  .btn-web a,
  .btn-internal a {
    padding: 1rem 4rem;
  }

  .sec10_block .btn-internal a {
    padding: 1rem;
  }

}
