@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

@media all and (-ms-high-contrast: none) {
  body {
    font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic,
      "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック",
      "MSPGothic", sans-serif;
  }
}

.pc {
  display: none !important;
}

.sp {
  display: block !important;
}

.u-strong {
  font-weight: bold;
}

header {
  height: 12.26666664vw;
}
/* ========== パンくず ========== */
.l-breadcrumbs--wrapper {
  background-color: #e5e5e5;
  padding: 0 5.33333332vw;
}

.l-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  padding: 3.99999999vw 0;
}

.l-breadcrumbs li {
  display: inline-block;
  font-size: 3.733333324vw;
  position: relative;
  padding-right: 9.999999975vw;
  height: 6.66666665vw;
}

.l-breadcrumbs li:last-child {
  padding-right: 0;
}

.l-breadcrumbs li:not(:last-child) ::after {
  content: "";
  position: absolute;
  right: 3.99999999vw;
  top: 1.33333333vw;
  width: 1.599999996vw;
  height: 1.599999996vw;
  border-right: 0.533333332vw solid #000;
  border-bottom: 0.533333332vw solid #000;
  transform: rotate(-45deg) translate3d(0, 0, 1px);
  pointer-events: none;
}

.l-breadcrumbs li img {
  width: 5.33333332vw;
  position: relative;
  top: 0.266666666vw;
}

.flex {
  display: flex;
  margin-bottom: 13.3333333vw;
  /*50px*/
}

.strong {
  font-weight: 700;
}

footer {
  text-align: center;
}

.logo {
  padding: 3.99999999vw 4.266666656vw 1.066666664vw;
  width: 39.9999999vw;
}

h2 {
  margin-bottom: 5.33333332vw;
  /*20px*/
}

h3 {
  margin-bottom: 4.799999988vw;
  /*36px*/
  padding: 2.133333328vw 5.33333332vw;
  /*8px 20px*/
  border: double 1.599999996vw #000;
  /*6px*/
  background: #fff;
  text-align: left;
  font-size: 5.066666654vw;
  /*19px*/
  font-weight: 700;
}

h4 {
  font-size: 4.799999988vw;
  /*36px*/
  font-weight: 700;
}

img {
  width: 100%;
}

p {
  margin-bottom: 5.33333332vw;
  /*20px*/
  color: #000;
  font-size: 4.266666656vw;
  /*16px*/
  line-height: 1.7;
}

dl {
  margin-bottom: 31.99999992vw;
  /*120px*/
  font-size: 3.733333324vw;
  /*14px*/
}

dl dt {
  font-weight: 700;
}

dl dt,
dl dd {
  margin-bottom: 1.066666664vw;
  /*4px*/
}

.mv {
  width: 100%;
  height: auto;
}

.mv__head {
  margin-bottom: 0;
}

.c-container {
  padding: 5.33333332vw 2.66666666vw;
  /*20px 10px*/
}

.c-center {
  text-align: center;
}

.theme {
  margin-bottom: 13.3333333vw;
  /*100px*/
}

.theme p {
  margin-bottom: 2.66666666vw;
  /*10px*/
  text-align: left;
  font-size: 3.733333324vw;
  /*14px*/
  font-weight: 700;
}

.theme p.note {
  font-size: 3.466666658vw;
  /*13px*/
  font-weight: 400;
}

.theme-b {
  color: #0159a3;
}

.grad-wrap {
  position: relative;
}

section {
  padding: 2.66666666vw;
  /*10px*/
}

.c-articleSet {
  margin-bottom: 0;
}

.c-articleSet > [class^="c-"] ~ [class^="c-"] {
  margin-top: 0;
}

.button {
  position: relative;
  width: 83.99999979vw;
  /*315px*/
  margin: 8.533333312vw auto;
  /*32px 0*/
}

a.c-btn:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 7.99999998vw;
  /*30px*/
  width: 0;
  height: 0;
  margin-top: -2.133333328vw;
  /*-8px*/
  border: 2.133333328vw solid transparent;
  /*8px*/
  border-left: 2.133333328vw solid #ed7517;
  /*8px*/
}

