@charset "UTF-8";

html {
  /* scroll-behavior: smooth; */
  font-size: 16px;
}

img {
  display: block;
  height: auto;
}

body {
  color: #000;
  font-size: 100%;
  letter-spacing: 0.05em;
  text-size-adjust: 100%;
  overflow-x: hidden;
  margin: 0 !important;
  padding: 0;
}

/* 
:root {
  scroll-padding: 100px;
  scroll-behavior: smooth;
} */

a {
  text-decoration: none;
}

figure {
  line-height: 0;
}

h1,
h2 {
  line-height: 1.6;
  font-weight: bold;
}

div,
span,
h3,
h4,
h5,
h6 {
  line-height: 1.6;
}

p {
  line-height: 2;
  font-weight: 500;
}

svg,
img {
  max-width: 100%;
}

ul,
ol {
  list-style-type: none;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.contents {
  width: 1440px;
  max-width: 100%;
  margin: 0 auto;
}

.inner_s {
  padding-inline: 220em;
}

.inner_l {
  padding-inline: 120em;
}

.sec {
  font-size: 1px;
  font-size: 0.0694444444vw;
}

.pc-mm {
  display: block;
}

.sp-mm {
  display: none;
}

@media screen and (min-width: 1441px) {
  .sec {
    font-size: 1px;
  }
}

@media (max-width: 567px) {
  .sec {
    font-size: 1px;
    font-size: 0.2666666667vw;
  }

  .inner_s {
    padding-inline: 12em;
  }

  .inner_l {
    padding-inline: 12em;
  }

  .pc-mm {
    display: none;
  }

  .sp-mm {
    display: block;
  }
}

/* ヘッダー */
.header {
  background-color: #fff;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.07);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 50px;
  position: sticky;
  top: 0;
  z-index: 9999;
}

.header-logo {
  width: 180px;
}

.header-logo img {
  width: 100%;
}

.header-nav ul {
  list-style: none;
  display: flex;
  gap: 25px;
  margin: 0;
  padding: 0;
}

.header-nav a {
  color: #000;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: color 0.2s;
}

.header-button {
  padding: 10px 24px;
  background-color: rgb(234, 85, 20);
  transition: background-color 0.3s;
  border-radius: 400px;
  font-weight: 700;
  font-size: 16px;
  line-height: 160%;
  color: #fff !important;
  text-decoration: none;
}

@media (max-width: 950px) {
  .header {
    padding: 16px;
  }

  .header-logo {
    max-width: 140px;
    width: 100%;
  }

  .header-nav {
    display: none;
  }

  .header-button {
    padding: 6px 12px;
    font-size: 14px;
  }
}

/* ヘッダー */

/* sec01 */
section.sec01 {
  background-image: url(../images/sec01_fv.webp);
  background-repeat: no-repeat;
  background-size: 100%;
  /* margin-top: 96px; */
}

.sec01_ttl {
  padding-top: 82em;
  padding-bottom: 64em;
  display: flex;
  gap: 236em;
}

.sec01_txt img {
  width: 177em;
  height: auto;
}

.sec01_txt h2 {
  color: #1083BA;

  font-size: 36em;
  font-weight: 700;
  line-height: normal;

}

.sec01_txt h2 span.sec01_back {
  padding-top: 0.4444444444444444em;
  padding-bottom: 0.2222222222222222em;
  padding-inline: 0.2777777777777778em;
  background: #FFF;
  box-shadow: 3px 3px 0 0 rgba(16, 131, 186, 0.70);
}

.sec01_txt h2 span.ai {
  color: #EF5B35;
  font-family: Helvetica;
  text-shadow: 0 0 9px rgba(255, 255, 255, 0.40);
}

.sec01_txt h1 {
  color: #1083BA;
  text-shadow: 0 0 9px rgba(255, 255, 255, 0.40);
  font-size: 36em;
  font-weight: 700;
  line-height: normal;
  margin-top: 0.6944444444444444em;
  margin-bottom: 0.9em;
}

.sec01_txt h1 span.sec01_back {
  padding-top: 0.4444444444444444em;
  padding-bottom: 0.2222222222222222em;
  padding-left: 0.2777777777777778em;
  padding-right: 21px;
  background: #FFF;
  box-shadow: 3px 3px 0 0 rgba(16, 131, 186, 0.70);
}

.sec01_img {
  width: 401em;
  height: auto;
}

.sec01_img img {
  width: 100%;
}

.breadcrumbs {
  background-color: #fff !important;
}

@media (max-width: 567px) {
  section.sec01 {
    background-image: url(../images/sec01_fv_sp.webp);
    /* margin-top: 40px; */
  }

  .sec01_ttl {
    padding-top: 21em;
    padding-bottom: 13em;
    display: flex;
    gap: 15em;
    flex-direction: column;
  }

  .sec01_txt {
    position: relative;
  }

  .sec01_txt img {
    position: absolute;
    width: 131em;
    right: 0em;
    bottom: 0;
  }

  .sec01_txt h2 {
    font-size: 30em;
  }

  .sec01_txt h2 span.sec01_back {
    padding-top: 0.3333333333333333em;
    padding-bottom: 0.3333333333333333em;
    padding-inline: 0.3333333333333333em;
  }

  .sec01_txt h1 {
    font-size: 30em;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }

  .sec01_txt h1 span.sec01_back {
    padding-top: 0.3333333333333333em;
    padding-bottom: 0.3333333333333333em;
    padding-left: 0.3333333333333333em;
    padding-right: 0.3333333333333333em;
  }

  .sec01_img {
    width: 335em;
    margin: 0 auto;
  }
}

/* sec01 */

/* sec02 */
section.sec02 {
  background-color: #C5D1D5;
}

.sec02_ttl {
  padding-top: 100em;
  padding-bottom: 60em;
}

.sec02_ttl h2 {
  text-align: center;
  font-size: 32em;
  font-weight: 700;
  line-height: normal;
}

.sec02_ttl h2 span {
  background: #1083BA;
  color: #fff;
  padding-block: 0.125em;
  padding-inline: 0.40625em;
  margin-inline: 0.1875em;
}

.sec02_list {
  display: flex;
  gap: 20em;
  padding-bottom: 60em;
}

.sec02_box {
  width: 320em;
  padding-top: 30em;
  padding-inline: 30em;
  padding-bottom: 40em;
  background-color: #fff;
  border-radius: 30em;
}

.sec02_box img {
  width: 260em;
  height: auto;
  margin: 0 auto;
}

.sec02_box h2 {
  text-align: center;
  font-size: 20em;
  font-weight: 700;
  line-height: normal;
  padding-block: 1em;
}

.sec02_box h2 span {
  color: #1083BA;
}

.sec02_box p {
  font-size: 16em;
  font-style: normal;
  font-weight: 500;
  line-height: 200%;
}

.white_back {
  background-color: #fff !important;
}

.sec02_last h2 {
  text-align: center;
  font-size: 24em;
  font-style: normal;
  font-weight: 700;
  padding-block: 2.5em;
  line-height: 2;
}

.sec02_last h2 span {
  background: #EF5B35;
  color: #fff;
  padding-inline: 0.625em;
  padding-block: 0.3333333333333333em;
  margin-right: 4px;
}

@media (max-width: 567px) {
  .sec02_ttl {
    padding-top: 60em;
    padding-bottom: 45em;
  }

  .sec02_ttl h2 {
    font-size: 24em;
  }

  .sec02_ttl h2 span {
    padding-block: 0.1666666666666667em;
    padding-inline: 0.2083333333333333em;
    margin-inline: 0.1875em;
  }

  .sec02_list {
    flex-direction: column;
    align-items: center;
    padding-bottom: 65em;
  }

  .sec02_box {
    width: 100%;
    padding-top: 10em;
    padding-inline: 20em;
    padding-bottom: 20em;
    border-radius: 20em;
  }

  .sec02_box-sp {
    display: flex;
    gap: 15em;
    align-items: center;
  }

  .sec02_box img {
    width: 60em;
    margin: 0 auto;
  }

  .sec02_box h2 {
    font-size: 18em;
    padding-block: 0em;
  }

  .sec02_box p {
    font-size: 14em;
    line-height: 180%;
  }

  .sec02_last h2 {
    font-size: 18em;
    padding-block: 2.222222222222222em;
  }

  .sec02_last h2 span {
    padding-inline: 0.2777777777777778em;
    padding-block: 0.2777777777777778em;
    margin-right: 0.2777777777777778em;
  }
}

/* sec02 */

/* sec03 */
section.sec03 {
  background-image: url(../images/sec03.webp);
  background-repeat: no-repeat;
  background-size: cover;
}

.sec03_ttl {
  padding-top: 100em;
}

.sec03_ttl h2 {
  font-size: 32em;
  text-align: center;
  font-weight: 700;
  line-height: normal;
}

.sec03_ttl h2 span {
  color: #EF5B35;
}

.sec03_box {
  padding-bottom: 30em;
}

.sec03_box:last-of-type {
  padding-bottom: 60em;
}

.sec03_num h2 {
  color: #D0D0D0;
  font-size: 139.5em;
  font-family: "century-gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: normal;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.2158273381294964em;
}

.sec03_num h2::after {
  content: '';
  display: block;
  width: 5.842293906810036em;
  height: 0.010752688172043em;
  background: #BABABA;
}

.sec03_contents {
  padding-top: 15em;
  display: flex;
  align-items: center;
  gap: 40em;
}

.sec03_box-img {
  width: 300em;
  height: auto;
}

.sec03_box-img img {
  width: 100%;
}

.sec03_box-txt {
  width: 620em;
}

.sec03_box-txt h2 {
  font-size: 20em;
  font-weight: 700;
  line-height: normal;
  padding-bottom: 0.5em;
}

.sec03_box-txt h2 span {
  color: #EF5B35;
}

.sec03_box-txt p {
  font-size: 16em;
  font-style: normal;
  font-weight: 500;
  line-height: 200%;
}

@media (max-width: 567px) {
  section.sec03 {
    background-image: url(../images/sec03-sp.webp);
    background-repeat: no-repeat;
    background-size: cover;
  }

  .sec03_ttl {
    padding-top: 60em;
  }

  .sec03_ttl h2 {
    font-size: 24em;
  }

  .sec03_box:last-of-type {
    padding-bottom: 65em;
  }

  .sec03_num {
    margin-bottom: 0em;
  }

  .sec03_num h2 {
    font-size: 99.5em;
    gap: 1px;
  }

  .sec03_num h2::after {
    width: 2.402010050251256em;
    height: 1.5px;
    margin-bottom: 0.3015075376884422em;
  }

  .sec03_contents {
    padding-top: 0em;
    flex-direction: column;
    gap: 15em;
  }

  .sec03_box-img {
    width: 351em;
  }

  .sec03_box-img img {
    width: 100%;
  }

  .sec03_box-txt {
    width: 351em;
  }

  .sec03_box-txt p {
    font-size: 14em;
    line-height: 180%;
  }
}

/* sec03 */

/* sec04 */
section.sec04 {
  background-color: #fff;
}

.sec04_ttl {
  padding-top: 100em;
}

.sec04_ttl h2 {
  font-size: 32em;
  text-align: center;
  font-weight: 700;
  line-height: normal;
}

.price-table {
  padding-top: 60em;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.price-table-th {
  width: 281em;
  background-color: #F1F1F1;
  border-left: 1px solid #A7A7A7;
  border-top: 1px solid #A7A7A7;
}

.price-table__item-th {
  height: 70em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 1px solid #A7A7A7;
}

.price-table__item-th:nth-child(1) {
  height: 90em;
}

.price-table__item-th:nth-child(11),
.price-table__item-th:nth-child(13) {
  height: 100em;
}

.price-table__item-th:nth-child(12) {
  height: 100em;
}

.price-table__item-th p {
  font-size: 18em;
  font-weight: 700;
  line-height: normal;
  padding-inline: 1.111111111111111em;
  padding-block: 0.5555555555555556em;
}

.price-table__item-th p span {
  font-size: 0.8888888888888889em;
}

.price-table-recommend {
  width: 241em;
  border-left: none;
  border-top: none;
  flex-shrink: 0;
  border-bottom: 1px solid #A7A7A7;
}

.price-table-recommend .price-table__ttl {
  display: flex;
  color: #fff;
  font-size: 20em;
  background-color: #EF5B35;
  height: 3.9em;
  border-radius: 0.85em 0.85em 0 0;
  align-items: center;
  justify-content: center
}

.price-table__item-recommend {
  height: 70em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #A7A7A7;
  background-color: #fff6f4;
  border-left: 4px solid #EF5B35;
  border-right: 4px solid #EF5B35;
}

.price-table__item-recommend:nth-child(2) {
  height: 90em;
}

.price-table__item-recommend:nth-child(12),
.price-table__item-recommend:nth-child(14) {
  height: 100em;
}

.price-table__item-recommend:nth-child(13) {
  height: 100em;
}

.price-table__item-recommend:nth-child(16) {
  border-bottom: 4px solid #EF5B35;
  border-radius: 0 0 10px 10px;
}

.price-table__item-recommend p {
  font-size: 28em;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  color: #EF5B35;
  padding-inline: 0.4166666666666667em;
}

.price-table__item-recommend p span.en {
  font-size: 0.6428571428571429em;
}

.price-table__item-recommend p span.giga {
  font-size: 0.7142857142857143em;
}

.price-table__item-recommend p.maru_batu {
  font-size: 24em;
}

.price-table__item {
  border-bottom: 1px solid #A7A7A7;
}

.price-table__item p {
  font-size: 18em;
}

.price-table__list-other {
  width: 239em;
  flex-shrink: 0;
  border-right: 1px solid #A7A7A7;
  border-top: 1px solid #A7A7A7;
}

.price-table__list-other .price-table__ttl {
  display: flex;
  color: #000;
  font-size: 18em;
  height: 3.666666666666667em;
  align-items: center;
  justify-content: center
}

.price-table__item-other {
  height: 70em;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #A7A7A7;
}

.price-table__item-other:nth-child(2) {
  height: 90em;
}

.price-table__item-other:nth-child(12),
.price-table__item-other:nth-child(14) {
  height: 100em;
}

.price-table__item-other:nth-child(13) {
  height: 100em;
}

.price-table__item-other:nth-child(16) {
  border-bottom: 1px solid #A7A7A7;
}

.price-table__item-other p {
  font-size: 28em;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  padding-inline: 0.4166666666666667em;
}

.price-table__item-other p span.en {
  font-size: 0.6428571428571429em;
}

.price-table__item-other p span.giga {
  font-size: 0.7142857142857143em;
}

.price-table__item-other p.maru_batu {
  font-size: 24em;
  font-weight: 400;
}

.sec4_txt {
  padding-top: 55em;
  padding-bottom: 80em;
}

.sec4_txt h2 {
  font-size: 24em;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}

.sec4_txt h2 span {
  color: #EF5B35;
}

@media (max-width: 567px) {
  .sec04_ttl {
    padding-top: 60em;
  }

  .sec04_ttl h2 {
    font-size: 24em;
  }

  .price-table {
    padding-top: 45em;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 50em;
  }

  .price-table-th {
    width: 234em;
  }

  .price-table__item-th {
    width: 250em;
    height: 55em;
  }

  .price-table__item-th:nth-child(1) {
    height: 50em;
  }

  .price-table__item-th:nth-child(11),
  .price-table__item-th:nth-child(13) {
    height: 65em;
  }

  .price-table__item-th:nth-child(12) {
    height: 65em;
  }

  .price-table__item-th p {
    font-size: 14em;
    padding-inline: 0.625em;
    padding-block: 1.25em;
  }

  .price-table__item-th p span {
    font-size: 0.75em;
  }

  .price-table-recommend {
    width: 185em;
  }

  .price-table-recommend .price-table__ttl {
    font-size: 18em;
    height: 4em;
    border-radius: 0.9444444444444444em 0.9444444444444444em 0 0;
  }

  .price-table__item-recommend {
    height: 55em;
  }

  .price-table__item-recommend:nth-child(2) {
    height: 50em;
  }

  .price-table__item-recommend:nth-child(12),
  .price-table__item-recommend:nth-child(14) {
    height: 65em;
  }

  .price-table__item-recommend:nth-child(13) {
    height: 65em;
  }

  .price-table__item-recommend:nth-child(16) {
    border-bottom: 4px solid #EF5B35;
    border-radius: 0 0 10px 10px;
  }

  .price-table__item-recommend p {
    white-space: nowrap;
    font-size: 22em;
    padding-inline: 1.041666666666667em;
  }

  .price-table__item-recommend p span.en {
    font-size: 0.75em;
  }

  .price-table__item-recommend p span.giga {
    font-size: 0.75em;
  }

  .price-table__item-recommend p.maru_batu {
    font-size: 16em;
  }

  .price-table__item p {
    font-size: 18em;
  }

  .price-table__list-other {
    width: 185em;
  }

  .price-table__list-other .price-table__ttl {
    height: 3em;
  }

  .price-table__item-other {
    height: 55em;
  }

  .price-table__item-other:nth-child(2) {
    height: 50em;
  }

  .price-table__item-other:nth-child(12),
  .price-table__item-other:nth-child(14) {
    height: 65em;
  }

  .price-table__item-other:nth-child(13) {
    height: 65em;
  }

  .price-table__item-other p {
    white-space: nowrap;
    font-size: 22em;
    padding-inline: 0.75em;
  }

  .price-table__item-other p span.en {
    font-size: 0.75em;
  }

  .price-table__item-other p span.giga {
    font-size: 0.75em;
  }

  .price-table__item-other p.maru_batu {
    font-size: 16em;
  }

  .sec4_txt {
    padding-top: 40em;
    padding-bottom: 40em;
  }

  .sec4_txt h2 {
    font-size: 18em;
  }
}

/* sec04 */

/* sec05 */
section.sec05 {
  background: #F6F5F1;
  padding-bottom: 65px;
}

.sec05_ttl {
  padding-top: 100em;
  padding-bottom: 40em;
}

.sec05_ttl h2 {
  text-align: center;
  font-size: 32em;
  font-weight: 700;
  line-height: normal;
  padding-bottom: 0.625em;
}

.sec05_ttl p {
  text-align: center;
  font-size: 16em;
  font-weight: 500;
  line-height: normal;
}

.sec05_contents-back {
  background-color: #fff;
  position: relative;
}

.sec05-inner_s {
  padding-inline: 50em;
}

.sec05_contents-box {
  padding-top: 40em;
  padding-bottom: 60em;
  display: flex;
  gap: 35em;
  align-items: flex-end;
}

.sec05_contents-img {
  width: 210em;
  margin: 0 auto;
  padding-top: 20em;
  margin-bottom: 42em;
}

.sec05_contents-img img {
  width: 100%;
}

.balloon-001 {
  display: flex;
  justify-content: center;
  position: relative;
}

.balloon-001 p {
  font-size: 24em;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}

.balloon-001 p span {
  border-radius: 1.041666666666667em;
  background-color: #ef5b35;
  color: #ffffff;
  padding-inline: 1.041666666666667em;
  padding-top: 0.2916666666666667em;
  padding-bottom: 0.125em;
}

.balloon-001::before {
  position: absolute;
  bottom: -10em;
  left: 50%;
  width: 16em;
  height: 16em;
  background-color: #ef5b35;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}

/* -----sec05_contents01----- */
.sec05_contents-left01 {
  width: 450em;
  height: 790em;
  border: solid 2px #F1F1F1;
  border-radius: 20em;
}

.sec05_contents-left01 .sec05_contents-left-ttl {
  background-color: #F1F1F1;
  border-radius: 20em 20em 0 0;
}

.sec05_contents-left01 .sec05_contents-left-ttl h2 {
  font-size: 20em;
  font-weight: 700;
  text-align: center;
  padding-top: 1.2em;
  padding-bottom: 1.3em;
}

.sec05_contents-left01 .sec05_contents-left-txt {
  padding-inline: 20em;
  padding-bottom: 30em;
}

@media (max-width: 768px) {
  .sec05_contents-left01 .sec05_contents-left-txt {
    padding-inline: 10em;
  }
}

.sec05_contents-left01 .sec05_contents-left-txt:nth-child(4) {
  padding-bottom: 60em;
}

.sec05_contents-left01 .sec05_contents-left-txt:nth-child(5) {
  padding-bottom: 45em;
}

.sec05_contents-left01 .sec05_contents-left-txt h2 span {
  background-color: #F1F1F1;
  padding-inline: 0.8333333333333333em;
  padding-block: 0.2222222222222222em;
}

.sec05_contents-left01 .sec05_contents-left-txt h2 {
  font-size: 18em;
  padding-bottom: 0.5555555555555556em;
}

@media (max-width: 768px) {
  .sec05_contents-left01 .sec05_contents-left-txt h2 {
    font-size: 17em;
  }
}

.sec05_contents-left01 .sec05_contents-left-txt p {
  font-size: 16em;
  font-weight: 500;
  line-height: 200%;
}

.sec05_contents-center01 {
  width: 30em;
  height: auto;
  padding-bottom: 395em;
}

.sec05_contents-right-border01 {
  margin-top: 34em;
  border: 2px solid #EF5B35;
  border-radius: 20em;
  border-top: none;
  height: 790em;
}

.sec05_contents-right01 {
  width: 450em;
}

.sec05_contents-right01 .sec05_contents-right-ttl {
  background-color: #EF5B35;
  border-radius: 20em 20em 0 0;
}

.sec05_contents-right01 .sec05_contents-right-ttl h2 {
  color: #fff;
  font-size: 20em;
  font-weight: 700;
  text-align: center;
  padding-top: 1.2em;
  padding-bottom: 1.3em;
}

.sec05_contents-right01 .sec05_contents-right-txt {
  padding-inline: 20em;
  padding-bottom: 30em;
}

@media (max-width: 768px) {
  .sec05_contents-right01 .sec05_contents-right-txt {
    padding-inline: 10em;
  }
}

.sec05_contents-right01 .sec05_contents-right-txt:nth-child(5) {
  padding-bottom: 13em;
}

.sec05_contents-right01 .sec05_contents-right-txt h2 {
  color: #fff;
  font-size: 18em;
}

@media (max-width: 768px) {
  .sec05_contents-right01 .sec05_contents-right-txt h2 {
    font-size: 17em;
  }
}

.sec05_contents-right01 .sec05_contents-right-txt h2 span {
  background-color: #EF5B35;
  padding-inline: 0.5555555555555556em;
  padding-block: 0.2222222222222222em;
}

.sec05_contents-right01 .sec05_contents-right-txt p {
  font-size: 16em;
  font-weight: 500;
  line-height: 200%;
  padding-top: 0.625em;
}

/* -----sec05_contents01----- */

/* -----sec05_contents02----- */
.sec05_contents-left02 {
  width: 450em;
  height: 950em;
  border: solid 2px #F1F1F1;
  border-radius: 20em;
}

.sec05_contents-left02 .sec05_contents-left-ttl {
  background-color: #F1F1F1;
  border-radius: 20em 20em 0 0;
}

.sec05_contents-left02 .sec05_contents-left-ttl h2 {
  font-size: 20em;
  font-weight: 700;
  text-align: center;
  padding-top: 1.2em;
  padding-bottom: 1.3em;
}

.sec05_contents-left02 .sec05_contents-left-txt {
  padding-inline: 20em;
  padding-bottom: 51em;
}

@media (max-width: 768px) {
  .sec05_contents-left02 .sec05_contents-left-txt {
    padding-inline: 10em;
  }
}

.sec05_contents-left02 .sec05_contents-left-txt:nth-child(4) {
  padding-bottom: 30em;
}

.sec05_contents-left02 .sec05_contents-left-txt:nth-child(5) {
  padding-bottom: 91em;
}

.sec05_contents-left02 .sec05_contents-left-txt h2 span {
  background-color: #F1F1F1;
  padding-inline: 0.8333333333333333em;
  padding-block: 0.2222222222222222em;
}

.sec05_contents-left02 .sec05_contents-left-txt h2 {
  font-size: 18em;
  padding-bottom: 0.5555555555555556em;
}

@media (max-width: 768px) {
  .sec05_contents-left02 .sec05_contents-left-txt h2 {
    font-size: 17em;
  }
}

.sec05_contents-left02 .sec05_contents-left-txt p {
  font-size: 16em;
  font-weight: 500;
  line-height: 200%;
}

.sec05_contents-center02 {
  width: 30em;
  height: auto;
  padding-bottom: 475em;
}

.sec05_contents-right-border02 {
  margin-top: 34em;
  border: 2px solid #EF5B35;
  border-radius: 20em;
  border-top: none;
  height: 950em;
}

.sec05_contents-right02 {
  width: 450em;
}

.sec05_contents-right02 .sec05_contents-right-ttl {
  background-color: #EF5B35;
  border-radius: 20em 20em 0 0;
}

.sec05_contents-right02 .sec05_contents-right-ttl h2 {
  color: #fff;
  font-size: 20em;
  font-weight: 700;
  text-align: center;
  padding-top: 1.2em;
  padding-bottom: 1.3em;
}

.sec05_contents-right02 .sec05_contents-right-txt {
  padding-inline: 20em;
  padding-bottom: 30em;
}

@media (max-width: 768px) {
  .sec05_contents-right02 .sec05_contents-right-txt {
    padding-inline: 10em;
  }
}

.sec05_contents-right02 .sec05_contents-right-txt:nth-child(4) {
  padding-bottom: 60em;
}

.sec05_contents-right02 .sec05_contents-right-txt h2 {
  color: #fff;
  font-size: 18em;
}

@media (max-width: 768px) {
  .sec05_contents-right02 .sec05_contents-right-txt h2 {
    font-size: 17em;
  }
}

.sec05_contents-right02 .sec05_contents-right-txt h2 span {
  background-color: #EF5B35;
  padding-inline: 0.5555555555555556em;
  padding-block: 0.2222222222222222em;
}

.sec05_contents-right02 .sec05_contents-right-txt p {
  font-size: 16em;
  font-weight: 500;
  line-height: 200%;
  padding-top: 0.625em;
}

/* -----sec05_contents02----- */

/* -----sec05_contents03----- */
.sec05_contents-left03 {
  width: 450em;
  height: 920em;
  border: solid 2px #F1F1F1;
  border-radius: 20em;
}

.sec05_contents-left03 .sec05_contents-left-ttl {
  background-color: #F1F1F1;
  border-radius: 20em 20em 0 0;
}

.sec05_contents-left03 .sec05_contents-left-ttl h2 {
  font-size: 20em;
  font-weight: 700;
  text-align: center;
  padding-top: 1.2em;
  padding-bottom: 1.3em;
}

.sec05_contents-left03 .sec05_contents-left-txt {
  padding-inline: 20em;
  padding-bottom: 30em;
}

@media (max-width: 768px) {
  .sec05_contents-left03 .sec05_contents-left-txt {
    padding-inline: 10em;
  }
}

.sec05_contents-left03 .sec05_contents-left-txt:nth-child(4) {
  padding-bottom: 60em;
}

.sec05_contents-left03 .sec05_contents-left-txt h2 span {
  background-color: #F1F1F1;
  padding-inline: 0.8333333333333333em;
  padding-block: 0.2222222222222222em;
}

.sec05_contents-left03 .sec05_contents-left-txt h2 {
  font-size: 18em;
  padding-bottom: 0.5555555555555556em;
}

@media (max-width: 768px) {
  .sec05_contents-left03 .sec05_contents-left-txt h2 {
    font-size: 17em;
  }
}

.sec05_contents-left03 .sec05_contents-left-txt p {
  font-size: 16em;
  font-weight: 500;
  line-height: 200%;
}

.sec05_contents-center03 {
  width: 30em;
  height: auto;
  padding-bottom: 460em;
}

.sec05_contents-right-border03 {
  margin-top: 34em;
  border: 2px solid #EF5B35;
  border-radius: 20em;
  border-top: none;
  height: 920em;
}

.sec05_contents-right03 {
  width: 450em;
}

.sec05_contents-right03 .sec05_contents-right-ttl {
  background-color: #EF5B35;
  border-radius: 20em 20em 0 0;
}

.sec05_contents-right03 .sec05_contents-right-ttl h2 {
  color: #fff;
  font-size: 20em;
  font-weight: 700;
  text-align: center;
  padding-top: 1.2em;
  padding-bottom: 1.3em;
}

.sec05_contents-right03 .sec05_contents-right-txt {
  padding-inline: 20em;
  padding-bottom: 30em;
}

@media (max-width: 768px) {
  .sec05_contents-right03 .sec05_contents-right-txt {
    padding-inline: 10em;
  }
}

.sec05_contents-right03 .sec05_contents-right-txt h2 {
  color: #fff;
  font-size: 18em;
}

@media (max-width: 768px) {
  .sec05_contents-right03 .sec05_contents-right-txt h2 {
    font-size: 17em;
  }
}

.sec05_contents-right03 .sec05_contents-right-txt h2 span {
  background: #EF5B35;
  padding-inline: 0.5555556em;
  padding-block: 0.2222222em;
}

.sec05_contents-right03 .sec05_contents-right-txt h2.sec05_contents-right-txt03 {
  background: #EF5B35;
  padding-inline: 0.5555556em;
  padding-block: 0.2222222em;
  width: 15em;
  white-space: nowrap;

}

.sec05_contents-right03 .sec05_contents-right-txt p {
  font-size: 16em;
  font-weight: 500;
  line-height: 200%;
  padding-top: 0.625em;
}

/* -----sec05_contents03----- */
/* ===== sec05 Swiper（PC・SP共通） ===== */
.sec05-swiper {
  overflow: hidden;
  padding-bottom: 60em;
}

.sec05-swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.sec05-swiper .sec05_contents-box {
  width: auto;
}

/* デフォルトの矢印（::after）を消す */
.sec05-swiper-prev::after,
.sec05-swiper-next::after {
  display: none;
}

/* 共通設定 */
.sec05-swiper-prev,
.sec05-swiper-next {
  width: 50em !important;
  height: 50em !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* 前へ（preview.svg） */
.sec05-swiper-prev {
  background-image: url(../images/preview.svg);
}

/* 次へ（next.svg） */
.sec05-swiper-next {
  background-image: url(../images/next.svg);
}

/* ホバー（任意） */
.sec05-swiper-prev:hover,
.sec05-swiper-next:hover {
  opacity: 0.8;
}

@media (max-width: 567px) {
  section.sec05 {
    padding-bottom: 0px;
  }

  .sec05_ttl {
    padding-top: 60em;
    padding-bottom: 30em;
  }

  .sec05_ttl h2 {
    font-size: 24em;
    padding-bottom: 0.8333333333333333em;
  }

  .sec05-inner_s {
    padding-inline: 0em;
  }

  .sec05_contents-back {
    background-color: unset;
  }

  .sec05_contents-box {
    padding-top: 30em;
    padding-bottom: 60em;
    flex-direction: column;
    align-items: center;
    gap: 0em;
  }

  .sec05_contents-img {
    width: 156em;
    padding-top: 14em;
    margin-bottom: 19em;
  }

  .sec05_contents-img img {
    width: 100%;
  }

  .balloon-001 {
    display: flex;
    justify-content: center;
    position: relative;
  }

  .balloon-001::before {
    position: absolute;
    bottom: -10em;
    left: 50%;
    transform: translateX(-50%);
    width: 16em;
    height: 16em;
    background-color: #ef5b35;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
  }

  .balloon-001 p {
    font-size: 22em;
  }

  .balloon-001 p span {
    padding-top: 0.3em;
    padding-bottom: 0.25em;
  }

  /* -----sec05_contents01----- */
  .sec05_contents-left01 {
    width: 351em;
    height: auto;
    border: solid 2px #F1F1F1;
    border-radius: 20em;
    background-color: #fff;
  }

  .sec05_contents-left01 .sec05_contents-left-ttl {
    background-color: #F1F1F1;
    border-radius: 20em 20em 0 0;
  }

  .sec05_contents-left01 .sec05_contents-left-ttl h2 {
    padding-top: 0.65em;
    padding-bottom: 0.65em;
  }

  .sec05_contents-left01 .sec05_contents-left-txt {
    padding-inline: 20em;
    padding-bottom: 20em;
  }

  .sec05_contents-left01 .sec05_contents-left-txt:nth-child(4) {
    padding-bottom: 20em;
  }

  .sec05_contents-left01 .sec05_contents-left-txt:nth-child(5) {
    padding-bottom: 20em;
  }

  .sec05_contents-left01 .sec05_contents-left-txt h2 span {
    background-color: #F1F1F1;
    padding-inline: 0.625em;
    padding-block: 0.25em;
  }

  .sec05_contents-left01 .sec05_contents-left-txt h2 {
    font-size: 16em;
    padding-bottom: 0.625em;
  }

  .sec05_contents-left01 .sec05_contents-left-txt p {
    font-size: 14em;
    line-height: 180%;
  }

  .sec05_contents-center01 {
    width: 30em;
    height: auto;
    transform: rotate(90deg);
    transform-origin: center;
    padding-bottom: 0em;
  }

  .sec05_contents-right-border01 {
    margin-top: 25em;
    border: 2px solid #EF5B35;
    border-radius: 20em;
    border-top: none;
    height: auto;
    background-color: #fff;
  }

  .sec05_contents-right01 {
    width: 351em;
  }

  .sec05_contents-right01 .sec05_contents-right-ttl {
    background-color: #EF5B35;
    border-radius: 20em 20em 0 0;
  }

  .sec05_contents-right01 .sec05_contents-right-ttl h2 {
    padding-top: 0.65em;
    padding-bottom: 0.65em;
  }

  .sec05_contents-right01 .sec05_contents-right-txt {
    padding-inline: 20em;
    padding-bottom: 20em;
  }

  .sec05_contents-right01 .sec05_contents-right-txt:nth-child(5) {
    padding-bottom: 20em;
  }

  .sec05_contents-right01 .sec05_contents-right-txt h2 {
    font-size: 16em;
  }

  .sec05_contents-right01 .sec05_contents-right-txt h2 span {
    padding-inline: 0.625em;
    padding-block: 0.25em;
  }

  .sec05_contents-right01 .sec05_contents-right-txt p {
    font-size: 14em;
    font-weight: 500;
    line-height: 180%;
    padding-top: 0.7142857142857143em;
  }

  /* -----sec05_contents01----- */

  /* -----sec05_contents02----- */
  .sec05_contents-left02 {
    width: 351em;
    height: auto;
    background-color: #fff;
  }

  .sec05_contents-left02 .sec05_contents-left-ttl {
    background-color: #F1F1F1;
    border-radius: 20em 20em 0 0;
  }

  .sec05_contents-left02 .sec05_contents-left-ttl h2 {
    padding-bottom: 0.65em;
  }

  .sec05_contents-left02 .sec05_contents-left-txt {
    padding-inline: 20em;
    padding-bottom: 20em;
  }

  .sec05_contents-left02 .sec05_contents-left-txt:nth-child(4) {
    padding-bottom: 20em;
  }

  .sec05_contents-left02 .sec05_contents-left-txt:nth-child(5) {
    padding-bottom: 20em;
  }

  .sec05_contents-left02 .sec05_contents-left-txt h2 span {
    background-color: #F1F1F1;
    padding-inline: 0.625em;
    padding-block: 0.25em;
  }

  .sec05_contents-left02 .sec05_contents-left-txt h2 {
    font-size: 16em;
    padding-bottom: 0.625em;
  }

  .sec05_contents-left02 .sec05_contents-left-txt h2.sec05_contents-left-txt02 {
    background: #F1F1F1;
    padding-inline: 0.5555556em;
    padding-block: 0.2222222em;
    width: 12.25em;
    white-space: nowrap;
  }

  .sec05_contents-left02 .sec05_contents-left-txt p {
    font-size: 14em;
    line-height: 180%;
  }

  .sec05_contents-center02 {
    width: 30em;
    height: auto;
    transform: rotate(90deg);
    transform-origin: center;
    padding-bottom: 0em;
  }

  .sec05_contents-right-border02 {
    margin-top: 25em;
    border: 2px solid #EF5B35;
    border-radius: 20em;
    border-top: none;
    height: auto;
    background-color: #fff;
  }

  .sec05_contents-right02 {
    width: 351em;
  }

  .sec05_contents-right02 .sec05_contents-right-ttl {
    background-color: #EF5B35;
    border-radius: 20em 20em 0 0;
  }

  .sec05_contents-right02 .sec05_contents-right-ttl h2 {
    padding-top: 0.65em;
    padding-bottom: 0.65em;
  }

  .sec05_contents-right02 .sec05_contents-right-txt {
    padding-inline: 20em;
    padding-bottom: 20em;
  }

  .sec05_contents-right02 .sec05_contents-right-txt:nth-child(4) {
    padding-bottom: 20em;
  }

  .sec05_contents-right02 .sec05_contents-right-txt:nth-child(4) {
    padding-bottom: 20em;
  }

  .sec05_contents-right02 .sec05_contents-right-txt h2 {
    font-size: 16em;
  }

  .sec05_contents-right02 .sec05_contents-right-txt h2 span {
    padding-inline: 0.625em;
    padding-block: 0.625em;
  }

  .sec05_contents-right02 .sec05_contents-right-txt h2.sec05_contents-right-txt02 {
    background: #EF5B35;
    padding-inline: 0.5555556em;
    padding-block: 0.2222222em;
    width: 12.25em;
    white-space: nowrap;
  }

  .sec05_contents-right02 .sec05_contents-right-txt p {
    font-size: 14em;
    line-height: 180%;
    padding-top: 0.7142857142857143em;
  }

  /* -----sec05_contents02----- */

  /* -----sec05_contents03----- */
  .sec05_contents-left03 {
    width: 351em;
    height: auto;
    border: solid 2px #F1F1F1;
    border-radius: 20em;
    background-color: #fff;
  }

  .sec05_contents-left03 .sec05_contents-left-ttl {
    background-color: #F1F1F1;
    border-radius: 20em 20em 0 0;
  }

  .sec05_contents-left03 .sec05_contents-left-ttl h2 {
    padding-top: 0.65em;
    padding-bottom: 0.65em;
  }

  .sec05_contents-left03 .sec05_contents-left-txt {
    padding-inline: 20em;
    padding-bottom: 20em;
  }

  .sec05_contents-left03 .sec05_contents-left-txt:nth-child(4) {
    padding-bottom: 20em;
  }

  .sec05_contents-left03 .sec05_contents-left-txt h2 span {
    background-color: #F1F1F1;
    padding-inline: 0.625em;
    padding-block: 0.25em;
  }

  .sec05_contents-left03 .sec05_contents-left-txt h2 {
    font-size: 16em;
    padding-bottom: 0.625em;
  }

  .sec05_contents-left03 .sec05_contents-left-txt p {
    font-size: 14em;
    line-height: 180%;
  }

  .sec05_contents-center03 {
    width: 30em;
    height: auto;
    transform: rotate(90deg);
    transform-origin: center;
    padding-bottom: 0em;
  }

  .sec05_contents-right-border03 {
    margin-top: 25em;
    border: 2px solid #EF5B35;
    border-radius: 20em;
    border-top: none;
    height: auto;
    background-color: #fff;
  }

  .sec05_contents-right03 {
    width: 351em;
  }

  .sec05_contents-right03 .sec05_contents-right-ttl {
    background-color: #EF5B35;
    border-radius: 20em 20em 0 0;
  }

  .sec05_contents-right03 .sec05_contents-right-ttl h2 {
    padding-top: 0.65em;
    padding-bottom: 0.65em;
  }

  .sec05_contents-right03 .sec05_contents-right-txt {
    padding-inline: 20em;
    padding-bottom: 20em;
  }

  .sec05_contents-right03 .sec05_contents-right-txt h2 {
    font-size: 16em;
  }

  .sec05_contents-right03 .sec05_contents-right-txt h2 span {
    padding-inline: 0.625em;
    padding-block: 0.25em;
  }

  .sec05_contents-right03 .sec05_contents-right-txt h2.sec05_contents-right-txt03 {
    background: #EF5B35;
    padding-inline: 0.5555556em;
    padding-block: 0.2222222em;
    width: 15em;
    white-space: nowrap;
  }

  .sec05_contents-right03 .sec05_contents-right-txt p {
    font-size: 14em;
    line-height: 180%;
    padding-top: 0.7142857142857143em;
  }

  /* -----sec05_contents03----- */
  /* ===== sec05 Swiper（PC・SP共通） ===== */
  .sec05-swiper {
    overflow: hidden;
    padding-bottom: 60em;
  }

  .sec05-swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }

  .sec05-swiper .sec05_contents-box {
    width: auto;
  }

  /* デフォルトの矢印（::after）を消す */
  .sec05-swiper-prev::after,
  .sec05-swiper-next::after {
    display: none;
  }

  /* 共通設定 */
  .sec05-swiper-prev,
  .sec05-swiper-next {
    width: 35em !important;
    height: 35em !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    top: 46% !important;
  }

  /* 前へ（preview.svg） */
  .sec05-swiper-prev {
    background-image: url(../images/preview.svg);
  }

  /* 次へ（next.svg） */
  .sec05-swiper-next {
    background-image: url(../images/next.svg);
  }

  /* ホバー（任意） */
  .sec05-swiper-prev:hover,
  .sec05-swiper-next:hover {

    opacity: 0.8;
  }

}

/* sec05 */

/* sec06 */
section.sec06 {
  background-color: #F3FBFF;
}

.sec06_ttl {
  padding-top: 100em;
  padding-bottom: 40em;
}

.sec06_ttl h2 {
  text-align: center;
  font-size: 32em;
  font-weight: 700;
  line-height: normal;
}

.sec06_img {
  width: 1000em;
  padding-bottom: 80em;
}

@media (max-width: 567px) {
  section.sec06 {
    background-color: #F3FBFF;
    padding-bottom: 65px;
  }

  .sec06_ttl {
    padding-top: 60em;
    padding-bottom: 45em;
  }

  .sec06_ttl h2 {
    font-size: 24em;
  }

  /* スクロールする箱 */
  .sec06_img.scroll {
    width: 100%;
    padding-bottom: 0em;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* 中の画像をはみ出させる */
  .sec06_img.scroll img {
    display: block;
    width: 845em;
    max-width: none;
  }

  .sec06 .sp-mm {
    padding-top: 30em;
  }

  .sec06 .sp-mm h2 {
    color: #FFF;
    text-align: center;
    font-size: 14em;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 2.142857142857143em;
  }

  .sec06 .sp-mm h2 span {
    padding: 0.5em;
    border-radius: 50px;
    background: #B2B2B2;
  }

  .sec06 .sp-mm p span {
    display: inline-block;
    width: 0.5625em;
    height: 0.5625em;
    margin-right: 0.3125em;
  }

  .sec06 .sp-mm p {
    white-space: nowrap;
    padding-left: 0.6em;
    color: #494949;
    font-size: 16em;
    font-weight: 700;
    line-height: 200%;
  }

  .sec06 .sp-mm h2.mobile {
    margin-top: 40px;
    margin-bottom: 30px;
  }

  .sec06 .sp-mm p.mobile_p {
    padding-left: 0;
    color: #000;
    text-align: center;
    font-size: 20em;
    font-weight: 700;
    line-height: normal;
  }

  .sec06 .sp-mm p span.mobile_span {
    width: unset;
    height: auto;
    margin-right: 0;
    font-size: 0.7em;
    color: #000;
    font-weight: 700;
    line-height: normal;
  }

  .sec06 .sp-mm p.attention {
    margin-top: 2.142857142857143em;
    color: #000;
    text-align: center;
    font-size: 14em;
    font-weight: 500;
    line-height: normal;
  }
}


/* sec06 */

/* sec07 */
section.sec07 {
  background-color: #fff;
}

.sec07_ttl {
  padding-top: 100em;
  padding-bottom: 40em;
}

.sec07_ttl h2 {
  text-align: center;
  font-size: 32em;
  font-weight: 700;
  line-height: normal;
}

.sec07_box {
  width: 1000em;
  height: 220em;
  background: #F6F5F1;
  display: flex;
  gap: 30em;
  justify-content: center;
  align-items: center;
  padding-left: 80em;
  padding-right: 60em;
}

.sec07_img {
  width: 112em;
  height: 112em;
}

.sec07_txt {
  width: 718em;
}

.sec07_txt h2 {
  color: #EF5B35;
  font-size: 20em;
  font-weight: 700;
  line-height: normal;
}

.sec07_txt h2 span {
  color: #EF5B35;
  border-left: 1px solid #EF5B35;
  margin-left: 0.7em;
  padding-left: 0.5em;
}

.sec07_txt p {
  font-size: 16em;
  padding-top: 0.625em;
  font-weight: 700;
  line-height: 200%;
}

.sec07_arrow {
  width: 109em;
  margin: 0 auto;
  padding-block: 20em;
}

@media (max-width: 567px) {
  .sec07_ttl {
    padding-top: 60em;
    padding-bottom: 45em;
  }

  .sec07_ttl h2 {
    font-size: 24em;
  }

  .sec07_box {
    width: 100%;
    height: auto;
    padding-left: 0em;
    padding-right: 0em;
    padding: 20em;
    align-items: flex-start;
    flex-direction: column;
    gap: 15em;
  }

  .sec07_img {
    width: unset;
    height: auto;
    display: flex;
    gap: 10em;
    align-items: center;
  }

  .sec07_img img {
    width: 62em;
    height: 62em;
  }

  .sec07_img h2 {
    color: #EF5B35;
    font-size: 20em;
    font-weight: 700;
    line-height: 1.3;
  }

  .sec07_txt {
    width: unset;
  }

  .sec07_txt p {
    padding-top: 0em;
    font-size: 14em;
    font-weight: 500;
    line-height: 180%;
  }

  .sec07_arrow {
    width: 73em;
    margin: 0 auto;
    padding-block: 10em;
  }
}

/* sec07 */

/* sec08 */
section.sec08 {
  background-color: #fff;
  padding-bottom: 60px;
}

.sec08_ttl {
  padding-top: 100em;
  padding-bottom: 40em;
}

.sec08_ttl h2 {
  text-align: center;
  font-size: 32em;
  font-weight: 700;
  line-height: normal;
}

.qa-1 {
  border: 2px solid #F6F5F1;
  margin-bottom: 40em;
}

/* ===== summary ===== */
.qa-1 summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  font-size: 18em;
  padding-left: 4.222222222222222em;
  padding-right: 1.3125em;
  padding-block: 1.666666666666667em;
  list-style: none;
}

.qa-1 summary::-webkit-details-marker {
  display: none;
}

/* Qアイコン（サイズ変更できる版） */
.qa-1 summary::before {
  content: "";
  position: absolute;
  left: 1.111111111111111em;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  height: 2em;
  background: url("../images/q.svg") no-repeat center / contain;
}

/* ＋／− アイコン（閉：＋ ／ 開：−） */
.qa-1 summary::after {
  content: "";
  position: absolute;
  right: 1.166666666666667em;
  top: 50%;
  width: 1.388888888888889em;
  height: 1.388888888888889em;
  transform: translateY(-50%);
  transition: background .3s;

  background:
    linear-gradient(#EF5B35, #EF5B35) center / 25px 2px no-repeat,
    linear-gradient(#EF5B35, #EF5B35) center / 2px 25px no-repeat;
}

.qa-1[open] summary::after {
  background:
    linear-gradient(#EF5B35, #EF5B35) center / 25px 2px no-repeat;
}

/* ===== answer ===== */
.qa-1 p {
  font-size: 16em;
  font-weight: 500;
  line-height: 200%;
  padding-left: 4.75em;
  padding-right: 1.3125em;
  padding-bottom: 2.5em;
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
  transform: none;
  opacity: 1;
}

/* Aアイコン（サイズ変更できる版） */
.qa-1 p::before {
  content: "";
  position: absolute;
  left: 1.25em;
  top: 0.2em;
  /* 必要なら微調整 */
  width: 2.25em;
  height: 2.25em;
  background: url("../images/a.svg") no-repeat center / contain;
}

@media (max-width: 567px) {
  .sec08_ttl {
    padding-top: 60em;
    padding-bottom: 50em;
  }

  .sec08_ttl h2 {
    font-size: 24em;
  }

  .qa-1 {
    border: 2px solid #F6F5F1;
    margin-bottom: 20em;
  }

  /* ===== summary ===== */
  .qa-1 summary {
    font-size: 16em;
    padding-left: 3.125em;
    padding-right: 1.25em;
    padding-block: 1.25em;
  }

  /* Qアイコン（サイズ変更できる版） */
  .qa-1 summary::before {
    left: 0.625em;
    width: 2em;
    height: 2em;
  }

  /* ＋／− アイコン（閉：＋ ／ 開：−） */
  .qa-1 summary::after {
    content: "";
    position: absolute;
    right: 0.25em;
    top: 50%;
    width: 1.25em;
    height: 1.25em;

    background:
      linear-gradient(#EF5B35, #EF5B35) center / 20px 2px no-repeat,
      linear-gradient(#EF5B35, #EF5B35) center / 2px 20px no-repeat;
  }

  .qa-1[open] summary::after {
    background:
      linear-gradient(#EF5B35, #EF5B35) center / 20px 2px no-repeat;
  }

  /* ===== answer ===== */
  .qa-1 p {
    font-size: 14em;
    line-height: 160%;
    padding-left: 3.571428571428571em;
    padding-right: 1.428571428571429em;
    padding-bottom: 1.428571428571429em;
  }

  /* Aアイコン（サイズ変更できる版） */
  .qa-1 p::before {
    left: 0.7142857142857143em;
    top: 0.2em;
    width: 2.285714285714286em;
    height: 2.285714285714286em;
  }
}

/* sec08 */