a.c-btn2:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 5.33333332vw;
  /*20px*/
  width: 0;
  height: 0;
  margin-top: -2.133333328vw;
  /*-8px*/
  border: 2.133333328vw solid transparent;
  /*8px*/
  border-left: 2.133333328vw solid #259d6a;
  /*8px*/
}

a.c-btn:hover:before,
a.c-btn2:hover:before {
  border-left: 2.133333328vw solid #fff;
  /*8px*/
}

.c-btn > span {
  padding: 2.66666666vw 10.66666664vw;
  /*10px 40px*/
  border-color: #ed7517;
  border-radius: 0;
  background: #fff;
  color: #ed7517;
}

.c-btn2 > span {
  padding: 3.466666658vw 10.66666664vw;
  /*13px 40px*/
  border: 0.533333332vw solid #259d6a;
  border-radius: unset;
  background: #fff;
  color: #259d6a;
  font-size: 4.799999988vw;
  font-weight: 700;
}

.c-btn:hover > span {
  background: #ed7517;
  color: #fff;
}

.c-btn2:hover > span {
  background: #259d6a;
  color: #fff;
}

.c-btn > span strong,
.c-btn2 > span strong {
  font-size: 4.799999988vw;
  /*18px*/
}

.wra01 {
  display: inline-block;
  padding: 5.33333332vw 5.33333332vw 0;
  /*20px 20px 0*/
  background: #fdeb5d;
}

/* ========== 最新記事ボタン ========== */
.c-latestArticle {
  text-align: center;
  margin-top: 6.66666665vw;
}

.c-latestArticle button {
  background-color: #c90000;
  color: #fff;
  font-weight: bold;
  font-size: 4.266666656vw;
  border: none;
  border-radius: 50px;
  outline: none;
  cursor: pointer;
  padding: 2.66666666vw 13.3333333vw;
}

/* ========== 過去記事一覧 ========== */
.c-backnumber {
  text-align: center !important;
  font-size: 4.266666656vw;
  margin-top: 2rem !important;
  font-weight: normal !important;
  margin-bottom: 7rem !important;
}

.c-backnumber a {
  text-decoration: underline;
}

.wra02 {
  display: inline-block;
  padding: 10.66666664vw 5.33333332vw 7.99999998vw;
  /*40px 20px 30px*/
  background: #e6e8f2;
}

.wra03 {
  display: inline-block;
  padding: 0 5.33333332vw 7.99999998vw;
  /*0 20px 30px*/
  background: #e6e8f2;
}

.wra03 .come-img {
  width: 29.33333326vw;
  /*110px*/
  height: 26.6666666vw;
  /*100px*/
  margin: 0 auto 5.33333332vw;
}

.wra04 {
  display: inline-block;
  padding: 5.33333332vw 5.33333332vw 7.99999998vw;
  /*20px 20px 30px*/
  background: #eaf7fa;
}

.wra05 {
  display: inline-block;
  padding: 5.33333332vw 5.33333332vw 0;
  /*20px 20px 0*/
  background: #e6e8f2;
}

.wra05 .come-img {
  width: 62.93333318vw;
  /*236px*/
  margin: 0 auto 5.33333332vw;
}

.wra06 {
  display: inline-block;
  padding: 5.33333332vw 5.33333332vw 7.99999998vw;
  /*20px 20px 30px*/
  background: #fff;
}

.wra06 h2 {
  margin-top: 2.66666666vw;
  /*10px*/
}

.wra06 h3 {
  padding: 0;
  border: none;
  background: none;
}

.wra06 dl {
  margin-bottom: 0;
}

.wra06 .grad-wrap p:last-of-type {
  margin-bottom: 0;
}

.wra06 figcaption.recommend {
  margin-bottom: 2.66666666vw;
  /*10px*/
}

.wra06 .wrap:not(:last-child) {
  margin-bottom: 10.66666664vw;
  /*40px*/
}

.wra06 .wrap .flex-column {
  width: 100%;
}

.wra07 {
  display: inline-block;
  padding: 5.33333332vw 5.33333332vw 0;
  /*20px 20px 0*/
  background: #f7fff5;
}

.wra07 h3 {
  padding: 0;
  border: none;
  background: none;
}

.wra07 dl {
  margin-bottom: 7.99999998vw;
  /*30px*/
}

.wra07 figcaption.recommend {
  margin-bottom: 2.66666666vw;
  /*10px*/
}

.wra07 .unlimited,
.wra07 .single {
  display: inline-block;
  margin-bottom: 2.133333328vw;
  /*8px*/
  padding: 0.533333332vw 2.66666666vw;
  /*2px 10px*/
  background: #ff8b8b;
  color: #fff;
  font-size: 3.466666658vw;
  /*13px*/
}

.wra07 .single {
  background: #75a9de;
}

.wra08 {
  display: inline-block;
  padding: 10.66666664vw 5.33333332vw 5.33333332vw;
  /*40px 20px 20px*/
  background: #fff;
}

.wra08 h2 {
  margin-bottom: 0;
  text-align: center;
}

.wra08 h2 img {
  width: 39.9999999vw;
  /*15px*/
  margin: 0 auto 5.33333332vw;
  /*0 auto 20px*/
}

.wra08 p a {
  text-decoration: underline;
}

p.yasukome {
  width: 45.33333322vw;
  /*150px*/
  margin: 0 auto;
}

.wra02 .sec01 {
  margin-bottom: 7.99999998vw;
  /*30px*/
  padding-top: 7.99999998vw;
  /*30px*/
}

.sec01 {
  position: relative;
  padding-top: 5.33333332vw;
  /*20px*/
  background: #fff;
}

.sec01 h2 {
  position: absolute;
  right: -2.133333328vw;
  /*-8px*/
  top: -10.66666664vw;
  /*-40px*/
  width: 93.3333331vw;
  /*350px*/
}

.sec01 h3 {
  margin-bottom: 0;
  padding: 4.266666656vw 2.133333328vw;
  /*16px 0 8px*/
  border: none;
  background: none;
  font-size: 4.799999988vw;
  /*18px*/
  font-weight: 700;
}

.sec01 h3.nakadai {
  position: absolute;
  top: -4.266666656vw;
  left: 0;
  right: 0;
  width: 79.9999998vw;
  margin: 0 auto;
  padding: 0;
}

.sec01 div {
  padding: 0 2.66666666vw;
}

.sec01 dl {
  margin-bottom: 0;
}

.sec01 p .red {
  color: red;
  font-weight: 700;
}

.sec01 p .orange {
  color: #ff8900;
  font-weight: 700;
}

.sec01 p.yasukome {
  width: 45.33333322vw;
  /*120px*/
  height: 9.599999976vw;
  /*36px*/
  margin: 0 auto 5.33333332vw;
  /*0 auto 20px*/
}

.sec02 {
  position: relative;
  margin-top: 6.66666665vw;
  /*25px*/
  padding: 5.33333332vw 5.33333332vw 0;
  /*20px 20px 0*/
  border-radius: 2.66666666vw;
  /*10px*/
  background: #fff;
}

.sec02::before {
  content: "";
  position: absolute;
  top: -6.66666665vw;
  /*-25px*/
  left: 50%;
  margin-left: -2.66666666vw;
  /*-10px*/
  border: 2.66666666vw solid transparent;
  /*10px*/
  border-bottom: 5.33333332vw solid #fff;
  /*20px*/
}

.sec02 p .under-l {
  background: #e2f6ff;
}

/*202003*/
.mb60 {
  margin-bottom: 7.99999998vw;
} /*margin-bottom: 60px;}*/
.red_txt {
  margin-left: 0;
  margin-right: 0;
  color: #e81344;
  text-align: left;
}
.red {
  color: #e62c00;
}
.red2 {
  color: #e81344;
}
.bleu {
  color: #0065c9;
}

/*//////////ここまで*/

footer {
  padding: 4.799999988vw;
  /*18px*/
  background-color: #c90000;
}

footer .c-container {
  padding: 0 2.66666666vw;
  background: none;
}

footer .copyright {
  margin-bottom: 0;
  color: #fff;
  font-size: 1.4rem;
}

/*
    開閉ボタン
    ---------------------------------*/
.grad-btn {
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 5.33333332vw auto 7.99999998vw;
  /*20px auto 30px*/
  padding: 2.66666666vw 0;
  /*10px auto 0*/
  color: #ed7517;
  border: 0.533333332vw solid #ed7517;
  /*2px*/
  background: #fff;
  font-size: 4.266666656vw;
  /*16px*/
  font-weight: 700;
  text-align: center;
}

.fa::before {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 5.33333332vw;
  /*20px*/
  width: 2.66666666vw;
  /*10px*/
  height: 2.66666666vw;
  /*10px*/
  margin-top: -1.066666664vw;
  /*-4px*/
  background: #ed7517;
}

.fa::after {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 4.266666656vw;
  /*16px*/
  width: 2.66666666vw;
  /*10px*/
  height: 2.66666666vw;
  /*10px*/
  margin-top: -1.066666664vw;
  /*-4px*/
  background: #fff;
}

.fa,
.fa2 {
  display: inline-block;
}

.fa2::before {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 5.33333332vw;
  /*20px*/
  width: 2.66666666vw;
  /*10px*/
  height: 2.66666666vw;
  /*10px*/
  margin-bottom: -1.066666664vw;
  /*-4px*/
  background: #ed7517;
}

.fa2::after {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 6.399999984vw;
  /*24px*/
  width: 2.66666666vw;
  /*10px*/
  height: 2.66666666vw;
  /*10px*/
  margin-bottom: -1.066666664vw;
  /*-4px*/
  background: #fff;
}

.fa-chevron-down:before {
  content: "\f078";
}

.grad-btn::after {
  content: "続きを読む";
  margin-left: 5.33333332vw;
  /*20px*/
}

.grad-item {
  position: relative;
  overflow: hidden;
  height: 47.99999988vw;
  /*180px*/
}

.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 53.3333332vw;
  /*200px*/
  background: -webkit-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.1) 30%,
    rgba(255, 255, 255, 0.9) 60%,
    #fff 100%
  );
  background: linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.9) 30%,
    rgba(255, 255, 255, 0.9) 60%,
    #fff 100%
  );
  background: -ms-linear-gradient(
    top,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.1) 30%,
    rgba(255, 255, 255, 0.9) 60%,
    #fff 100%
  );
  content: "";
}

.grad-trigger {
  display: none;
}

.grad-trigger:checked ~ .grad-btn::after {
  content: "閉じる";
}

.fa2 {
  display: none;
}

.grad-trigger:checked ~ .grad-btn .fa {
  display: none;
}

.grad-trigger:checked ~ .grad-btn .fa2 {
  display: inline-block;
}

.grad-trigger:checked ~ .grad-item {
  height: auto;
}

.grad-trigger:checked ~ .grad-item::before {
  display: none;
}

/*
    ページトップボタン
    ---------------------------------*/
#pageTop {
  z-index: 999;
  position: fixed;
  bottom: 5.33333332vw;
  right: 5.33333332vw;
}

#pageTop a {
  display: block;
  z-index: 999;
  padding: 2.133333328vw 0 0 2.133333328vw;
  border: 0.533333332vw solid #7d7d7d;
  border-radius: 7.99999998vw;
  width: 9.33333331vw;
  height: 9.33333331vw;
  background-color: #000;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

#pageTop span::before {
  content: "";
  position: absolute;
  z-index: 100;
  left: 4.799999988vw;
  top: 5.33333332vw;
  width: 2.66666666vw;
  height: 2.66666666vw;
  border-right: 0.533333332vw solid #fff;
  border-bottom: 0.533333332vw solid #fff;
  transform: rotate(-135deg) translate3d(0, 0, 0.266666666vw);
}

/*タブレット*/
@media screen and (min-width: 641px) {
  /*body {max-width:768px;}*/
  p,
  dl {
    font-size: 2.399999994vw;
  }

  .sec01 h3 {
    font-size: 3.99999999vw;
  }
  h3 {
    font-size: 3.199999992vw;
  }
  h4 {
    font-size: 3.199999992vw;
  }
  .c-btn > span {
    font-size: 2.2rem;
  }
  /* ========== パンくず ========== */
  .l-breadcrumbs--wrapper {
    background-color: #e5e5e5;
    padding: 0;
  }

  .l-breadcrumbs {
    padding: 15px 5.33333332vw;
    box-sizing: border-box;
  }

  .l-breadcrumbs li {
    display: inline-block;
    font-size: 14px;
    position: relative;
    padding-right: 4rem;
    height: 25px;
  }

  .l-breadcrumbs li:not(:last-child) ::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 7px;
    width: 6px;
    height: 6px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    transform: rotate(-45deg) translate3d(0, 0, 1px);
  }

  .l-breadcrumbs li a:hover {
    opacity: 0.7;
  }

  .l-breadcrumbs li img {
    width: 20px;
    position: relative;
    top: 1px;
  }
}

@media screen and (min-width: 768px) {
  .pc {
    display: block !important;
  }

  .sp {
    display: none !important;
  }

  header {
    height: 60px;
  }

  .logo {
    padding: 15px 42px 4px;
    width: 220px;
  }

  h3 {
    box-sizing: border-box;
    width: 944px;
    margin: 0 auto 30px;
    padding: 20px;
    border: double 12px #000;
    font-size: 30px;
    text-align: center;
  }

  h4 {
    font-size: 22px;
  }

  p {
    margin-bottom: 20px;
    font-size: 18px;
  }

  dl {
    margin: 40px 0 100px;
    font-size: 16px;
  }

  dl dt,
  dl dd {
    margin-bottom: 2px;
  }

  figcaption {
    margin-top: 5px;
    font-size: 13px;
  }

  h4.t-center {
    margin: 20px 0;
    text-align: center;
  }

  .button {
    width: 720px;
    margin: 80px auto 0;
  }

  .c-btn {
    width: 720px;
  }

  .c-btn > span {
    padding: 20px 40px;
    font-size: 24px;
    border: 4px solid #ed7517;
  }

  .c-btn2 > span {
    display: block;
    padding: 20px 40px;
    font-size: 24px;
    border: 4px solid #259d6a;
  }

  .c-btn > span strong,
  .c-btn2 > span strong {
    font-size: 36px;
  }

  a.c-btn:before {
    right: 25px;
    margin-top: -15px;
    border: 16px solid transparent;
    border-left: 20px solid #ed7517;
  }

  a.c-btn2:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 24px;
    width: 0;
    height: 0;
    margin-top: -12px;
    border: 12px solid transparent;
    border-left: 12px solid #259d6a;
  }

  a.c-btn:hover:before {
    border-left: 20px solid #fff;
  }

  a.c-btn2:hover:before {
    border-left: 12px solid #fff;
  }

  .mv {
    overflow: hidden;
  }

  .theme {
    position: relative;
    width: 920px;
    margin: 0 auto 170px;
  }

  .theme p {
    margin-top: 60px;
    margin-bottom: 15px;
    font-size: 30px;
    text-align: center;
  }

  p.note {
    font-size: 16px;
    font-weight: 400;
  }

  .theme p.txt:before {
    position: absolute;
    content: "";
    display: inline-block;
    top: 0;
    left: -180px;
    width: 180px;
    height: 142px;
    background: url(../../images/bara_left.png) no-repeat;
    background-size: contain;
  }

  .theme p.txt:after {
    position: absolute;
    content: "";
    display: inline-block;
    top: 0;
    right: -180px;
    width: 180px;
    height: 142px;
    background: url(../../images/bara_right.png) no-repeat;
    background-size: contain;
  }

  .wra01 {
    display: block;
    padding: 50px 0 100px;
  }

  /* ========== 最新記事ボタン ========== */
  .c-latestArticle {
    margin-top: 30px;
  }

  .c-latestArticle button {
    font-size: 18px;
    padding: 10px 80px;
    transition: 0.3s;
  }

  .c-latestArticle button:hover {
    opacity: 0.7;
  }

  /* ========== 過去記事一覧 ========== */
  .c-backnumber {
    font-size: 20px !important;
    margin-bottom: 5rem;
  }

  .wra02 {
    display: block;
    padding: 100px 70px;
  }

  .wra03,
  .wra04,
  .wra05,
  .wra06,
  .wra07,
  .wra08 {
    display: block;
    padding: 80px 70px 100px;
  }

  .wra02 h2 {
    margin-bottom: 60px;
    text-align: center;
  }

  .wra02 h2 img {
    width: 980px;
  }

  .wra02 .come-img {
    width: 480px;
    height: 180px;
    margin: 30px auto 40px;
  }

  .wra03 {
    padding: 20px 70px 100px;
  }

  .wra03 .come-img {
    width: 110px;
    height: 100px;
    margin: 30px auto 40px;
  }

  .wra05 .come-img {
    width: 490px;
    height: 195px;
    margin: 30px auto 40px;
  }

  .wra06 .sec02 {
    box-sizing: border-box;
    width: 1000px;
    margin: 0 auto;
    padding: 50px 70px;
    border-radius: 20px;
  }

  .wra06 .sec02::before {
    content: "";
    position: absolute;
    top: -50px;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-bottom: 40px solid #ffe5f5;
  }

  .wra06 .flex-pc .wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 480px;
    margin-bottom: 0;
  }

  .wra06 .flex-pc .wrap.bottom {
    justify-content: space-between;
  }

  .wra06 .flex-pc .wrap:not(:nth-last-of-type(-n + 2)) {
    margin-bottom: 100px;
  }

  .wra06 .flex-pc,
  .wra07 .flex-pc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1000px;
    margin: 0 auto;
  }

  .wra06 dl {
    margin-top: auto;
  }

  .wra06 .flex-column {
    display: contents;
  }

  .wra06 .flex-column dl {
    margin-top: auto;
  }

  .wra06 h2 {
    margin-bottom: 60px;
    text-align: center;
  }

  .wra06 h2 img {
    width: 1000px;
  }

  .wra07 .content {
    margin-top: auto;
  }

  .wra07 h2 {
    margin-bottom: 30px;
    text-align: center;
  }

  .wra07 h2 img {
    width: 974px;
  }

  .wra07 h3 {
    margin-bottom: 120px;
    font-size: 20px;
  }

  .wra07 dl {
    margin-bottom: 0;
  }

  .wra07 .button {
    width: 500px;
  }

  .wra07 .flex-column {
    position: relative;
    width: 460px;
  }

  .wra07 .unlimited,
  .wra07 .single {
    display: inline-block;
    margin-bottom: 10px;
    padding: 2px 10px;
    background: #ff8b8b;
    color: #fff;
    font-size: 16px;
  }

  .wra07 .single {
    background: #75a9de;
  }

  .wra08 h2 img {
    width: 300px;
    margin: 0 auto 30px;
  }

  .wra08 p {
    text-align: center;
  }

  .sec01 {
    box-sizing: border-box;
    width: 1000px;
    margin: 0 auto;
    padding: 60px;
  }

  .wra02 .sec01 {
    margin-bottom: 80px;
    padding: 60px 60px 30px;
  }

  .sec01 h2 {
    position: absolute;
    right: -75px;
    top: -110px;
    width: 1142px;
  }

  .sec01 h3 {
    width: auto;
    padding: 60px 0 20px;
    font-size: 30px;
  }

  .sec01 h3.nakadai {
    top: -36px;
    width: 640px;
  }

  .sec01 p.yasukome,
  p.yasukome {
    width: 386px;
    height: 121px;
    margin: 30px auto 40px;
  }

  .sec02 {
    box-sizing: border-box;
    width: 1000px;
    margin: 0 auto;
    padding: 30px 70px;
    border-radius: 20px;
  }

  .sec02::before {
    content: "";
    position: absolute;
    top: -50px;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-bottom: 40px solid #fff;
  }

  .grad-btn {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 300px;
    margin: 20px auto 30px;
    padding: 10px 0;
    color: #ed7517;
    border: 2px solid #ed7517;
    background: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
  }

  .fa::before {
    display: block;
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 20px;
    width: 10px;
    height: 10px;
    margin-top: -4px;
    background: #ed7517;
  }

  .fa::after {
    display: block;
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 16px;
    width: 10px;
    height: 10px;
    margin-top: -4px;
    background: #fff;
  }

  .fa,
  .fa2 {
    display: inline-block;
  }

  .fa2::before {
    display: block;
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 20px;
    width: 10px;
    height: 10px;
    margin-bottom: -4px;
    background: #ed7517;
  }

  .fa2::after {
    display: block;
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 24px;
    width: 10px;
    height: 10px;
    margin-bottom: -4px;
    background: #fff;
  }

  .fa-chevron-down:before {
    content: "\f078";
  }

  .grad-btn::after {
    content: "続きを読む";
    margin-left: 20px;
  }

  .grad-item {
    position: relative;
    overflow: hidden;
    height: 180px;
  }

  .grad-item::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background: -webkit-linear-gradient(
      top,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.1) 30%,
      rgba(255, 255, 255, 0.9) 60%,
      #fff 100%
    );
    background: linear-gradient(
      top,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.9) 30%,
      rgba(255, 255, 255, 0.9) 60%,
      #fff 100%
    );
    background: -ms-linear-gradient(
      top,
      rgba(255, 255, 255, 0) 0%,
      rgba(255, 255, 255, 0.1) 30%,
      rgba(255, 255, 255, 0.9) 60%,
      #fff 100%
    );
    content: "";
  }

  .grad-trigger {
    display: none;
  }

  .grad-trigger:checked ~ .grad-btn::after {
    content: "閉じる";
  }

  .fa2 {
    display: none;
  }

  .grad-trigger:checked ~ .grad-btn .fa {
    display: none;
  }

  .grad-trigger:checked ~ .grad-btn .fa2 {
    display: inline-block;
  }

  .grad-trigger:checked ~ .grad-item {
    height: auto;
  }

  .grad-trigger:checked ~ .grad-item::before {
    display: none;
  }
  /* ========== パンくず ========== */
  .l-breadcrumbs {
    width: 1046px;
    margin: 0 auto;
    padding: 15px 10px;
    box-sizing: border-box;
  }

  footer {
    padding: 20px;
  }

  footer .copyright {
    font-size: 14px;
  }

  /*202003 pc*/
  .mb60 {
    margin-bottom: 60px;
  }

  /*
ページトップボタン
---------------------------------*/
  #pageTop {
    z-index: 999;
    position: fixed;
    bottom: 20px;
    right: 40px;
  }

  #pageTop a {
    display: block;
    z-index: 999;
    padding: 8px 0 0 8px;
    border: 2px solid #7d7d7d;
    border-radius: 60px;
    width: 60px;
    height: 60px;
    background-color: #000;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
  }

  #pageTop a:hover {
    text-decoration: none;
    opacity: 0.7;
  }

  #pageTop span::before {
    content: "";
    position: absolute;
    z-index: 100;
    left: 28px;
    top: 32px;
    width: 16px;
    height: 16px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-135deg) translate3d(0, 0, 1px);
  }
}
