@charset "UTF-8";
/*
COMPONENT
  1.1. TITLE.
  1.2. HEADING.
  1.3. TEXT.
  1.4. ICON, ARROW.
  1.5. LINK.
  1.6. BUTTON.
  1.7. BOX.
  1.8. TAG.
  1.9. IMAGE.
  1.10. GALLERY.
  1.11. CARD.
  1.12. BANNER.
  1.13. CHART.
  1.14. BLOCK.
  1.15. POST.
  1.16. GROUP.
  1.17. ITEM.
  1.18. TABLE.
  1.19. MAP.
  1.20. LOGO.
SAVE AIR PAGE
*/
/*====================================================================================
1. START COMMON ONLY CHILD PAGE.
====================================================================================*/
#cm-main {
  position: relative;
}

/*---------- VISUALLY HIDDEN ----------*/
.c-visually-hidden:not(:focus):not(:active) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

/*---------- START BREADCRUMB ----------*/
.breadcrumb ul {
  display: flex;
  padding: 1rem 0;
}
.breadcrumb ul li {
  position: relative;
  display: flex;
  align-items: center;
  margin-right: 2.3rem;
  padding-right: 22px;
  font-size: 1.5rem;
  letter-spacing: 0.025em;
  color: #000;
}
.breadcrumb ul li:first-child a {
  color: #afaba2;
}
.breadcrumb ul li:after {
  content: "";
  position: absolute;
  top: 1rem;
  right: 0;
  display: inline-block;
  padding: 0.3rem;
  border: solid #000000;
  border-width: 0 0.1rem 0.1rem 0;
  transform: rotate(-45deg);
}
.breadcrumb ul li:last-child {
  display: -webkit-box;
  padding-right: 0;
  overflow: hidden;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
}
.breadcrumb ul li:last-child:after {
  content: none;
}
.breadcrumb ul li:nth-child(2) {
  white-space: nowrap;
}
.breadcrumb ul li a {
  text-decoration: none;
}
.breadcrumb ul li a:hover {
  text-decoration: underline;
  color: #a3a3a3;
}

@media only screen and (max-width: 767px) {
  .breadcrumb {
    display: none;
  }
}
/*---------- START TITLE PAGE ----------*/
.ttl-page {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.ttl-page h1 {
  display: inline-block;
  background-color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.025em;
  color: #006eb6;
}

@media only screen and (max-width: 767px) {
  .ttl-page {
    height: 40vw;
    max-height: 20rem;
  }
  .ttl-page h1 {
    padding: 0.5rem 1.5rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .ttl-page {
    height: 20rem;
  }
  .ttl-page h1 {
    padding: 0.5rem 3.5rem;
    font-size: 3.6rem;
  }
}
/*---------- CM TITLE ----------*/
.cm-title {
  font-weight: 600;
  letter-spacing: 0.075em;
  color: #ffffff;
  background: #006eb6;
}

@media only screen and (min-width: 768px) {
  .cm-title {
    padding: 1.9rem 3rem 2.3rem;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-title {
    padding: 1rem;
    font-size: 1.8rem;
  }
}
/*---------- CM TITLE 02 ----------*/
.cm_title02 {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.025em;
}
.cm_title02:after {
  content: "";
  position: absolute;
  left: 0;
  width: 8.5rem;
  background: #006eb6;
}

@media only screen and (max-width: 767px) {
  .cm_title02 {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    font-size: 1.8rem;
    border-bottom: 0.2rem solid #a7a9ac;
  }
  .cm_title02:after {
    bottom: -0.2rem;
    height: 0.2rem;
  }
  .cm_title02 img {
    margin: 0.5rem 0.5rem 0 -0.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm_title02 {
    margin-bottom: 3.5rem;
    padding-bottom: 2.2rem;
    font-size: 2.5rem;
    border-bottom: 0.3rem solid #a7a9ac;
  }
  .cm_title02:after {
    bottom: -0.3rem;
    height: 0.3rem;
  }
  .cm_title02 img {
    margin: 1rem 1.4rem 0 -0.2rem;
  }
}
/*---------- CM TITLE 03 ----------*/
.cm_title03 {
  font-weight: 600;
  background: #eaeef1;
}

@media only screen and (min-width: 768px) {
  .cm_title03 {
    padding: 1.3rem 2.6rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm_title03 {
    padding: 1rem;
    font-size: 1.8rem;
  }
}
/*---------- CM TITLE 04 ----------*/
.cm_title04 {
  position: relative;
  padding-bottom: 2rem;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.025em;
  color: #006eb6;
}
.cm_title04::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 6rem;
  height: 0.3rem;
  background: #006eb6;
  transform: translateX(-50%);
}

/*---------- CM BUTTON 01 ----------*/
.cm-btn01 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  color: #006eb6;
  background: #ffffff;
  border: 0.2rem solid #006eb6;
  transition: 0.3s all;
}
.cm-btn01:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  border: solid #006eb6;
  border-width: 0 0.2rem 0.2rem 0;
  transform: translateY(-50%) rotate(-45deg);
  transition: 0.3s all;
}
.cm-btn01__prev {
  color: #000;
  border: 0.2rem solid #000;
}
.cm-btn01__prev:hover {
  color: #ffffff;
  background: #000;
}
.cm-btn01__prev:hover:after {
  border: solid #ffffff;
  border-width: 0 0.2rem 0.2rem 0;
}
.cm-btn01__prev:after {
  content: "";
  position: absolute;
  border: solid #000;
  border-width: 0 0.2rem 0.2rem 0;
  transform: translateY(-50%) rotate(135deg);
}

@media only screen and (max-width: 767px) {
  .cm-btn01 {
    max-width: 25rem;
    height: 5rem;
  }
  .cm-btn01:after {
    right: 1.5rem;
    padding: 0.3rem;
  }
  .cm-btn01__prev:after {
    right: 1.5rem;
    right: auto;
    left: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-btn01 {
    max-width: 46rem;
    height: 9rem;
  }
  .cm-btn01:after {
    right: 2.5rem;
    padding: 0.4rem;
  }
  .cm-btn01:hover {
    color: #ffffff;
    background: #006eb6;
  }
  .cm-btn01:hover:after {
    border: solid #ffffff;
    border-width: 0 0.2rem 0.2rem 0;
  }
  .cm-btn01__prev:after {
    right: auto;
    left: 2.5rem;
  }
}
/*---------- SECTION TEXT CENTER ----------*/
.section-text_center {
  text-align: center;
}
.section-text_center p {
  margin: 0;
  font-weight: 600;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 767px) {
  .section-text_center {
    padding: 4rem 1.2rem;
  }
  .section-text_center p {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-text_center {
    padding: 7rem 0 7.8rem;
  }
  .section-text_center p {
    font-size: 2.4rem;
  }
}
/*---------- SECTION MENU LIST ----------*/
.section-menu_list {
  display: flex;
  flex-wrap: wrap;
}
.section-menu_list a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 3.5rem 2rem 1.5rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.01em;
  color: #000;
  background: #f0f0f0;
  border-radius: 0.5rem;
  transition: 0.3s all;
}
.section-menu_list a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.7rem;
  display: inline-block;
  margin-top: -0.2rem;
  padding: 0.3rem;
  border: solid black;
  border-width: 0 0.2rem 0.2rem 0;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s all;
}
.section-menu_list a span.sub {
  transform: translateY(0.25em);
  display: inline-block;
}

@media only screen and (max-width: 767px) {
  .section-menu_list {
    gap: 1.5rem;
  }
  .section-menu_list.section-menu_list_col a {
    width: calc(50% - 0.75rem);
  }
  .section-menu_list.section-menu_list_col a:after {
    right: 1.5rem;
  }
  .section-menu_list a {
    width: 100%;
    height: 7rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-menu_list {
    gap: 2.5rem;
  }
  .section-menu_list a {
    width: calc(33.3333333333% - 1.6666666667rem);
    height: 9rem;
  }
  .section-menu_list a:hover {
    color: #ffffff;
    background: #006eb6;
  }
  .section-menu_list a:hover:after {
    border: solid #ffffff;
    border-width: 0 0.2rem 0.2rem 0;
  }
}
/*---------- SECTION MENU BLUE ----------*/
.section-menu_blue {
  background: #dce6f0;
}
.section-menu_blue a {
  background: #ffffff;
}

@media only screen and (max-width: 767px) {
  .section-menu_blue {
    margin-bottom: 5rem;
    padding: 3rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .section-menu_blue {
    margin-bottom: 10rem;
    padding: 6rem 0;
  }
}
/*---------- SECTION BOX 1 ----------*/
.section-box1__ct .tit {
  font-weight: 600;
  letter-spacing: 0.075em;
  border-bottom: 0.2rem solid #959595;
}
.section-box1__ct .list_cat {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}
.section-box1__ct .list_cat span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 8.4rem;
  padding: 0.7rem 1.4rem;
  font-size: 1.4rem;
  font-weight: 600;
  color: #006eb6;
  background: #e9f6fe;
  border-radius: 0.5rem;
}
.section-box1__ct .link:after {
  content: "";
  display: block;
  clear: both;
}
.section-box1__ct .link a {
  position: relative;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.075em;
  color: #000;
  transition: 0.3s all;
}

.section-box1__inner:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.section-box1__img img {
  display: block;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .section-box1 {
    margin-bottom: 5rem;
  }
  .section-box1__ct {
    width: 100%;
  }
  .section-box1__ct .tit {
    padding-bottom: 1.5rem;
    font-size: 1.6rem;
  }
  .section-box1__ct .tit br {
    display: none;
  }
  .section-box1__ct .link {
    margin-top: 2rem;
  }
  .section-box1__ct .link a {
    font-size: 1.5rem;
  }
  .section-box1__list {
    padding: 2rem 0 0;
  }
  .section-box1__inner {
    margin-bottom: 3rem;
  }
  .section-box1__img {
    width: 100%;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-box1 {
    margin-bottom: 10rem;
  }
  .section-box1__ct {
    width: calc(100% - 39rem);
  }
  .section-box1__ct .tit {
    padding-bottom: 2.5rem;
    font-size: 2.4rem;
    line-height: 1.3;
  }
  .section-box1__ct .link {
    margin-top: 3.2rem;
    margin-right: 0.5rem;
  }
  .section-box1__ct .link a {
    float: right;
    font-size: 2rem;
  }
  .section-box1__ct .link a:hover {
    color: #006eb6;
  }
  .section-box1__ct .link a:hover:after {
    border: solid #006eb6;
    border-width: 0 0.2rem 0.2rem 0;
  }
  .section-box1__list {
    padding: 5.2rem 3rem 0;
  }
  .section-box1__inner {
    display: flex;
    gap: 4rem;
    align-items: flex-start;
    margin-bottom: 5.8rem;
    padding-bottom: 5.1rem;
    border-bottom: 0.2rem solid #d9d9d9;
  }
  .section-box1__img {
    width: 35rem;
    margin-top: 0.7rem;
  }
}
/*---------- SECTION SEARCH FREE ----------*/
.section-searchfree__ttl .ttl {
  font-weight: 600;
  letter-spacing: 0.025em;
}
.section-searchfree__form {
  position: relative;
}
.section-searchfree__form input[type=text] {
  width: 100%;
  font-weight: 600;
  background: #f6f6f6;
  border: 1px solid #dcdcdc;
  border-radius: 0;
  outline: none;
}
.section-searchfree__form button {
  position: absolute;
  top: 50%;
  background: none;
  border: none;
  transform: translateY(-50%);
  cursor: pointer;
}
.section-searchfree__list {
  display: flex;
  flex-wrap: wrap;
}
.section-searchfree__list span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  background: #bccee9;
}

@media only screen and (max-width: 767px) {
  .section-searchfree__ttl .ttl {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
  .section-searchfree__form {
    width: 100%;
  }
  .section-searchfree__form input[type=text] {
    height: 5rem;
    padding: 0.5rem 5rem 0.5rem 1rem;
    font-size: 1.6rem;
  }
  .section-searchfree__form button {
    right: 0.5rem;
    margin-top: 0.1rem;
  }
  .section-searchfree__list {
    gap: 0.5rem;
    margin-top: 2rem;
  }
  .section-searchfree__list span {
    min-width: 10rem;
    height: 5rem;
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-searchfree__ttl {
    display: flex;
    align-items: center;
  }
  .section-searchfree__ttl .ttl {
    width: calc(100% - 72.5rem);
    font-size: 2.5rem;
  }
  .section-searchfree__form {
    width: 72.5rem;
  }
  .section-searchfree__form input[type=text] {
    height: 6.5rem;
    padding: 0.8rem 8.5rem 0.8rem 1.5rem;
    font-size: 1.8rem;
  }
  .section-searchfree__form button {
    right: 3.9rem;
    margin-top: 0.2rem;
  }
  .section-searchfree__list {
    gap: 1.5rem;
    margin-top: 3.3rem;
  }
  .section-searchfree__list span {
    min-width: 18.4rem;
    height: 6rem;
    font-size: 1.4rem;
  }
}
/*---------- CM LIST CASES ----------*/
.cm-listcases {
  display: flex;
  flex-wrap: wrap;
}

@media only screen and (max-width: 767px) {
  .cm-listcases {
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-listcases {
    gap: 2.6rem 2.5rem;
  }
}
/*---------- CM LIST CASES ITEM ----------*/
.cm-listcases_item {
  position: relative;
  display: block;
  text-decoration: none;
  color: #000;
  background: #ffffff;
}

@media only screen and (max-width: 767px) {
  .cm-listcases_item {
    width: 100%;
    padding: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-listcases_item {
    width: calc(33.3333333333% - 1.6666666667rem);
    padding: 3rem 2rem 4rem;
  }
  .cm-listcases_item:hover .cm-listcases_img img {
    transform: scale(1.1);
  }
  .cm-listcases_item:hover .cm-listcases_link span {
    color: #006eb6;
  }
  .cm-listcases_item:hover .cm-listcases_link span:after {
    border: solid #006eb6;
    border-width: 0 0.2rem 0.2rem 0;
  }
}
/*---------- CM LIST CASES IMAGE ----------*/
.cm-listcases_img {
  position: relative;
  width: 100%;
  height: 18rem;
  overflow: hidden;
}
.cm-listcases_img img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: 0.3s all;
}

/*---------- CM LIST CASES TAG ----------*/
.cm-listcases_tag {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 13.5rem;
  height: 4rem;
  padding: 1rem;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0;
  color: #ffffff;
  background: #88ccee;
}

/*---------- CM LIST CASES TITLE ----------*/
.cm-listcases_title {
  margin: 2.2rem 0 2.4rem;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0;
  color: #006eb6;
}

/*---------- CM LIST CASES DETAIL ----------*/
.cm-listcases_detail {
  display: block;
}
.cm-listcases_detail dl {
  margin-bottom: 1.9rem;
  padding-bottom: 1.4rem;
  border-bottom: 0.1rem dashed #cacaca;
}
.cm-listcases_detail dl:last-child {
  margin-bottom: 0;
}
.cm-listcases_detail dl dt {
  margin-bottom: 0.6rem;
  font-weight: 600;
  line-height: 1.5;
}
.cm-listcases_detail dl dd {
  line-height: 1.5;
}

/*---------- CM LIST CASES LINK ----------*/
.cm-listcases_link {
  margin-top: 2.5rem;
}
.cm-listcases_link:after {
  content: "";
  display: block;
  clear: both;
}
.cm-listcases_link span {
  position: relative;
  float: right;
  padding-right: 1.8rem;
  font-weight: 600;
  text-decoration: none;
  color: #000;
}
.cm-listcases_link span:after {
  content: "";
  position: absolute;
  right: 0.3rem;
  display: inline-block;
  padding: 0.4rem;
  border: solid #000000;
  border-width: 0 0.2rem 0.2rem 0;
  transform: rotate(-45deg);
}

@media only screen and (min-width: 768px) {
  .cm-listcases_link span {
    font-size: 1.6rem;
  }
  .cm-listcases_link span:after {
    top: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-listcases_link span {
    font-size: 1.4rem;
  }
  .cm-listcases_link span:after {
    top: 0.6rem;
  }
}
/*---------- PAGINATION ----------*/
.c-pagination .wp-pagenavi {
  display: flex;
  justify-content: center;
}
.c-pagination .wp-pagenavi span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.6rem;
  text-decoration: none;
  color: #000;
}
.c-pagination .wp-pagenavi a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  font-size: 1.6rem;
  text-decoration: none;
  color: #000;
}
.c-pagination .wp-pagenavi a:hover {
  color: #ffffff;
  background: #000;
}
.c-pagination .wp-pagenavi .current {
  color: #ffffff;
  background: #000;
}
.c-pagination .wp-pagenavi .previouspostslink,
.c-pagination .wp-pagenavi .nextpostslink {
  position: relative;
}
.c-pagination .wp-pagenavi .previouspostslink:hover:before,
.c-pagination .wp-pagenavi .nextpostslink:hover:before {
  border: solid #ffffff;
  border-width: 0 0.2rem 0.2rem 0;
}
.c-pagination .wp-pagenavi .previouspostslink:before,
.c-pagination .wp-pagenavi .nextpostslink:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  padding: 0.3rem;
  border: solid #000;
  border-width: 0 0.2rem 0.2rem 0;
}
.c-pagination .wp-pagenavi .previouspostslink:before {
  transform: translate(-50%, -50%) rotate(135deg);
}
.c-pagination .wp-pagenavi .nextpostslink:before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media only screen and (max-width: 767px) {
  .c-pagination {
    margin-top: 5rem;
  }
  .c-pagination .wp-pagenavi {
    gap: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-pagination {
    margin-top: 9rem;
  }
  .c-pagination .wp-pagenavi {
    gap: 1rem;
  }
}
/*---------- SECTION RECOMMENDED LIST ----------*/
.section-recommended_list .splide__list {
  padding: 0.6rem 0 !important;
}
.section-recommended_list .cm-recommended_item {
  width: 31rem !important;
  padding: 3rem 2rem 4.5rem;
  background: #ffffff;
  box-shadow: 0 0 0.6rem 0 rgba(0, 0, 0, 0.14);
}
.section-recommended_list .cm-recommended_item a {
  text-decoration: none;
  color: #000;
}
.section-recommended_list .cm-recommended_itemImg {
  position: relative;
  width: 100%;
  height: 15.5rem;
  overflow: hidden;
}
.section-recommended_list .cm-recommended_itemImg img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: 0.3s all;
}
.section-recommended_list .cm-recommended_itemDate {
  margin: 1.4rem 0 0;
}
.section-recommended_list .cm-recommended_itemTtl {
  margin: 0.1rem 0 0.8rem;
  font-size: 1.6rem;
  font-weight: 600;
}
.section-recommended_list .cm-recommended_item .list_cat {
  display: flex;
  gap: 0.7rem;
}
.section-recommended_list .cm-recommended_item .list_cat span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 7.5rem;
  padding: 0.7rem 1rem;
  font-size: 1.4rem;
  background: #bccee9;
}
.section-recommended_list .splide__arrow {
  left: 50%;
  opacity: 1;
  width: 0;
  height: 0;
  background: none;
}
.section-recommended_list .splide__arrow:after {
  content: "";
  display: inline-block;
  margin-top: 0.8rem;
  padding: 1.4rem;
  border: solid #bbbbbb;
  border-width: 0 0.5rem 0.5rem 0;
}
.section-recommended_list .splide__arrow svg {
  font-size: 0;
}
.section-recommended_list .splide__arrow--next {
  right: auto;
  margin-left: 50.6rem;
}
.section-recommended_list .splide__arrow--next:after {
  transform: rotate(-45deg);
}
.section-recommended_list .splide__arrow--prev {
  margin-left: -50.6rem;
}
.section-recommended_list .splide__arrow--prev:after {
  transform: rotate(135deg);
}

@media only screen and (min-width: 768px) {
  .section-recommended_list .cm-recommended_item:hover .cm-recommended_itemTtl {
    color: #006eb6;
  }
  .section-recommended_list .cm-recommended_item:hover .cm-recommended_itemImg img {
    transform: scale(1.1);
  }
}
@media only screen and (min-width: 768px) {
  .section-list_itemcat .inner {
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-list_itemcat .inner {
    margin-bottom: 3rem;
  }
}
.section-list_itemcat .inner:last-child {
  margin-bottom: 0;
}
.section-list_itemcat .inner_list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.section-list_itemcat .inner_item {
  text-decoration: none;
  color: #000;
  background: #ffffff;
}
.section-list_itemcat .inner_itemImg {
  position: relative;
  width: 100%;
  height: 23rem;
  overflow: hidden;
}
.section-list_itemcat .inner_itemImg img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: 0.3s all;
}
.section-list_itemcat .inner_itemImg .tag {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.5rem;
  height: 4rem;
  font-size: 1.4rem;
  font-weight: 600;
  color: #ffffff;
  background: #f53939;
}
.section-list_itemcat .inner_itemTtl {
  margin: 2.3rem 0 2.1rem;
  padding-bottom: 1.5rem;
  border-bottom: 0.1rem solid #000;
}
.section-list_itemcat .inner_itemTtl p {
  font-weight: 600;
}
.section-list_itemcat .inner_itemTtl .ttl {
  margin: 0.1rem 0 0;
  font-size: 1.8rem;
  font-weight: 400;
}
.section-list_itemcat .inner_itemCat {
  display: flex;
  gap: 0.6rem;
}
.section-list_itemcat .inner_itemCat span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  background: #bccee9;
}
.section-list_itemcat .inner_itemTxt {
  display: -webkit-box;
  max-height: 12rem;
  overflow: hidden;
  line-height: 1.5;
  text-overflow: ellipsis;
  word-break: break-word;
  /* fallback */
  -webkit-line-clamp: 5;
  /* number of lines to show */
  -webkit-box-orient: vertical;
}
.section-list_itemcat .inner_itemlink:after {
  content: "";
  display: block;
  clear: both;
}
.section-list_itemcat .inner_itemlink span {
  position: relative;
  float: right;
  padding-right: 1.8rem;
  font-weight: 600;
  text-decoration: none;
  color: #000;
}
.section-list_itemcat .inner_itemlink span:after {
  content: "";
  position: absolute;
  right: 0.3rem;
  display: inline-block;
  padding: 0.4rem;
  border: solid #000000;
  border-width: 0 0.2rem 0.2rem 0;
  transform: rotate(-45deg);
}

@media only screen and (min-width: 768px) {
  .section-list_itemcat .inner_list {
    margin-top: 4.2rem;
    margin-bottom: 6.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-list_itemcat .inner_list {
    margin-top: 2rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-list_itemcat .inner_item {
    width: calc(50% - 1.5rem);
    padding: 3rem 2rem 6rem;
  }
  .section-list_itemcat .inner_item:hover .inner_itemImg img {
    transform: scale(1.1);
  }
  .section-list_itemcat .inner_item:hover .inner_itemlink span {
    color: #006eb6;
  }
  .section-list_itemcat .inner_item:hover .inner_itemlink span:after {
    border: solid #006eb6;
    border-width: 0 0.2rem 0.2rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .section-list_itemcat .inner_item {
    padding: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-list_itemcat .inner_itemCat span {
    min-width: 9rem;
    font-size: 1.4rem;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .section-list_itemcat .inner_itemTxt {
    margin: 2.4rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .section-list_itemcat .inner_itemTxt {
    margin: 1.5rem 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .section-list_itemcat .inner_itemlink {
    margin-top: 3.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-list_itemcat .inner_itemlink {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-list_itemcat .inner_itemlink span {
    font-size: 1.6rem;
    transition: 0.3s all;
  }
}
@media only screen and (max-width: 767px) {
  .section-list_itemcat .inner_itemlink span {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-list_itemcat .inner_itemlink span:after {
    top: 1rem;
    transition: 0.3s all;
  }
}
@media only screen and (max-width: 767px) {
  .section-list_itemcat .inner_itemlink span:after {
    top: 0.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases .section-text_center {
    padding-bottom: 6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases .section-menu {
    margin-bottom: 6.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases .section-menu {
    margin-bottom: 4rem;
  }
}
.p_cases .s-cases01,
.p_column .bg_column,
.p_column_list .bg_column {
  background: #f0f8fd;
}

@media only screen and (min-width: 768px) {
  .p_cases .s-cases01 {
    margin-top: 8rem;
    padding: 8rem 0 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases .s-cases01 {
    margin-top: 4rem;
    padding: 4rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases .s-cases01 .cm-title {
    margin-bottom: 4.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases .s-cases01 .cm-title {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column .section-menu {
    margin-top: 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column .section-menu {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column .section-searchfree {
    margin-top: 9.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column .section-searchfree {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column .bg_column {
    margin-top: 8.8rem;
    padding: 8.5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .p_column .bg_column {
    margin-top: 4rem;
    padding: 3rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_column .section-list_itemcat {
    margin-top: 18rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column .section-list_itemcat {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_list .bg_column {
    margin-top: 8.5rem;
    padding: 8rem 0 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_list .bg_column {
    margin-top: 4rem;
    padding: 3rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_list .cm-btn01 {
    margin-top: 6.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_list .cm-btn01 {
    margin-top: 4rem;
  }
}
.p_column_detail .title_detail {
  border-bottom: 0.2rem solid #000;
}
.p_column_detail .title_detail__date {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
.p_column_detail .title_detail__date p {
  font-weight: 600;
}
.p_column_detail .title_detail__date span {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  background: #f0f0f0;
}
.p_column_detail .title_detail__ttl {
  font-weight: 600;
  letter-spacing: 0.075em;
}
.p_column_detail .title_detail__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}
.p_column_detail .title_detail__cat span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3.5rem;
  padding: 1rem;
  background: #bccee9;
}
.p_column_detail .content_detail__right .sidebar_01 h2 {
  margin-bottom: 2rem;
  padding-bottom: 0.6rem;
  font-weight: 600;
  border-bottom: 1px solid #000;
}
.p_column_detail .content_detail__right .sidebar_01 .list_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.p_column_detail .content_detail__right .sidebar_01 .list_tag span {
  padding: 0.7rem 1rem;
  background: #bccee9;
}
.p_column_detail .content_detail__right .sidebar_01 .list_cat {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.p_column_detail .content_detail__right .sidebar_01 .list_cat span {
  width: 100%;
  padding: 0.7rem 1rem;
  background: #f0f0f0;
}
.p_column_detail .table_content {
  background: #f5f5f5;
}
.p_column_detail .table_content_ttl {
  display: flex;
  align-items: center;
  font-weight: 600;
  letter-spacing: 0.075em;
}
.p_column_detail .table_content ul li {
  position: relative;
  margin-bottom: 1.7rem;
  padding-left: 2rem;
  font-weight: 600;
  line-height: 1.5;
}
.p_column_detail .table_content ul li ul {
  margin-top: 0.7rem;
}
.p_column_detail .table_content ul li ul li {
  margin-bottom: 0.5rem;
  padding-left: 1rem;
}
.p_column_detail .table_content ul li ul li:before {
  top: 1.1rem;
  width: 0.4rem;
  height: 0.4rem;
}
.p_column_detail .table_content ul li:before {
  content: "";
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 1.4rem;
  height: 1.4rem;
  background: #000;
  border-radius: 50%;
}
.p_column_detail .table_content ul li a {
  text-decoration: none;
  color: #000;
}
.p_column_detail .content_detail .title {
  font-weight: 600;
}
.p_column_detail .content_detail img {
  display: block;
  width: 100%;
}
.p_column_detail .content_detail p {
  margin: 1.7rem 0;
  line-height: 1.5;
}
.p_column_detail .content_detail .tit {
  font-weight: 400;
}
.p_column_detail .content_detail .ct_flx img {
  margin: 0;
}
.p_column_detail .content_detail .ct_flx .ct .tt {
  font-size: 2rem;
  font-weight: 600;
}
.p_column_detail .content_detail .ct_flx .ct p {
  line-height: 1.5;
}
.p_column_detail .search-form {
  position: relative;
  width: 100%;
}
.p_column_detail .search-form input {
  width: 100%;
  height: 5rem;
  padding: 0.8rem 5.5rem 0.8rem 2.6rem;
  font-size: 1.6rem;
  background: #f6f6f6;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  outline: none;
}
.p_column_detail .search-form button {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  margin-top: 0.2rem;
  background: none;
  border: none;
  transform: translateY(-50%);
  cursor: pointer;
}

@media only screen and (min-width: 768px) {
  .p_column_detail .title_detail {
    margin-top: 8.5rem;
    padding-bottom: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .title_detail {
    margin-top: 4rem;
    padding-bottom: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .title_detail__ttl {
    margin: 0.8rem 0 1.7rem;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .title_detail__ttl {
    margin: 0.8rem 0 1rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .title_detail__cat span {
    min-width: 10rem;
    font-size: 1.4rem;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_column_detail {
    display: flex;
    justify-content: space-between;
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_column_detail {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail__left {
    width: calc(100% - 30rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail__left {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail__right {
    width: 27rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail__right {
    width: 100%;
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail__right .sidebar_01 {
    margin-top: 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail__right .sidebar_01 {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail__right .sidebar_01 h2 {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail__right .sidebar_01 h2 {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail__right .sidebar_01 .list_tag span {
    min-width: 9.4rem;
    font-size: 1.4rem;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail__right .sidebar_01 .list_cat span {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .table_content {
    padding: 4.3rem 4rem 6.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .table_content {
    padding: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .table_content_ttl {
    gap: 2rem;
    margin-bottom: 2.9rem;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .table_content_ttl {
    gap: 1.5rem;
    margin-bottom: 2rem;
    font-size: 2rem;
  }
  .p_column_detail .table_content_ttl img {
    width: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .table_content ul li a:hover {
    text-decoration: underline;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail {
    margin-top: 5.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail .title {
    margin: 0 0 3.4rem;
    padding-left: 2.2rem;
    font-size: 2.4rem;
    line-height: 1.4583333333;
    border-left: 1rem solid #006eb6;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail .title {
    margin: 0 0 2rem;
    padding-left: 1rem;
    font-size: 1.8rem;
    border-left: 0.5rem solid #006eb6;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail img {
    margin: 0 0 3.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail img {
    margin: 0 0 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail .mbx {
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail .mbx {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail .tit {
    margin: 3.7rem 0 1.7rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail .tit {
    margin: 2rem 0 1rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail .cm_title03 {
    margin-top: 7.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail .cm_title03 {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail .ct_flx {
    display: flex;
    align-items: flex-start;
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail .ct_flx {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail .ct_flx img {
    width: 30rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail .ct_flx img {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .content_detail .ct_flx .ct {
    width: calc(100% - 30rem);
    padding-left: 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .content_detail .ct_flx .ct {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .recommended_columns {
    margin-bottom: 8.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .recommended_columns {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_column_detail .section-recommended_list {
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_column_detail .section-recommended_list {
    margin-top: 2rem;
  }
}
.cm-titledetai1 {
  font-weight: 600;
  letter-spacing: 0.05em;
  border-bottom: 0.2rem solid #000;
}

@media only screen and (min-width: 768px) {
  .cm-titledetai1 {
    margin-bottom: 5.1rem;
    padding-bottom: 2.2rem;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-titledetai1 {
    margin-bottom: 3rem;
    padding-bottom: 1.5rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-detail01__flx {
    display: flex;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 768px) {
  .cm-detail01__flx img {
    width: 45rem;
    margin: 1rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-detail01__flx img {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .cm-detail01__flx .ct {
    width: calc(100% - 45rem);
    padding-right: 7.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-detail01__flx .ct {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.cm-detail01__flx .ct p {
  letter-spacing: 0.05em;
}
.cm-detail01__flx .ttl {
  font-weight: 600;
  letter-spacing: 0.05em;
}

@media only screen and (min-width: 768px) {
  .cm-detail01__flx .ct p {
    line-height: 1.875;
  }
}
@media only screen and (min-width: 768px) {
  .cm-detail01__flx .ttl {
    margin: 0 0 2.3rem;
    font-size: 1.8rem;
    line-height: 1.6666666667;
  }
}
@media only screen and (max-width: 767px) {
  .cm-detail01__flx .ttl {
    margin: 0 0 1rem;
    font-size: 1.6rem;
  }
}
.cm-listbtn {
  display: flex;
  flex-wrap: wrap;
}
.cm-listbtn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #006eb6;
  border: 0.2rem solid #006eb6;
  transition: 0.3s all;
}
.cm-listbtn a:hover {
  color: #ffffff;
  background: #006eb6;
}
.cm-listbtn a:hover:after {
  border: solid #ffffff;
  border-width: 0 0.2rem 0.2rem 0;
}
.cm-listbtn a:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  padding: 0.35rem;
  border: solid #006eb6;
  border-width: 0 0.2rem 0.2rem 0;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s all;
}

@media only screen and (min-width: 768px) {
  .cm-listbtn {
    gap: 2.4rem;
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-listbtn {
    gap: 1.5rem;
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-listbtn a {
    width: calc(33.3333333333% - 1.6rem);
    height: 9rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-listbtn a {
    width: 100%;
    height: 7rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-listbtn a:after {
    right: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-listbtn a:after {
    right: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail {
    margin-top: 6.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail__content {
    margin-top: 5.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail__content {
    margin-top: 2rem;
  }
}
.p_cases-detail .cases-detail01 {
  display: flex;
}
.p_cases-detail .cases-detail01__l {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: 9.3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ffffff;
  background: #68a9d3 url(../images/common_img/line1.png) no-repeat top center;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.p_cases-detail .cases-detail01__l:after {
  content: "";
  position: absolute;
  z-index: 99;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}
.p_cases-detail .cases-detail01__box01 .title {
  font-weight: 700;
  text-align: center;
  color: #68a9d3;
}
.p_cases-detail .cases-detail01__box01 .title img {
  display: block;
}
.p_cases-detail .cases-detail01__box01 .box01_list__item .txt_blue {
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #68a9d3;
}
.p_cases-detail .cases-detail01__box01 .box01_list__item .txt_big {
  letter-spacing: 0.025em;
}
.p_cases-detail .cases-detail01__box01 .box01_list .box01_list__item1 .txt_big {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
}
.p_cases-detail .cases-detail01__box01 .box01_list .box01_list__item1 .txt_big span {
  font-size: 2rem;
  line-height: 2.25;
}
.p_cases-detail .cases-detail01__box02 {
  position: relative;
  background: #68a9d3;
}
.p_cases-detail .cases-detail01__box02:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}
.p_cases-detail .cases-detail01__box02:after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}
.p_cases-detail .cases-detail01__box02 .box02_title {
  position: relative;
  text-align: center;
  letter-spacing: 0;
  color: #ffffff;
  border-bottom: 1px solid #ffffff;
}
.p_cases-detail .cases-detail01__box02 .box02_title .ttl {
  font-weight: 700;
}
.p_cases-detail .cases-detail01__box02 .box02_title img {
  margin: auto;
}
.p_cases-detail .cases-detail01__box02 ul {
  padding: 0;
}
.p_cases-detail .cases-detail01__box02 ul li {
  position: relative;
  margin: 0;
  padding: 0 0 0 1.6rem;
  font-weight: 600;
  color: #ffffff;
}
.p_cases-detail .cases-detail01__box02 ul li:before {
  content: "";
  position: absolute;
  left: 0.5rem;
  width: 0.4rem;
  height: 0.4rem;
  background: #ffffff;
  border-radius: 50%;
}
.p_cases-detail .cases-detail01__box02 .box02_factor {
  background: #ffffff;
}
.p_cases-detail .cases-detail01__box02 .box02_factor__ttl {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #ffffff;
  background: #000;
}
.p_cases-detail .cases-detail01__box02 .box02_factor ol li {
  margin-bottom: 0.4rem;
  font-weight: 600;
  list-style-type: none;
}
.p_cases-detail .cases-detail01__box02 .box02_factor ol li:last-child {
  margin-bottom: 0;
}
.p_cases-detail .cases-detail02 {
  display: flex;
}
.p_cases-detail .cases-detail02__l {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: 9.3rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #ffffff;
  background: #316ba6;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.p_cases-detail .cases-detail02__r {
  width: calc(100% - 6rem);
  padding-left: 2.2rem;
}
.p_cases-detail .cases-detail02__box01 .title {
  font-weight: 700;
  text-align: center;
  color: #68a9d3;
}
.p_cases-detail .cases-detail02__box01 .title img {
  display: block;
  margin: auto auto 1.7rem;
}
.p_cases-detail .cases-detail02__box01 .box01_list__item .txt_blue {
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #68a9d3;
}
.p_cases-detail .cases-detail02__box01 .box01_list__item .txt_big {
  letter-spacing: 0.025em;
}
.p_cases-detail .cases-detail02__box01 .box01_list__item .txt_big span {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(20%, #68a9d3), color-stop(20%, transparent));
  background: linear-gradient(to top, #68a9d3 20%, transparent 20%);
}
.p_cases-detail .cases-detail02__box01 .box01_list .box01_list__item1 .txt_big {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.25;
}
.p_cases-detail .cases-detail02__box01 .box01_list .box01_list__item1 .txt_big span {
  font-size: 3rem;
  line-height: 1.5;
}
.p_cases-detail .cases-detail02__box02ttl {
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.025em;
  color: #0b2470;
}
.p_cases-detail .cases-detail02__box03 dl {
  display: flex;
}
.p_cases-detail .cases-detail02__box03 dl dt {
  display: flex;
}
.p_cases-detail .cases-detail02__box03 dl dd {
  margin: 0;
  background: #ffffff;
}
.p_cases-detail .cases-detail02__box03 dl dd p {
  margin: 0 0 0.8rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #000;
}
.p_cases-detail .cases-detail02__box03 dl dd p:last-child {
  margin-bottom: 0;
}
.p_cases-detail .cases-detail02 .banner {
  text-align: center;
  background-color: #f1f5f8;
  border-style: solid;
  border-color: rgb(44, 105, 202);
  border-radius: 1.5rem;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.3);
}
.p_cases-detail .cases-detail02 .banner .tt {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #2c69ca;
}
.p_cases-detail .cases-detail02 .banner span {
  position: relative;
  z-index: 9;
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #2c69ca;
}
.p_cases-detail .cases-detail02 .banner span:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0.6rem;
  left: 0;
  width: 100%;
  background: #eea549;
}
.p_cases-detail .cases_feedback .feedback .ct .ttl {
  margin: 0;
  font-weight: 600;
  color: #006eb6;
}
.p_cases-detail .cases_feedback .feedback_l .ct {
  order: 2;
}
.p_cases-detail .cases_feedback .feedback_l img {
  order: 1;
}
.p_cases-detail .customer_info {
  background: #f1f5f8;
}
.p_cases-detail .customer_info .ttl {
  position: relative;
}
.p_cases-detail .customer_info .ttl:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 100%;
  height: 0.1rem;
  background: #000;
}
.p_cases-detail .customer_info .ttl span {
  position: relative;
  z-index: 9;
  padding-right: 1rem;
  font-weight: 600;
  background: #f1f5f8;
}
.p_cases-detail .customer_info .tit {
  font-weight: 600;
  letter-spacing: 0.025em;
}
.p_cases-detail .customer_info dl {
  display: flex;
}
.p_cases-detail .customer_info dl dt {
  width: 9rem;
}
.p_cases-detail .customer_info dl dt span {
  display: block;
  width: 9rem;
  text-align: center;
  text-align: center;
  color: #ffffff;
  background: #000;
}
.p_cases-detail .customer_info dl dd {
  width: calc(100% - 9rem);
  padding-left: 1.7rem;
  line-height: 1.5;
}
.p_cases-detail .recommended_case {
  background: #f4f8fd;
}

@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__l {
    width: 6rem;
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__l {
    width: 3rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__l:after {
    bottom: -1.7rem;
    border-top: 1.7rem solid #68a9d3;
    border-right: 3rem solid transparent;
    border-left: 3rem solid transparent;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__l:after {
    bottom: -1rem;
    border-top: 1rem solid #68a9d3;
    border-right: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__r {
    width: calc(100% - 6rem);
    padding-left: 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__r {
    width: calc(100% - 3rem);
    padding-left: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box01 {
    padding-left: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box01 .title {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box01 .title {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box01 .title img {
    margin: auto auto 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box01 .title img {
    width: 5rem;
    margin: auto auto 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box01 .box01_list {
    margin-top: 4.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box01 .box01_list {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box01 .box01_list__item {
    margin-bottom: 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box01 .box01_list__item {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box01 .box01_list__item .txt_blue {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box01 .box01_list__item .txt_blue {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box01 .box01_list__item .txt_big {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box01 .box01_list__item .txt_big {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 {
    margin-top: 5rem;
    margin-bottom: 6rem;
    padding: 9.2rem 5.5rem 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 {
    margin-top: 3rem;
    margin-bottom: 3rem;
    padding: 3rem 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02:before {
    border-top: 4.7rem solid #ffffff;
    border-right: 3.5rem solid transparent;
    border-left: 3.5rem solid transparent;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02:before {
    border-top: 2rem solid #ffffff;
    border-right: 2rem solid transparent;
    border-left: 2rem solid transparent;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02:after {
    bottom: -7.4rem;
    border-top: 7.4rem solid #68a9d3;
    border-right: 8.9rem solid transparent;
    border-left: 8.9rem solid transparent;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02:after {
    bottom: -3rem;
    border-top: 3rem solid #68a9d3;
    border-right: 3rem solid transparent;
    border-left: 3rem solid transparent;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 .box02_title {
    padding-bottom: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 .box02_title {
    padding-bottom: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 .box02_title .ttl {
    margin-top: 3.5rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 .box02_title .ttl {
    margin-top: 1.5rem;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 .box02_title img {
    width: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 .box02_title .logo {
    position: absolute;
    top: 6.3rem;
    right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 .box02_title .logo {
    display: block;
    width: 19.5rem;
    margin: 2rem auto 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 ul {
    margin: 2.7rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 ul {
    margin: 2rem 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 ul li {
    font-size: 1.8rem;
    line-height: 2;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 ul li:before {
    top: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 ul li:before {
    top: 0.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 .box02_factor {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 .box02_factor {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 .box02_factor__ttl {
    padding: 1.3rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 .box02_factor__ttl {
    padding: 1rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 .box02_factor ol {
    padding: 3.6rem 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 .box02_factor ol {
    padding: 3rem 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail01__box02 .box02_factor ol li {
    padding-left: 3rem;
    font-size: 1.8rem;
    line-height: 2;
    background: url(../images/cases/icon2.png) no-repeat left top 1rem;
    background-size: 1.9rem auto;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail01__box02 .box02_factor ol li {
    padding-left: 2rem;
    background: url(../images/cases/icon2.png) no-repeat left top 0.7rem;
    background-size: 1rem auto;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__l {
    width: 6rem;
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__l {
    width: 3rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__r {
    width: calc(100% - 6rem);
    padding-left: 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__r {
    width: calc(100% - 3rem);
    padding-left: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box01 {
    padding-left: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box01 .title {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box01 .title {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box01 .box01_list {
    margin-top: 4.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box01 .box01_list {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box01 .box01_list__item {
    margin-bottom: 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box01 .box01_list__item {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box01 .box01_list__item .txt_blue {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box01 .box01_list__item .txt_blue {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box01 .box01_list__item .txt_big {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box01 .box01_list__item .txt_big {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box02 {
    margin-top: 9.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box02 {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box02ttl {
    margin: 0 0 2rem;
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box02ttl {
    margin: 0 0 2rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box03 {
    margin-top: 5rem;
    border: 1rem solid #316ba6;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box03 {
    margin-top: 4rem;
    border: 0.2rem solid #316ba6;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box03 dl dt {
    align-items: flex-start;
    width: 13rem;
    padding: 6.5rem 2.5rem;
    background: #316ba6 url(../images/cases/bg3.png) no-repeat right top;
    background-size: auto 100%;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box03 dl dt {
    align-items: center;
    width: 4rem;
    padding-left: 0.7rem;
    background: #316ba6;
  }
  .p_cases-detail .cases-detail02__box03 dl dt img {
    width: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box03 dl dd {
    width: calc(100% - 13rem);
    padding: 2.7rem 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box03 dl dd {
    width: calc(100% - 4rem);
    padding: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02__box03 dl dd p {
    padding-left: 4rem;
    font-size: 2rem;
    background: url(../images/cases/like.png) no-repeat left top 0.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02__box03 dl dd p {
    padding-left: 1.5rem;
    font-size: 1.4rem;
    background: url(../images/cases/like.png) no-repeat left top 0.3rem;
    background-size: 1.3rem auto;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02 .banner {
    margin: 7.4rem 0 -4.9rem;
    padding: 4.5rem 0 8.8rem;
    border-width: 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02 .banner {
    margin: 5rem 0 -2rem;
    padding: 3rem 0 5rem;
    border-width: 0.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02 .banner .tt {
    margin-bottom: 2.9rem;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02 .banner .tt {
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
  }
  .p_cases-detail .cases-detail02 .banner .tt img {
    width: 18rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02 .banner span {
    padding: 0 1rem;
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02 .banner span {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases-detail02 .banner span:after {
    height: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases-detail02 .banner span:after {
    height: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases_feedback {
    margin-top: 14.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases_feedback {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases_feedback__ttl {
    margin-bottom: 6.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases_feedback__ttl {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases_feedback .feedback {
    display: flex;
    gap: 3rem;
    align-items: flex-start;
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases_feedback .feedback {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases_feedback .feedback img {
    width: 38rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases_feedback .feedback img {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases_feedback .feedback .ct {
    width: calc(100% - 38rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases_feedback .feedback .ct {
    width: 100%;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .cases_feedback .feedback .ct .ttl {
    margin: 0 0 2.5rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .cases_feedback .feedback .ct .ttl {
    margin: 0 0 1.5rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .customer_info {
    margin-bottom: 9rem;
    padding: 6rem 5.7rem 4.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .customer_info {
    margin-bottom: 3rem;
    padding: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .customer_info .ttl {
    margin: 0 0 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .customer_info .ttl {
    margin: 0 0 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .customer_info .ttl span {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .customer_info .ttl span {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .customer_info .tit {
    margin: 0 0 3.3rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .customer_info .tit {
    margin: 0 0 1rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .customer_info dl {
    margin-bottom: 1.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .customer_info dl {
    margin-bottom: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_cases-detail .recommended_case {
    margin-top: 9.5rem;
    margin-bottom: 10rem;
    padding: 8.5rem 0 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_cases-detail .recommended_case {
    margin-top: 3rem;
    margin-bottom: 4rem;
    padding: 3rem 0;
  }
}
.cm-title02 {
  position: relative;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.025em;
  color: #006eb6;
}
.cm-title02::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 6rem;
  height: 0.3rem;
  background: #006eb6;
  transform: translateX(-50%);
}

@media only screen and (min-width: 768px) {
  .cm-title02 {
    margin-bottom: 4.3rem;
    padding-bottom: 2rem;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-title02 {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content p {
    line-height: 1.7;
  }
}
.cm-content .txt1 {
  text-align: center;
  letter-spacing: 0.05em;
}
.cm-content .list_tag {
  background: #eef7fd;
}
.cm-content .list_tag ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.cm-content .list_tag ul li {
  font-weight: 600;
  letter-spacing: 0.05em;
}
.cm-content .service_overview p {
  text-align: center;
  letter-spacing: 0.05em;
}
.cm-content .service_overview p span {
  color: #006eb6;
}
.cm-content .box_blue {
  background: #ebf3fb;
}
.cm-content .box_blue .ttl {
  position: relative;
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0.025em;
  vertical-align: top;
  color: #ffffff;
  background: #006eb6;
}
.cm-content .box_blue .ttl::after {
  content: "";
  position: absolute;
  top: 0;
  right: -2.1rem;
  width: 0;
  height: 0;
}
.cm-content .ttl_blue {
  color: #006eb6;
}
.cm-content .br_img {
  margin: auto;
  overflow: hidden;
  text-align: center;
}
.cm-content .br_img--has-pd {
  border: 0.2rem solid #006eb6;
}
.cm-content .br_img--has-pd img {
  border: 0 !important;
  border-radius: 0 !important;
}
.cm-content .br_img img {
  display: block;
  max-width: 100%;
  margin: auto;
  border: 0.2rem solid #006eb6;
}
.cm-content .businesses_ttl {
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
}
.cm-content .businesses_list {
  display: flex;
  flex-wrap: wrap;
}
.cm-content .businesses_list .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.cm-content .businesses_list .item img {
  display: block;
  width: 7.1rem;
  margin: auto;
}
.cm-content .businesses_list .item p {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
  color: #006eb6;
}
.cm-content .benefits {
  background: #ecf5f8;
}
.cm-content .benefits .list-btn a {
  position: relative;
  display: flex;
  align-items: flex-start;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.05em;
  color: #000;
}
.cm-content .benefits .list-btn a:after {
  content: "";
  position: absolute;
  right: 0;
  display: inline-block;
  padding: 0.35rem;
  border: solid black;
  border-width: 0 0.2rem 0.2rem 0;
}
.cm-content .benefits .list-btn a span {
  position: relative;
  flex-shrink: 0;
  padding: 0.55rem 0;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  letter-spacing: -0.1em;
  color: #ffffff;
  background: #006eb6;
}
.cm-content .benefits .list-btn a span::after {
  content: "";
  position: absolute;
  top: 0;
  right: -1rem;
  width: 0;
  height: 0;
}
.cm-content .benefits .box_benefits {
  background: #ffffff;
}
.cm-content .benefits .box_benefits:last-child {
  margin-bottom: 0;
}
.cm-content .benefits .box_benefits .title {
  display: flex;
  letter-spacing: 0.025em;
}
.cm-content .benefits .box_benefits .title .tag {
  position: relative;
  flex-shrink: 0;
  font-weight: 600;
  line-height: normal;
  letter-spacing: -0.1em;
  vertical-align: top;
  color: #ffffff;
  background: #006eb6;
}
.cm-content .benefits .box_benefits .title .tag::after {
  content: "";
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
}
.cm-content .benefits .box_benefits .text {
  letter-spacing: 0.025em;
}
.cm-content .benefits .box_benefits .text strong,
.cm-content .benefits .box_benefits .text span {
  font-weight: 600;
}
.cm-content .benefits .box_benefits .text .txt_small {
  font-size: 1.4rem;
  font-weight: 300;
  border: none;
}
.cm-content .benefits .box_benefits .benefits05_bx01 {
  background: #f5f9fd;
  border: 0.2rem solid #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_tag {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 30rem;
  height: 4rem;
  margin: auto;
  margin-bottom: 1rem;
  font-weight: 600;
  color: #ffffff;
  background: #006eb6;
  border-radius: 30px;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .tt_h4 {
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.025em;
  color: #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct div:last-child {
  margin-bottom: 0;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct .tt_h5 {
  font-weight: 600;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct p {
  font-size: 1.4rem;
  line-height: 1.7142857143;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 .tt_h5 {
  padding: 0.8rem 0;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div {
  text-align: center;
  background: #ffffff;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div .price {
  font-weight: 600;
  line-height: 1;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div .price span {
  font-weight: 700;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b1 {
  border: 0.2rem solid #52aef0;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b1 .tt_h5 {
  text-align: center;
  color: #52aef0;
  background: #ebf3fb;
  border-bottom: 0.2rem solid #52aef0;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b3 {
  border: 0.2rem solid #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b3 .tt_h5 {
  text-align: center;
  color: #ffffff;
  background: #006eb6;
  border-bottom: 0.2rem solid #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b3 .price {
  color: #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2 {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  text-align: center;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2 span {
  font-weight: 700;
}
.cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2::after {
  content: "";
  position: absolute;
  z-index: -1;
  background: url(../images/taiyoko-chikudenchi/benefits05_icon4.png) no-repeat center center;
  background-size: 100% auto;
}
.cm-content .benefits .box_benefits .benefits05_bx02 .tt_h4 {
  position: relative;
  font-weight: 600;
  letter-spacing: 0.025em;
  border-bottom: 0.3rem solid #a7a9ac;
}
.cm-content .benefits .box_benefits .benefits05_bx02 .tt_h4:after {
  content: "";
  position: absolute;
  bottom: -0.3rem;
  left: 0;
  width: 8.5rem;
  height: 0.3rem;
  background: #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx02 .txt {
  letter-spacing: 0.05em;
}
.cm-content .benefits .box_benefits .benefits05_bx02 .txt2 {
  text-align: right;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list {
  display: flex;
  gap: 1rem;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list.bx03 .after_ct {
  max-width: 26.5rem !important;
  margin: auto;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item {
  flex: 1;
  background: #f4f8fd;
  border-radius: 2rem;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .tt_h5 {
  font-weight: 600;
  text-align: center;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .tt_h5 img {
  display: block;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item table {
  width: 100%;
  margin-top: 1.1rem;
  background: #ffffff;
  border: 1px solid #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item table .th_ttl {
  font-weight: 300;
  text-align: center;
  color: #006eb6;
  background: #c5e4fa;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item table th {
  width: 12.7rem;
  padding: 0.2rem;
  font-weight: 600;
  text-align: center;
  background: #ffffff;
  border: 1px solid #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item table td {
  padding: 0.2rem;
  text-align: center;
  background: #ffffff;
  border: 1px solid #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after {
  position: relative;
  margin-top: 4rem;
  background: #ffffff;
  border: 0.2rem solid #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after::before {
  content: "";
  position: absolute;
  top: -2.7rem;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1.4rem solid #78bded;
  border-right: 2rem solid transparent;
  border-left: 2rem solid transparent;
  transform: translateX(-50%);
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after .tt_h6 {
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background: #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after .after_ct {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 6.8rem;
  padding: 4px 10px;
  background: #fff url(../images/taiyoko-chikudenchi/benefits05_icon.png) no-repeat right 0.5rem top 0.5rem;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after .after_ct .cicle {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 5.1rem;
  height: 5.1rem;
  background: #c5e4fa;
  border-radius: 50%;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after .after_ct .in {
  padding: 0.5rem 0 0.5rem 1.2rem;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after .after_ct .txt_blue {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  color: #006eb6;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after .after_ct .txt_blue span {
  font-size: 3.2rem;
}
.cm-content .benefits .box_benefits .benefits05_bx02_list .item .after .after_ct .txt_blck {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
}
.cm-content .cm-btn02 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding: 1rem 3rem 1rem 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.01em;
  color: #ffffff;
  background: RGB(1, 137, 195);
  background: -webkit-gradient(linear, left top, right top, from(rgb(1, 137, 195)), to(rgb(45, 73, 162)));
  background: linear-gradient(90deg, rgb(1, 137, 195) 0%, rgb(45, 73, 162) 100%);
  transition: 0.3s all;
}
.cm-content .cm-btn02:hover {
  opacity: 0.7;
}
.cm-content .cm-btn02:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  padding: 0.4rem;
  border: solid #ffffff;
  border-width: 0 0.2rem 0.2rem 0;
  transform: translateY(-50%) rotate(-45deg);
}
.cm-content .studies {
  text-align: center;
}
.cm-content .faq {
  background: #f4f8fd;
}
.cm-content .faq_list .item:last-child {
  margin-bottom: 0;
}
.cm-content .faq_list .item dt {
  position: relative;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.025em;
  color: #ffffff;
  background: #78bded;
  cursor: pointer;
}
.cm-content .faq_list .item dt.is-active .icon::before {
  transform: rotate(0deg);
}
.cm-content .faq_list .item dt.open .icon:after {
  opacity: 0;
}
.cm-content .faq_list .item dt:before {
  content: "Q";
  position: absolute;
  font-weight: 600;
  color: #006eb6;
}
.cm-content .faq_list .item dt .icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.cm-content .faq_list .item dt .icon:before, .cm-content .faq_list .item dt .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -1px;
  background: #fff;
}
.cm-content .faq_list .item dt .icon:before {
  transform: rotate(-90deg);
  transition: transform 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
}
.cm-content .faq_list .item dd {
  display: none;
}
.cm-content .faq_list .item dd.active {
  display: block;
}
.cm-content .faq_list .item dd .inner {
  position: relative;
  display: flex;
  align-items: center;
  background: #ffffff;
}
.cm-content .faq_list .item dd .inner:before {
  content: "A";
  position: absolute;
  font-weight: 600;
  color: #006eb6;
}
.cm-content .faq .inner_w {
  background: #ffffff;
}
.cm-content .faq .inner_w a {
  display: block;
  text-decoration: underline;
  color: #111987;
}
.cm-content .contact .inquiry_box {
  max-width: 40rem;
  margin: auto;
  padding: 2rem 0;
  font-weight: 600;
  text-align: center;
  background-color: #ffffff;
  border: 2px solid #002174;
}
.cm-content .contact .inquiry_box li span {
  display: inline-block;
  font-size: 2rem;
  white-space: nowrap;
  vertical-align: middle;
  color: #002174;
}
.cm-content .contact .inquiry_box li .num {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  text-decoration: none;
  vertical-align: middle;
  color: #002174;
}
.cm-content .contact .inquiry_box .time {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
  padding-top: 2rem;
  color: #002174;
  border-top: 1px solid #ccc;
}
.cm-content .s_buttom_flex {
  display: flex;
}
.cm-content .s_buttom_flex a {
  text-align: center;
}
.cm-content .plans .plans_item {
  display: flex;
}
.cm-content .plans .plans_item .item {
  border-radius: 2rem;
  border: 0.2rem solid #006eb6;
}
.cm-content .plans .plans_item .item .ttl {
  border-radius: 1.5rem 1.5rem 0 0;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background: #006eb6;
}
.cm-content .plans .plans_item .item .item_ct {
  text-align: center;
}
.cm-content .plans .plans_item .item .price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #006eb6;
}
.cm-content .plans .plans_item .item .price span {
  font-weight: 700;
}
.cm-content .plans .plans_item .item .price span.black {
  position: relative;
  font-family: "Hiragino Kaku Gothic ProN W3", "Hiragino Kaku Gothic ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Hiragino Kaku Gothic", "Yu Gothic", "Yu Gothic", "Yu Gothic", "YuGothic", "Meiryo", "Osaka", "MS PGothic", sans-serif;
  text-align: left;
  color: #000;
}
.cm-content .plans .plans_item .item .note {
  position: relative;
  display: inline-block;
  margin-top: 1.5rem;
  padding-left: 1.4em;
  font-size: 1.3rem;
  line-height: 1.7142857143;
  text-align: left;
  vertical-align: top;
}
.cm-content .plans .plans_item .item .note:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.cm-content .equipment_item {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.cm-content .equipment_item.equipment4 {
  gap: 2rem;
}
.cm-content .equipment_item .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 35rem;
  padding: 1rem 1rem 1.5rem;
  background: #e8f4fd;
  border: 1px solid #2f61ae;
  border-radius: 2rem;
}
.cm-content .equipment_item .item .img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 17.9rem;
  overflow: hidden;
  background: #ffffff;
  border-radius: 1rem;
}
.cm-content .equipment_item .item .img img {
  max-height: 100%;
}
.cm-content .equipment_item .item .ttl {
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  color: #006eb6;
}
.cm-content .equipment_item .item p {
  margin-top: 1.2rem;
}
.cm-content .s_table table {
  width: 100%;
  border: 1px solid #f4f8fd;
}
.cm-content .s_table table th {
  padding: 1.2rem;
  font-weight: 300;
  text-align: center;
  color: #ffffff;
  background: #1070b4;
  border: 1px solid #f4f8fd;
}
.cm-content .s_table table td {
  vertical-align: top;
  border: 1px solid #f4f8fd;
}
.cm-content .s_table table td:first-child {
  background: #c5e4fa;
}
.cm-content .awards .awards_list {
  display: flex;
}
.cm-content .awards .awards_list .item {
  padding: 2rem;
  border-radius: 2rem;
  background: #e8f4fd;
}
.cm-content .awards .awards_list .item .img {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 1rem;
}
.cm-content .awards .awards_list .item .img img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.cm-content .awards .awards_list .item .title {
  display: flex;
}
.cm-content .awards .awards_list .item .title .title_ct {
  font-weight: 600;
  color: #2f61ae;
}
.cm-content .main_bg {
  background: #f4f8fd;
}
.cm-content .features_list .item {
  margin-bottom: 3rem;
}
.cm-content .features_list .item:last-child {
  margin-bottom: 0;
}
.cm-content .features_list .item .ttl {
  color: #006eb6;
}
.cm-content .features_list .item .ttl span {
  display: block;
  color: #000;
}
.cm-content .features_list .item .flex_item {
  display: flex;
  justify-content: space-between;
}
.cm-content .features_list .item .flex_item p {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .cm-content .txt1 {
    margin: 7.6rem auto 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .txt1 {
    margin: 5rem 0 4rem 0;
    line-height: 1.7;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .list_tag {
    padding: 3.6rem 6.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .list_tag {
    padding: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .list_tag ul {
    gap: 1.6rem 7.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .list_tag ul {
    gap: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .list_tag ul li {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .list_tag ul li {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .service_overview {
    margin-top: 8.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .service_overview {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .service_overview p {
    margin-bottom: 6.7rem;
    line-height: 1.875;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .service_overview p {
    margin-bottom: 3rem;
    line-height: 1.7;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .box_blue {
    margin-top: 5.8rem;
    padding: 3.7rem 5rem 5.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .box_blue {
    margin-top: 3rem;
    padding: 2rem 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .box_blue .ttl {
    margin-bottom: 5.3rem;
    margin-left: -5rem;
    padding: 0.5rem 4rem 0.6rem 5rem;
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .box_blue .ttl {
    margin-bottom: 2rem;
    margin-left: -1.5rem;
    padding: 0.5rem 4rem 0.6rem 1.5rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .box_blue .ttl::after {
    border-top: 2.5rem solid transparent;
    border-bottom: 2.5rem solid transparent;
    border-left: 2.1rem solid #006eb6;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .box_blue .ttl::after {
    border-top: 2rem solid transparent;
    border-bottom: 2rem solid transparent;
    border-left: 2.1rem solid #006eb6;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .ttl_blue {
    margin: 2rem 0;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .ttl_blue {
    margin: 1rem 0;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .br_img {
    padding: 2rem;
    border-radius: 3rem;
  }
  .cm-content .br_img img {
    border-radius: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .br_img {
    padding: 1rem;
    border-radius: 1rem;
  }
  .cm-content .br_img img {
    border-radius: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .businesses {
    margin-top: 8.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .businesses {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .businesses_ttl {
    margin-bottom: 4.2rem;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .businesses_ttl {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .businesses_list {
    gap: 5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .businesses_list {
    gap: 2rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .businesses_list .item {
    width: 50%;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .businesses_list .item {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .businesses_list .item p {
    margin: 1rem 0 0;
    font-size: 1.8rem;
    line-height: 1.6666666667;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .businesses_list .item p {
    margin: 0.5rem 0 0;
  }
}
.cm-content .benefits .box_benefits--has-pd .img {
  border: 0.2rem solid #006eb6;
}
.cm-content .benefits .box_benefits--has-pd .img img {
  border: 0;
  border-radius: 0;
}

@media only screen and (min-width: 768px) {
  .cm-content .benefits {
    margin-top: 9.1rem;
    padding: 10rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits {
    margin-top: 4rem;
    padding: 5rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .list-btn {
    margin-top: 6rem;
    margin-bottom: 10rem;
    padding: 0 16.4rem 0 12rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .list-btn {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .list-btn a {
    gap: 2.5rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .list-btn a {
    gap: 2rem;
    margin-bottom: 2rem;
    padding-right: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .list-btn a:after {
    top: 50%;
    margin-top: -0.4rem;
    transform: translateY(-50%) rotate(45deg);
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .list-btn a:after {
    top: 0;
    transform: rotate(45deg);
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .list-btn a span {
    width: 11rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .list-btn a span {
    width: 9rem;
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .list-btn a span::after {
    border-top: 1.4rem solid transparent;
    border-bottom: 1.4rem solid transparent;
    border-left: 1rem solid #006eb6;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .list-btn a span::after {
    border-top: 1.25rem solid transparent;
    border-bottom: 1.25rem solid transparent;
    border-left: 1rem solid #006eb6;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits {
    margin-bottom: 5rem;
    padding: 6rem 3rem 6.6rem;
  }
  .cm-content .benefits .box_benefits--has-pd .img {
    padding: 2rem;
    border-radius: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits {
    margin-bottom: 2rem;
    padding: 2rem 1.5rem;
  }
  .cm-content .benefits .box_benefits--has-pd .img {
    padding: 1rem;
    border-radius: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .title {
    gap: 3.3rem;
    align-items: center;
    margin-bottom: 3.8rem;
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .title {
    flex-direction: column;
    gap: 1.5rem;
    align-items: baseline;
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .title .tag {
    margin-left: -3rem;
    padding: 1rem 1.4rem 1rem 2rem;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .title .tag {
    position: relative;
    left: -1.5rem;
    padding: 0.5rem 1.4rem 0.5rem 1.5rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .title .tag span {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .title .tag span {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .title .tag::after {
    right: -2.1rem;
    border-top: 2.5rem solid transparent;
    border-bottom: 2.5rem solid transparent;
    border-left: 2.1rem solid #006eb6;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .title .tag::after {
    right: -1.6rem;
    border-top: 1.8rem solid transparent;
    border-bottom: 1.8rem solid transparent;
    border-left: 1.6rem solid #006eb6;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .text {
    margin-bottom: 5.5rem;
    font-size: 1.8rem;
    line-height: 2;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .text {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .text span {
    font-size: 2rem;
    border-bottom: 0.4rem solid #ebae3d;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .text span {
    font-size: 1.6rem;
    border-bottom: 0.2rem solid #ebae3d;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .cm-btn02 {
    margin: 7.7rem auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .cm-btn02 {
    margin: 3rem auto 0;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 {
    padding: 3.7rem 10.2rem;
    border-radius: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 {
    padding: 2rem 1.2rem;
    border-radius: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_tag {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_tag {
    max-width: 20rem;
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .tt_h4 {
    margin-bottom: 3.7rem;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .tt_h4 {
    margin-bottom: 2rem;
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a {
    display: flex;
    align-items: center;
    padding-left: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a {
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a img {
    width: 19rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a img {
    width: 10rem;
    margin: auto;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct {
    width: calc(100% - 19rem);
    padding-left: 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct {
    margin-top: 1.5rem;
    text-align: left;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct div {
    margin-bottom: 3.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct div {
    margin-bottom: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct .tt_h5 {
    margin-bottom: 1.7rem;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .bx1_a .ct .tt_h5 {
    margin-bottom: 0.5rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b {
    margin-top: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b {
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 {
    width: 22.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div {
    padding: 1.8rem 0 2.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div {
    padding: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div .price {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div .price {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div .price span {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .box_b1 div .price span {
    font-size: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2 {
    width: 22.2rem;
    height: 10.8rem;
    font-size: 2rem;
    color: #ffffff;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2 {
    width: 100%;
    height: 10.8rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2 span {
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2 span {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2::after {
    top: 50%;
    left: 0;
    width: 100%;
    height: 10.8rem;
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx01 .box_b .b2::after {
    top: 0;
    width: 10rem;
    height: 100%;
    transform: rotate(90deg);
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx02 {
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx02 {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx02 .tt_h4 {
    padding-bottom: 1.2rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx02 .tt_h4 {
    padding-bottom: 1rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx02 .txt {
    margin: 3.6rem 0 4.4rem;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx02 .txt {
    margin: 2rem 0;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx02 .txt2 {
    margin-top: -1rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx02 .txt2 {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx02_list {
    padding: 0 1rem 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx02_list {
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx02_list .item {
    padding: 4.4rem 2rem 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx02_list .item {
    padding: 2rem 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx02_list .item .tt_h5 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx02_list .item .tt_h5 {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .benefits .box_benefits .benefits05_bx02_list .item .tt_h5 img {
    margin: auto auto 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .benefits .box_benefits .benefits05_bx02_list .item .tt_h5 img {
    width: auto;
    height: 6rem;
    margin: auto auto 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .cm-btn02 {
    max-width: 48rem;
    height: 9rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .cm-btn02 {
    max-width: 32rem;
    height: 8rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .cm-btn02:after {
    right: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .cm-btn02 {
    padding: 1rem 2rem 1rem 1rem;
  }
  .cm-content .cm-btn02:after {
    right: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .studies {
    margin-top: 10.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .studies {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .studies .cm-btn02 {
    margin-top: 4.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .studies .cm-btn02 {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .faq {
    margin-top: 10rem;
    padding: 10rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .faq {
    margin-top: 5rem;
    padding: 5rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .faq_list {
    margin-top: 5.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .faq_list .item {
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .faq_list .item {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .faq_list .item dt {
    padding: 2.2rem 7.5rem 2.2rem 9.3rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .faq_list .item dt {
    padding: 1.5rem 3rem 1.5rem 3.5rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .faq_list .item dt:before {
    top: 1.2rem;
    left: 2.4rem;
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .faq_list .item dt:before {
    top: 1.2rem;
    left: 1rem;
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .faq_list .item dt .icon {
    right: 3.7rem;
    width: 2rem;
    height: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .faq_list .item dt .icon {
    right: 1rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .faq_list .item dd .inner {
    min-height: 8rem;
    margin: 2.2rem 2.8rem 0 2.8rem;
    padding: 1.5rem 1rem 1.5rem 6.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .faq_list .item dd .inner {
    min-height: 5rem;
    margin: 1.5rem 1.5rem 0 1.5rem;
    padding: 1.5rem 1rem 1.5rem 3.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .faq_list .item dd .inner:before {
    top: 0.5rem;
    left: 1.4rem;
    font-size: 3.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .faq_list .item dd .inner:before {
    top: 1rem;
    left: 1rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .contact {
    margin: 10.4rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .contact {
    margin: 4rem 0 10rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .s_buttom {
    margin-top: 10rem;
    margin-bottom: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .s_buttom {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .s_buttom_flex {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans {
    margin-top: 7.3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans .plans_item {
    gap: 11.6rem;
    margin-top: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans .plans_item {
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans .plans_item .item {
    flex: 1;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans .plans_item .item {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans .plans_item .item .ttl {
    padding: 1.7rem 0;
    font-size: 2.4rem;
  }
  .cm-content .plans .plans_item .item .ttl--2-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 9.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans .plans_item .item .ttl {
    padding: 1rem 0;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans .plans_item .item .ttl span {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans .plans_item .item .ttl span {
    display: block;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans .plans_item .item .item_ct {
    padding: 5.2rem 0 0.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans .plans_item .item .item_ct {
    padding: 2.5rem 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans .plans_item .item .price {
    font-size: 2.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans .plans_item .item .price {
    justify-content: center;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans .plans_item .item .price span {
    font-size: 5.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans .plans_item .item .price span {
    font-size: 3.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .plans .plans_item .item .price span.black {
    top: -1rem;
    flex: 0 0 auto;
    font-size: 2.15rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .plans .plans_item .item .price span.black {
    top: -0.5rem;
    flex: 0 0 auto;
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .equipment {
    margin-top: 12rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .equipment {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .equipment_item {
    gap: 6rem;
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .equipment_item {
    gap: 2rem;
    margin-top: 2rem;
  }
}
.cm-content .equipment_item.equipment4 .item--2col ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  width: 100%;
}
.cm-content .equipment_item.equipment4 .item--2col li {
  text-align: center;
  border-radius: 1rem;
  overflow: hidden;
}
.cm-content .equipment_item.equipment4 .item--2col li img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 768px) {
  .cm-content .equipment_item.equipment4 .item {
    width: calc(25% - 1.5rem);
  }
  .cm-content .equipment_item.equipment4 .item--2col {
    width: calc(50% - 1rem);
  }
  .cm-content .equipment_item.equipment4 .item--2col li {
    height: 17.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .equipment_item.equipment4 .item {
    width: calc(50% - 1rem);
  }
  .cm-content .equipment_item.equipment4 .item .img {
    height: 12rem;
  }
  .cm-content .equipment_item.equipment4 .item--2col {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .equipment_item .item .ttl {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    margin-top: 1.5rem;
    font-size: 1.8rem;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .equipment_item .item .ttl {
    margin-top: 1rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .s_table table {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .s_table table {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .s_table table th:first-child {
    width: 26rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .s_table table th:first-child {
    width: 10rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .s_table table td {
    padding: 1.4rem 3.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .s_table table td {
    padding: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .s_table table td:first-child {
    padding: 1.4rem 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .s_table table td:first-child {
    padding: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards {
    margin-top: 12rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards .awards_list {
    gap: 6rem;
    margin-top: 4.5rem;
    padding: 0 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards .awards_list {
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards .awards_list .item {
    width: calc(50% - 3rem);
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards .awards_list .item {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards .awards_list .item .img {
    height: 30rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards .awards_list .item .img {
    height: 20rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards .awards_list .item .title {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards .awards_list .item .title {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards .awards_list .item .title .img_title {
    width: 8.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards .awards_list .item .title .img_title {
    width: 5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards .awards_list .item .title .title_ct {
    width: calc(100% - 8.8rem);
    padding-left: 2rem;
    font-size: 2.2rem;
    line-height: 1.6;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards .awards_list .item .title .title_ct {
    width: calc(100% - 5rem);
    padding-left: 2rem;
    font-size: 2rem;
    line-height: 1.4;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards .awards_list .item .title .title_ct .tt01 {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards .awards_list .item .title .title_ct .tt01 {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .awards .awards_list .item .title .title_ct .tt02 {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .awards .awards_list .item .title .title_ct .tt02 {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .main_bg {
    margin-top: 10rem;
    padding: 10rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .main_bg {
    margin-top: 5rem;
    padding: 5rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .main_bg_w {
    padding: 8.3rem 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .main_bg_w {
    padding: 4rem 2rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .features_list .item .ttl {
    margin-bottom: 2rem;
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .features_list .item .ttl {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .features_list .item .flex_item {
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .features_list .item .flex_item {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .cm-content .features_list .item .flex_item img {
    flex-shrink: 0;
    width: 32rem;
  }
}
@media only screen and (max-width: 767px) {
  .cm-content .features_list .item .flex_item img {
    width: 100%;
    margin-top: 1rem;
  }
}
.text_left {
  text-align: left !important;
}

.text_right {
  margin-top: 2rem;
  font-size: 1.6rem;
  text-align: right;
}

.p_taiyoko-chikudenchi .ttl-page {
  background: url(../images/taiyoko-chikudenchi/bg_ttl.png) no-repeat center center;
  background-size: cover;
}
.p_taiyoko-chikudenchi .taiyoko_flex {
  display: flex;
}
.p_taiyoko-chikudenchi .taiyoko_flex .box .ttl {
  margin-bottom: 1rem;
  text-align: center;
  color: #006eb6;
}
.p_taiyoko-chikudenchi .taiyoko_flex .box p {
  margin-top: 1rem;
}

@media only screen and (min-width: 768px) {
  .p_taiyoko-chikudenchi .cm-content .list_tag ul {
    gap: 1.6rem 8.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_taiyoko-chikudenchi .taiyoko_flex {
    gap: 5rem;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .p_taiyoko-chikudenchi .taiyoko_flex {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_taiyoko-chikudenchi .taiyoko_flex .box {
    width: 38rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_taiyoko-chikudenchi .taiyoko_flex .box {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_taiyoko-chikudenchi .taiyoko_flex .box .ttl {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_taiyoko-chikudenchi .taiyoko_flex .box .ttl {
    font-size: 1.6rem;
  }
}
.p_airporator .flx_img {
  display: flex;
}
.p_airporator .ttl-page {
  background: url(../images/airporator/bg_ttl.png) no-repeat center center;
  background-size: cover;
}
.p_airporator .flex_img {
  display: flex;
  justify-content: center;
}

@media only screen and (min-width: 768px) {
  .p_airporator .flx_img {
    gap: 2rem;
    margin-top: 3rem;
  }
  .p_airporator .flx_img img {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_airporator .flx_img {
    gap: 1rem;
    margin-top: 1rem;
  }
  .p_airporator .flx_img img {
    width: calc(50% - 0.5rem);
  }
}
@media only screen and (min-width: 768px) {
  .p_airporator .flex_img {
    gap: 13.3rem;
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_airporator .flex_img {
    flex-wrap: wrap;
    gap: 3rem;
    margin-top: 2rem;
  }
}
.p_omatomente .ttl-page {
  background: url(../images/omatomente/bg_ttl.webp) no-repeat center center;
  background-size: cover;
}

@media only screen and (max-width: 767px) {
  .p_omatomente .item_ct2 .price:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_omatomente .cm-content .list_tag ul {
    gap: 1.6rem 3.5rem;
  }
  .p_omatomente .cm-content .plans .plans_item .item .item_ct,
  .p_ou .cm-content .plans .plans_item .item .item_ct,
  .p_saveair .cm-content .plans .plans_item .item .item_ct {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 15.5rem;
    padding: 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_omatomente .item_ct2 {
    padding: 2.3rem 0 2.8rem;
  }
  .p_omatomente .item_ct2 .price {
    margin-bottom: 2rem;
  }
  .p_omatomente .item_ct2 .price:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  .cm_youtube {
    width: 80rem;
    height: 45rem;
    margin: 6rem auto;
    padding: 3rem;
    background: #e8f4fd;
  }
}
@media only screen and (max-width: 767px) {
  .cm_youtube {
    height: 20rem;
    margin: 3rem 0;
  }
}
.cm_youtube iframe,
.cm_youtube2 iframe {
  display: block;
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 768px) {
  .cm_youtube2 {
    width: 60rem;
    height: 32rem;
    margin: 6rem auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .cm_youtube2 {
    height: 20rem;
    margin: 3rem 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .visualization_txt_small {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .visualization_txt_small {
    font-size: 1.2rem;
  }
}
.p_ou .ttl-page {
  background: url(../images/ou/bg_ttl.png) no-repeat center center;
  background-size: cover;
}
.p_ou .plans .plans-inner .title {
  text-align: center;
  color: #111987;
}
.p_ou .plans .plans-inner .title span {
  position: relative;
  z-index: 1;
}
.p_ou .plans .plans-inner .title span:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0.4rem;
  left: 0;
  width: 100%;
  background: #ffe400;
}
.p_ou .pg-flow__guide {
  display: flex;
  gap: 1.25rem;
}
.p_ou .pg-flow__guide-item {
  flex: 1;
}
.p_ou .pg-flow__guide-item:last-child .pg-flow__guide-item-head:after {
  content: none;
}
.p_ou .pg-flow__guide-item-head {
  position: relative;
  width: 100%;
}
.p_ou .pg-flow__guide-item-head:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  width: 0;
  height: 0;
  border-top: 0.8rem solid transparent;
  border-bottom: 0.8rem solid transparent;
  border-left: 1rem solid #009be0;
  transform: translateY(-50%);
}
.p_ou .pg-flow__guide-item-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 13.6rem;
  aspect-ratio: 1/1;
  margin: 0 auto;
  background: #ffffff;
  border: 0.2rem solid #009be0;
  border-radius: 62.5rem;
}
.p_ou .pg-flow__guide-item-icon-num {
  font-size: 2.2rem;
  font-weight: 700;
  color: #009be0;
}
.p_ou .pg-flow__guide-item-icon-st {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6em;
  height: 3em;
  margin-top: 0.5rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.p_ou .pg-flow__guide-item-cnt {
  margin-top: 2rem;
}
.p_ou .pg-flow__guide-item-cnt-st {
  font-size: 1.4rem;
  line-height: 1.75;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .p_ou .plans .plans-inner .title {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_ou .plans .plans-inner .title {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_ou .plans .plans-inner .title span:after {
    height: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_ou .plans .plans-inner .title span:after {
    height: 0.4rem;
  }
}
.plans .plans-inner .plans_item .item:first-child:before {
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .p_ou .pg-flow__guide {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .p_ou .pg-flow__guide-item-head:after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .p_ou .pg-flow__guide-item-cnt {
    max-width: 70%;
    margin-inline: auto;
  }
}
.p_savepro .ttl-page {
  background: url("../images/savepro/bg_ttl.png") no-repeat center center;
  background-size: cover;
}
.p_savepro .flex-energy .title {
  font-size: 1.8rem;
  text-align: center;
  color: #006eb6;
}
.p_savepro .flex-energy .equipment_item {
  margin-top: 2rem;
}
.p_savepro .faq {
  margin-top: 0;
  background: #ffffff;
}
.p_savepro .main_bg {
  margin-top: 0;
}
.p_savepro .savepro_s01 .img {
  margin-bottom: 2rem;
  padding: 2rem;
  background: #e8eff8;
}

@media only screen and (min-width: 768px) {
  .p_savepro .cm-content .list_tag ul {
    gap: 1.6rem 3.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_savepro .flex-energy {
    display: flex;
    gap: 1rem;
    margin-top: 3rem;
  }
  .p_savepro .flex-energy .box1 {
    width: 60%;
  }
  .p_savepro .flex-energy .box1 .equipment_item {
    gap: 1rem;
    padding: 1rem 1rem 1.5rem;
    background: #e8f4fd;
    border: 1px solid #2f61ae;
    border-radius: 2rem;
  }
  .p_savepro .flex-energy .box1 .equipment_item .item {
    width: calc(33.3333333333% - 0.6666666667rem);
    padding: 0;
    border: none;
  }
  .p_savepro .flex-energy .box2,
  .p_savepro .flex-energy .box3 {
    width: calc(20% - 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_savepro .flex-energy {
    margin-top: 3rem;
  }
  .p_savepro .flex-energy .flex-energy_box {
    margin-bottom: 4rem;
  }
  .p_savepro .flex-energy .flex-energy_box:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p_savepro .savepro_s01 .img {
    padding: 1rem;
  }
}
.p_utility .ttl-page {
  background: url("../images/utility/bg_ttl.webp") no-repeat center center/cover;
}
.p_utility .cm-content .businesses_list .item p {
  display: block;
}
.p_utility .cm-content .businesses_list .item p span {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
  font-weight: 300;
  color: #000;
}
.p_utility .cm_youtube3 iframe {
  display: block;
  width: 100%;
}
.p_utility .utility_s01 {
  display: flex;
}
.p_utility .utility_s01 .item {
  background: #ebf3fb;
}
.p_utility .utility_s01 .item_tt {
  font-weight: 600;
  text-align: center;
  color: #006eb6;
}
.p_utility .utility_s01 .item p strong {
  font-weight: 600;
}
.p_utility .utility_s02 {
  background: #f4fcfb;
}
.p_utility .utility_s02_ttl {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 0.8rem;
  font-weight: 300;
  border-bottom: 1px solid #000;
}
.p_utility .utility_s02_list {
  display: flex;
}
.p_utility .utility_s02_list a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  color: #000;
  background: #ffffff;
  border: 1px solid #000;
  transition: 0.3s all;
}
.p_utility .utility_s02_list a:hover {
  opacity: 0.7;
}
.p_utility .utility_s02_list a:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  padding: 0.4rem;
  border: solid black;
  border-width: 0 0.2rem 0.2rem 0;
  transform: translateY(-50%) rotate(-45deg);
}
.p_utility .utility_s02_list a p {
  margin-top: 0.5rem;
}
.p_utility .utility_s02_list a.btn1 img {
  display: block;
  margin: auto;
}
.p_utility .utility_s02_list a.btn2 {
  padding-top: 0.5rem;
}
.p_utility .utility_s02_list a.btn2 img {
  display: block;
  width: 17rem;
  margin: auto;
}
.p_utility .utility_s03_ttl {
  position: relative;
  text-align: center;
}
.p_utility .utility_s03_ttl:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 0.1rem;
  margin-top: -0.1rem;
  background: #006eb6;
}
.p_utility .utility_s03_ttl span {
  position: relative;
  z-index: 9;
  font-weight: 600;
  color: #006eb6;
  background: #ffffff;
}
.p_utility .utility_s03_box {
  position: relative;
  display: flex;
}
.p_utility .utility_s03_box:before, .p_utility .utility_s03_box:after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% - 1.7rem);
  width: 1px;
  height: 10rem;
  background: #006eb6;
}
.p_utility .utility_s03_box:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.p_utility .utility_s03_box:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.p_utility .utility_s03_box .box span {
  padding: 0.2rem 2rem;
  font-weight: 600;
  color: #ffffff;
  background: #006eb6;
  border-radius: 2rem;
}
.p_utility .utility_s03_box .box ul li {
  position: relative;
  line-height: 1.5;
}
.p_utility .utility_s03_box .box ul li:last-child {
  margin-bottom: 0;
}
.p_utility .facilities .text span {
  font-weight: 600;
}
.p_utility .utility_s05 {
  background: #f4f8fd;
}
.p_utility .utility_s05 .utility_s05_item:last-child {
  margin-bottom: 0;
}
.p_utility .utility_s05 .utility_s05_list {
  display: flex;
}
.p_utility .utility_s05 .utility_s05_list .item {
  background: #ffffff;
}
.p_utility .utility_s05 .utility_s05_list .item img {
  width: 100%;
}
.p_utility .faq {
  margin-top: 0 !important;
  background: #ebf9fd !important;
}

@media only screen and (min-width: 768px) {
  .p_utility .cm_youtube3 {
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .cm_youtube3 {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .cm_youtube3 iframe {
    height: 56rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .cm_youtube3 iframe {
    height: 19rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s01 {
    gap: 2.6rem;
    margin-bottom: 4.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s01 {
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s01 .item {
    padding: 3.5rem 2.5rem 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s01 .item {
    width: 100%;
    padding: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s01 .item_tt {
    margin-bottom: 2rem;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s01 .item_tt {
    margin-bottom: 1rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s02 {
    padding: 5.4rem 4.4rem 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s02 {
    padding: 2rem 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s02_ttl {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s02_ttl {
    gap: 0.5rem;
    font-size: 1.3rem;
  }
  .p_utility .utility_s02_ttl img {
    width: 17rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s02_list {
    gap: 3rem;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s02_list {
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s02_list a {
    width: calc(50% - 1.5rem);
    height: 9rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s02_list a {
    width: 100%;
    height: 7rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s02_list a:after {
    right: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s02_list a:after {
    right: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s02_list a.btn1 {
    padding-top: 1rem;
  }
  .p_utility .utility_s02_list a::after {
    transition: border-color 0.3s ease;
  }
  .p_utility .utility_s02_list a:hover {
    opacity: 1;
    color: #006eb6;
    border-color: #006eb6;
  }
  .p_utility .utility_s02_list a:hover::after {
    border-color: #006eb6;
  }
  .p_utility .utility_s02_list a:hover img {
    opacity: 1;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s02_list a.btn1 img {
    width: 27.9rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s02_list a.btn1 img {
    width: 21.5rem;
  }
}
.p_utility .utility_s03_ttl {
  overflow: hidden;
}

@media only screen and (min-width: 768px) {
  .p_utility .utility_s03_ttl span {
    padding: 0 3rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s03_ttl span {
    padding: 0 1.5rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s03_box {
    gap: 13rem;
    margin-top: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s03_box {
    flex-wrap: wrap;
    gap: 6.5rem;
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s03_box:before, .p_utility .utility_s03_box:after {
    top: 55%;
    left: 50%;
    height: 6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s03_box .box {
    width: calc(50% - 6.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s03_box .box {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s03_box .box span {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s03_box .box span {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s03_box .box ul {
    margin-top: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s03_box .box ul {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s03_box .box ul li {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s03_img1 {
    margin: 4rem 0 9rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s03_img1 {
    margin: 2rem 0 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .facilities .img {
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .facilities .img {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s05 .utility_s05_item {
    margin-bottom: 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s05 .utility_s05_item {
    margin-bottom: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s05 .utility_s05_list {
    gap: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s05 .utility_s05_list {
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 3rem;
  }
}
.p_utility .utility_s05 .utility_s05_list .item a {
  display: block;
  height: 100%;
  text-decoration: none !important;
}
.p_utility .utility_s05 .utility_s05_list .item .image {
  overflow: hidden;
}

@media only screen and (min-width: 768px) {
  .p_utility .utility_s05 .utility_s05_list .item {
    width: calc(33.3333333333% - 1.6666666667rem);
  }
  .p_utility .utility_s05 .utility_s05_list .item a {
    padding: 2rem 2rem;
  }
  .p_utility .utility_s05 .utility_s05_list .item a:hover {
    opacity: 1;
    color: #006eb6;
  }
  .p_utility .utility_s05 .utility_s05_list .item a:hover img {
    opacity: 1;
    transform: scale(1.05);
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s05 .utility_s05_list .item {
    width: 100%;
  }
  .p_utility .utility_s05 .utility_s05_list .item a {
    padding: 2rem 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_utility .utility_s05 .utility_s05_list .item p {
    margin-top: 1.7rem;
    line-height: 1.5;
  }
}
@media only screen and (max-width: 767px) {
  .p_utility .utility_s05 .utility_s05_list .item p {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .utility_s04 {
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .utility_s04 {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .utility_s04 .utility_s04_item {
    margin-bottom: 5.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .utility_s04 .utility_s04_item {
    margin-bottom: 3rem;
  }
}
.utility_s04 .utility_s04_item:last-child {
  margin-bottom: 0;
}

@media only screen and (min-width: 768px) {
  .studies_utility {
    padding-top: 12.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .studies_utility {
    padding-top: 4rem;
  }
}
.studies_utility .ttl {
  font-weight: 600;
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .studies_utility .ttl {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .studies_utility .ttl {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .studies_utility_ct {
    display: flex;
    margin-top: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .studies_utility_ct {
    margin-top: 2.5rem;
  }
  .studies_utility_ct--sp-v1 {
    display: flex;
    flex-direction: column-reverse;
  }
  .studies_utility_ct--sp-v1 .right {
    margin-top: 0 !important;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .studies_utility_ct .right {
    flex-shrink: 0;
    width: 35rem;
  }
}
@media only screen and (max-width: 767px) {
  .studies_utility_ct .right {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .studies_utility_ct .left {
    width: calc(100% - 35rem);
    padding-right: 4rem;
  }
}
.studies_utility_ct .left .tit {
  font-weight: 600;
  color: #247abb;
}
.studies_utility_ct .left .left_lst .itm {
  margin-bottom: 2rem;
}
.studies_utility_ct .left .left_lst .itm:last-child {
  margin-bottom: 0;
}
.studies_utility_ct .left .left_lst .itm .blx {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15rem;
  height: 4.5rem;
  margin-bottom: 1rem;
  color: #ffffff;
  background: #247abb;
}

@media only screen and (min-width: 768px) {
  .studies_utility_ct .left .tit {
    margin-bottom: 3rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .studies_utility_ct .left .tit {
    margin-bottom: 2rem;
    font-size: 1.6rem;
  }
}
.p_energy .ttl-page {
  background: url("../images/energy/bg_ttl.webp") no-repeat left 17% center/cover;
}
.p_energy .flex-energy .title {
  font-size: 1.8rem;
  text-align: center;
  color: #006eb6;
}
.p_energy .flex-energy .equipment_item {
  margin-top: 2rem;
}
.p_energy .step_energy {
  display: flex;
  gap: 2rem;
}
.p_energy .step_energy .step_ttl {
  display: flex;
  align-items: center;
  color: #2f61ad;
}
.p_energy .step_energy .step_ttl .cicle {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  text-align: center;
  color: #ffffff;
  background: #2f61ad;
  border-radius: 50%;
}
.p_energy .step_energy .step_ttl .txt {
  border-bottom: 0.4rem solid #df8c36;
}

@media only screen and (min-width: 768px) {
  .p_energy .flex-energy {
    display: flex;
    gap: 1rem;
    margin-top: 3rem;
  }
  .p_energy .flex-energy .box1 {
    width: 60%;
  }
  .p_energy .flex-energy .box1 .equipment_item {
    gap: 1rem;
    padding: 1rem 1rem 1.5rem;
    background: #e8f4fd;
    border-radius: 2rem;
    border: 1px solid #2f61ae;
  }
  .p_energy .flex-energy .box1 .equipment_item .item {
    width: calc(33.3333333333% - 0.6666666667rem);
    padding: 0;
    border: none;
  }
  .p_energy .flex-energy .box2,
  .p_energy .flex-energy .box3 {
    width: calc(20% - 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_energy .ttl-page {
    background-position: left center;
  }
  .p_energy .flex-energy {
    margin-top: 3rem;
  }
  .p_energy .flex-energy .flex-energy_box {
    margin-bottom: 4rem;
  }
  .p_energy .flex-energy .flex-energy_box:last-child {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .p_energy .step_energy {
    flex-wrap: wrap;
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_energy .step_energy .step_ttl {
    gap: 2rem;
    margin-bottom: 2rem;
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_energy .step_energy .step_ttl {
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_energy .step_energy .step_ttl .cicle {
    width: 7rem;
    height: 7rem;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_energy .step_energy .step_ttl .cicle {
    width: 6rem;
    height: 6rem;
    font-size: 1.4rem;
  }
}
.energy_process {
  background: #ffffff;
}
.energy_process dl dt {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}
.energy_process .energy_process01__row {
  border-radius: 1.5rem;
  border: 0.2rem solid #1974bb;
}
.energy_process .energy_process01__row span {
  flex-shrink: 0;
  font-weight: 600;
}
.energy_process .energy_process01 dl dt {
  background: #1974bb;
}
.energy_process .energy_process01 dl dd li {
  position: relative;
}
.energy_process .energy_process01 dl dd li:last-child {
  padding-bottom: 0;
}
.energy_process .energy_process01 dl dd li:last-child::before {
  content: none;
}
.energy_process .energy_process01 dl dd li:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
}
.energy_process .energy_process02 {
  margin-top: 2.6rem;
}
.energy_process .energy_process02 dl dt {
  color: #eda61a;
}
.energy_process .energy_process02 dl dd {
  position: relative;
}
.energy_process .energy_process02 dl dd:before {
  content: "";
  position: absolute;
  top: -2.6rem;
  left: 50%;
  width: 0.7rem;
  background: #1974bb;
  transform: translateX(-50%);
}
.energy_process .energy_process02 dl dd:after {
  content: "";
  position: absolute;
  left: 50%;
  padding: 1.7rem 2rem 0 2rem;
  border-top: 0.7rem solid #1974bb;
  border-right: 0.7rem solid #1974bb;
  border-left: 0.7rem solid #1974bb;
  background: #ffffff;
  transform: translateX(-50%);
}
.energy_process .energy_process02 dl dd .flx {
  display: flex;
  justify-content: center;
}
.energy_process .energy_process02 dl dd .flx .logo {
  position: relative;
  z-index: 2;
}
.energy_process .energy_process02 dl dd .flx .logo::before {
  position: absolute;
  content: "";
  left: 50%;
}
.energy_process .energy_process02 dl dd .flx .border {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 1.5rem;
  border: 0.2rem solid #eda61a;
}
.energy_process .energy_process02 dl dd .flx .border p {
  text-align: center;
}
.energy_process .energy_process02 dl dd .flx .link {
  position: absolute;
  left: 0;
  text-decoration: none;
  color: #000;
}

@media only screen and (min-width: 768px) {
  .energy_process {
    padding: 4rem 12.6rem 8rem 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process {
    padding: 1.5rem 1.5rem 6rem;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process dl {
    display: flex;
    gap: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process dl {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process dl dt {
    width: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process dl dt {
    width: 100%;
    padding: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process dl dd {
    width: calc(100% - 8.6rem);
  }
  .energy_process dl dd li {
    padding-bottom: 4rem;
  }
  .energy_process dl dd li::before {
    border-inline: 2rem solid transparent;
    border-block-start: 2rem solid #1974bb;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process dl dd {
    width: 100%;
  }
  .energy_process dl dd li {
    padding-bottom: 3.5rem;
  }
  .energy_process dl dd li::before {
    border-inline: 1.5rem solid transparent;
    border-block-start: 1.5rem solid #1974bb;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process .energy_process01__row {
    display: flex;
    padding: 1rem 2rem;
  }
  .energy_process .energy_process01__row span {
    width: 12rem;
  }
  .energy_process .energy_process01__note {
    width: calc(50% + 2rem);
    padding-left: 5.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process .energy_process01__row {
    padding: 1rem;
  }
  .energy_process .energy_process01__row span {
    display: block;
    margin-bottom: 0.5rem;
  }
  .energy_process .energy_process01__note {
    padding-left: 5rem;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process .energy_process02 dl dt {
    position: relative;
    z-index: 2;
    padding-bottom: 2.5rem;
    align-items: end;
  }
  .energy_process .energy_process02 dl dt::before {
    position: absolute;
    content: "";
    z-index: -1;
    inset-inline: 0;
    inset-block-end: 0;
    height: 8rem;
    border: 2px solid #eda61a;
  }
  .energy_process .energy_process02 dl dd:before {
    height: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process .energy_process02 dl dd:before {
    top: -2rem;
    height: 2rem;
  }
  .energy_process .energy_process02 dl dt {
    position: relative;
    z-index: 2;
    border: 2px solid #eda61a;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process .energy_process02 dl dd:after {
    top: 2.4rem;
    width: calc(50% + 6.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .energy_process .energy_process02 dl dd:after {
    top: 0;
    width: calc(50% + 1.5rem);
  }
}
@media only screen and (min-width: 768px) {
  .energy_process .energy_process02 dl dd .flx {
    gap: 10rem;
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process .energy_process02 dl dd .flx {
    gap: 1rem;
    margin-top: 0;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process .energy_process02 dl dd .flx .logo {
    width: calc(50% - 5rem);
    padding-top: 3.5rem;
  }
  .energy_process .energy_process02 dl dd .flx .logo::before {
    top: 1.5rem;
    border-inline: 2rem solid transparent;
    border-block-start: 2rem solid #1974bb;
  }
  .energy_process .energy_process02 dl dd .flx .logo:first-child::before {
    margin-left: -2.4rem;
  }
  .energy_process .energy_process02 dl dd .flx .logo:last-child::before {
    margin-left: -1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process .energy_process02 dl dd .flx .logo {
    width: calc(50% - 0.5rem);
    padding-top: 3rem;
  }
  .energy_process .energy_process02 dl dd .flx .logo::before {
    top: 1.5rem;
    border-inline: 1.5rem solid transparent;
    border-block-start: 1.5rem solid #1974bb;
  }
  .energy_process .energy_process02 dl dd .flx .logo:first-child::before {
    margin-left: -1.5rem;
  }
  .energy_process .energy_process02 dl dd .flx .logo:last-child::before {
    margin-left: -1.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process .energy_process02 dl dd .flx .border {
    height: 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process .energy_process02 dl dd .flx .border {
    height: 5.8rem;
    padding: 0 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process .energy_process02 dl dd .flx .border p {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process .energy_process02 dl dd .flx .border p {
    font-size: 0.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .energy_process .energy_process02 dl dd .flx .link {
    bottom: -4rem;
    font-size: 1.35rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy_process .energy_process02 dl dd .flx .link {
    bottom: -7.5vw;
    font-size: clamp(0.8rem, 2.3vw, 1.4rem);
  }
}
.lightbox-overlay {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.5rem;
  background: rgba(0, 0, 0, 0.65);
}
.lightbox-overlay .btn {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 3.5rem;
}

@media only screen and (max-width: 767px) {
  .lightbox-overlay {
    padding: 1.5rem 1.5rem;
  }
}
.lightbox-panel {
  position: relative;
  max-width: 102rem;
  max-height: 100%;
  padding-block: 3.5rem;
}

.lightbox-inner {
  max-height: calc(100svh - 6.5rem);
  overflow-y: auto;
}

.lightbox-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0;
  font-size: 46px;
  line-height: 20px;
  color: #ffffff;
  background: transparent;
  border: none;
  cursor: pointer;
}

.p_saveair .ttl-page {
  background: url(../images/saveair/bg_ttl.png) no-repeat center center;
  background-size: cover;
}
.p_saveair .saveair_01 {
  display: flex;
  justify-content: center;
  max-width: 100rem;
}
.p_saveair .saveair_01 .ttl {
  text-align: center;
}
.p_saveair .saveair_01 .box1 {
  position: relative;
  text-align: center;
}
.p_saveair .saveair_01 .box1 .text_box {
  position: absolute;
  bottom: 0;
  font-weight: 600;
  color: #f53f00;
  background: #ffffff;
  border: 0.2rem solid #f53f00;
  border-radius: 0.5rem;
}
.p_saveair .saveair_01 .box1 .text_box::before {
  content: "";
  position: absolute;
  background: url(../images/saveair/aroe.png) no-repeat center center;
  background-size: 100% auto;
}
.p_saveair .saveair_01 .box3 {
  text-align: center;
}
.p_saveair .saveair_01 .box2 .in_box2 {
  display: flex;
  align-items: center;
}
.p_saveair .saveair_01 .box2 .in_box2 p {
  margin: 0;
  font-weight: 600;
  text-align: center;
}
.p_saveair .position-relative {
  position: relative !important;
}
.p_saveair .boxTwo {
  display: flex;
  justify-content: space-between;
  padding: 2.5rem;
  background-color: #eff9ff;
  border: 0.2rem dotted #707070;
  width: 100%;
}
.p_saveair .boxTwo h3 {
  margin-bottom: 2rem;
  font-size: 2.6rem;
  text-align: left;
}
.p_saveair .boxTwo h3 span {
  margin-right: 0.8rem;
  padding: 0.8rem;
  font-size: 1.6rem;
  color: white;
  background-color: #333;
  border-radius: 1rem;
}
.p_saveair .boxTwo .left {
  width: 69%;
  text-align: center;
}
.p_saveair .boxTwo .left img {
  margin: auto;
}
.p_saveair .boxTwo .left p {
  font-weight: bold;
  text-align: left !important;
}
.p_saveair .boxTwo .right {
  position: relative;
  width: 28rem;
}

.p_saveair #onoff {
  max-width: 100%;
  margin-right: 23rem;
  padding: 1.2rem;
  text-align: left;
  background-color: #efefef;
  border-radius: 1px;
}
.p_saveair #onoff .onofftitle {
  margin-bottom: 0.4rem;
  font-size: 1.2rem;
  font-weight: bold;
}
.p_saveair #onoff .onofftitle svg {
  width: 2.1rem;
  margin-right: 0.4rem;
  padding-bottom: 0.2rem;
}
.p_saveair #onoff p {
  margin-bottom: 0;
  font-size: 0.9rem;
}
.p_saveair #onoffImage {
  position: absolute;
  top: 1rem;
  right: 0;
  width: 19.5rem;
}
.p_saveair .case__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  padding: 0;
  list-style: none;
}
.p_saveair .case__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.6rem;
  background: #e8f4fd;
  border-radius: 2rem;
}
.p_saveair .case__ttl {
  margin-bottom: 0;
  font-size: 2.2rem;
  font-weight: 600;
  text-align: center;
  color: #036eb7;
}
.p_saveair .case__img {
  position: relative;
}
.p_saveair .case__img img {
  border-radius: 0.4rem;
}
.p_saveair .case__details {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.p_saveair .case__detail {
  -webkit-font-feature-settings: "pkna" on, "palt" on;
  font-feature-settings: "pkna" on, "palt" on;
  /* font-family: 'Hiragino Kaku Gothic ProN'; */
}
.p_saveair .case__detail dt {
  display: inline-block;
  width: 8.5rem;
  margin-bottom: 0.5rem;
  padding: 0.5rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #ffffff;
  background: #036eb7;
  border-radius: 0.4rem;
}
.p_saveair .case__detail dd {
  margin-bottom: 0;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: #036eb7;
}
.p_saveair .case__data {
  position: absolute;
  right: -2.9rem;
  bottom: -1rem;
  width: min(120px, 100%);
}
.p_saveair .case__note {
  display: block;
  margin-top: 1.6rem;
  font-family: "Hiragino Kaku Gothic ProN";
  font-size: 1.4rem;
  font-weight: 300;
  text-align: right;
}
.p_saveair .plans .plans-inner .title {
  text-align: center;
  color: #111987;
}
.p_saveair .plans .plans-inner .title span {
  position: relative;
  z-index: 1;
}
.p_saveair .plans .plans-inner .title span:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #ffe400;
}
.p_saveair .feedback_inner .ttl {
  padding-left: 1rem;
  line-height: 1.4;
  color: #002074;
  border-left: 0.5rem solid #002074;
}
.p_saveair .feedback .title_01 {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  align-items: center;
}
.p_saveair .feedback .title_01 .number {
  position: relative;
  width: 4rem;
  height: 4rem;
  padding-top: 0.5rem;
  font-family: var(--font-Montserrat);
  font-size: 2.3rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  color: #ffffff;
}
.p_saveair .feedback .title_01 .number:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  border-right: 2rem solid transparent;
  border-bottom: 1rem solid #ffffff;
  border-left: 2rem solid transparent;
}
.p_saveair .feedback .title_01 .number.number1 {
  background: #cc9900;
}
.p_saveair .feedback .title_01 .number.number2 {
  background: #c7c4c3;
}
.p_saveair .feedback .title_01 .number.number3 {
  background: #ff9e5a;
}
.p_saveair .feedback .dl_full {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  margin-bottom: 1.5rem;
}
.p_saveair .feedback .dl_full dt {
  width: 8.5rem;
  font-size: 1.3rem;
  font-weight: 600;
  text-align: center;
}
.p_saveair .feedback .dl_full dd {
  position: relative;
  width: calc(100% - 10rem);
  padding: 2rem;
  font-weight: 600;
  background: #e3f6ff;
  border-radius: 1rem;
}
.p_saveair .feedback .dl_full dd:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 0;
  height: 0;
  transform: translateY(-50%);
}
.p_saveair .feedback .dl_full.dl_l dt {
  order: 1;
}
.p_saveair .feedback .dl_full.dl_l dd {
  order: 2;
}
.p_saveair .feedback .dl_full.dl_l dd:after {
  left: -1rem;
  border-top: 1rem solid transparent;
  border-right: 1rem solid #e3f6ff;
  border-bottom: 1rem solid transparent;
}
.p_saveair .feedback .dl_full.dl_r dt {
  order: 2;
}
.p_saveair .feedback .dl_full.dl_r dd {
  order: 1;
}
.p_saveair .feedback .dl_full.dl_r dd:after {
  right: -1rem;
  border-top: 1rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 1rem solid #e3f6ff;
}
.p_saveair .feedback .feedback_2 {
  margin-top: 2rem;
}
.p_saveair .saveair_s01_ttl {
  position: relative;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background: #0068d2;
  border-radius: 1rem;
}
.p_saveair .saveair_s01_ttl:after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1rem solid #0068d2;
  border-right: 1rem solid transparent;
  border-left: 1rem solid transparent;
  transform: translateX(-50%);
}
.p_saveair .saveair_s01_inner {
  display: flex;
  align-items: flex-start;
}
.p_saveair .saveair_s01_right .item {
  margin-bottom: 1.2rem;
}
.p_saveair .saveair_s01_right .item span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13rem;
  margin-bottom: 0.8rem;
  padding: 0.3rem 0;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background: #006eb6;
  border-radius: 28px;
}
.p_saveair .saveair_s01_right .item:last-child {
  margin-bottom: 0;
}
.p_saveair .saveair_s02 {
  text-align: center;
}
.p_saveair .saveair_s02_ttl {
  position: relative;
  display: inline-block;
  font-weight: 600;
  text-align: center;
  vertical-align: top;
  color: #ffffff;
  background: #0068d2;
  border-radius: 1rem;
}
.p_saveair .saveair_s02_ttl:after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1rem solid #0068d2;
  border-right: 1rem solid transparent;
  border-left: 1rem solid transparent;
  transform: translateX(-50%);
}
.p_saveair .saveair_s02_list {
  display: flex;
}
.p_saveair .saveair_s02_list .item {
  text-align: left;
}
.p_saveair .saveair_s02_list .item .ttl {
  font-size: 1.8rem;
  text-align: center;
  color: #0068d2;
}
.p_saveair .saveair_s02_list .item .img {
  cursor: pointer;
}
.p_saveair .saveair_s02_list .item p {
  margin-top: 1.5rem;
}
.p_saveair .saveair_s02_list .item .btn_lightbox {
  display: block !important;
  width: 100% !important;
  margin-top: 1.5rem;
  text-align: center;
}
.p_saveair .saveair_s02_list .item .btn {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s01_inner {
    gap: 2.5rem;
  }
  .p_saveair .boxTwo .right {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_01 {
    gap: 2rem;
  }
  .p_saveair .saveair_s01_inner {
    gap: 4rem;
  }
  .p_saveair .boxTwo .right {
    margin-top: 1rem;
    width: 70%;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_01 .ttl {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_01 .ttl {
    font-size: 0.85rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_01 .box1 {
    width: 22.6rem;
    padding-bottom: 7rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_01 .box1 {
    width: 25%;
    padding-bottom: 6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_01 .box1 .text_box {
    width: 60rem;
    padding: 0.5rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_01 .box1 .text_box {
    width: 30rem;
    padding: 1rem;
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_01 .box1 .text_box::before {
    top: -2.5rem;
    left: 8rem;
    width: 1.7rem;
    height: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_01 .box1 .text_box::before {
    top: -1.5rem;
    left: 4rem;
    width: 1rem;
    height: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_01 .box3 {
    width: 20.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_01 .box3 {
    width: 25%;
  }
  .p_saveair .saveair_01 .box3 img {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_01 .box2 {
    width: 50%;
  }
  .p_saveair .saveair_01 .box2 img {
    width: 25%;
  }
  .p_saveair .saveair_01 .box2 .ttl {
    margin-bottom: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_01 .box2 .in_box2 .box2_a,
  .p_saveair .saveair_01 .box2 .in_box2 .box2_b {
    text-align: center;
  }
  .p_saveair .saveair_01 .box2 .in_box2 .box2_a img,
  .p_saveair .saveair_01 .box2 .in_box2 .box2_b img {
    width: 7rem;
    margin: auto;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_01 .box2 .in_box2 .box2_a,
  .p_saveair .saveair_01 .box2 .in_box2 .box2_b {
    text-align: center;
  }
  .p_saveair .saveair_01 .box2 .in_box2 .box2_a img,
  .p_saveair .saveair_01 .box2 .in_box2 .box2_b img {
    width: 50%;
    margin: auto;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_01 .box2 .in_box2 p {
    font-size: 0.7rem;
  }
}
@media screen and (max-width: 991px) {
  .p_saveair .boxTwo {
    display: block;
    width: 100%;
    padding: 2rem 1rem;
  }
  .p_saveair .boxTwo h3 {
    display: block;
    font-size: 1.7rem;
  }
  .p_saveair .boxTwo .left,
  .p_saveair .boxTwo .right {
    width: 100%;
  }
  .p_saveair #onoff {
    margin-right: 23rem;
  }
  .p_saveair #onoff p {
    font-size: 1.2rem;
  }
  .p_saveair #onoff .onofftitle {
    font-size: 1.4rem;
  }
  .p_saveair #onoffImage {
    right: 0;
  }
  .p_saveair #onoffImage img {
    width: 20rem;
  }
  .p_saveair .boxTwo .right h4 {
    width: 100%;
  }
  .p_saveair .boxTwo .right img {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair #onoffImage {
    bottom: 0;
    display: none;
  }
  .p_saveair #onoff {
    width: 100%;
  }
  .p_saveair #onoff .gbr {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .p_saveair .case__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__items {
    margin-top: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__item {
    gap: 0.6rem;
    padding: 0.75rem;
    border-radius: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__ttl {
    font-size: 1.65rem;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__img {
    border-radius: 0.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__details {
    gap: 0.8rem;
  }
}
@media screen and (max-width: 1199px) {
  .p_saveair .case__detail {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__detail {
    gap: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__detail dt {
    width: 6.5rem;
    font-size: 1rem;
    border-radius: 0.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__detail dd {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .p_saveair .case__data {
    right: -2rem;
    width: min(120px, 22.5vw);
  }
  .p_saveair .case__note {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .plans .plans-inner .title {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .plans .plans-inner .title {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .plans .plans-inner .title span:after {
    height: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .plans .plans-inner .title span:after {
    height: 0.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .cm-content .equipment_item .item {
    width: 45rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .feedback_inner {
    display: flex;
    justify-content: space-between;
    margin-top: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .feedback_inner {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .feedback_inner .ttl {
    margin-bottom: 3rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .feedback_inner .ttl {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .feedback_left {
    width: 40%;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .feedback_left {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .feedback_right {
    width: 55%;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .feedback_right {
    width: 100%;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .feedback .title_01 {
    margin-bottom: 2.5rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .feedback .title_01 {
    margin-bottom: 1.5rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .feedback .feedback_2 {
    display: flex;
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .feedback .feedback_2 .feedback_2a {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .feedback .feedback_2 .feedback_2a {
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .feedback .dl_box dt {
    position: relative;
    width: 100%;
    padding: 2rem 1rem;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    background: #e3f6ff;
    border-radius: 1rem;
  }
  .p_saveair .feedback .dl_box dt:after {
    content: "";
    position: absolute;
    bottom: -1rem;
    left: 50%;
    width: 0;
    height: 0;
    border-top: 1rem solid #e3f6ff;
    border-right: 1rem solid transparent;
    border-left: 1rem solid transparent;
    transform: translateX(-50%);
  }
  .p_saveair .feedback .dl_box dd {
    margin-top: 2rem;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .feedback .dl_box {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
  }
  .p_saveair .feedback .dl_box.dl_l dt {
    order: 2;
  }
  .p_saveair .feedback .dl_box.dl_l dt:after {
    left: -1rem;
    border-top: 1rem solid transparent;
    border-right: 1rem solid #e3f6ff;
    border-bottom: 1rem solid transparent;
  }
  .p_saveair .feedback .dl_box.dl_l dd {
    order: 1;
  }
  .p_saveair .feedback .dl_box.dl_r dt {
    order: 1;
  }
  .p_saveair .feedback .dl_box.dl_r dt:after {
    right: -1rem;
    border-top: 1rem solid transparent;
    border-bottom: 1rem solid transparent;
    border-left: 1rem solid #e3f6ff;
  }
  .p_saveair .feedback .dl_box.dl_r dd {
    order: 2;
  }
  .p_saveair .feedback .dl_box dd {
    width: 8.5rem;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
  }
  .p_saveair .feedback .dl_box dt {
    position: relative;
    width: calc(100% - 10rem);
    padding: 2rem;
    font-weight: 600;
    background: #e3f6ff;
    border-radius: 1rem;
  }
  .p_saveair .feedback .dl_box dt:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    transform: translateY(-50%);
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s01_ttl {
    padding: 1rem 3rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s01_ttl {
    padding: 1rem 2rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s01_ttl span {
    font-size: 3.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s01_ttl span {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s01_inner {
    flex-wrap: wrap;
  }
  .p_saveair .saveair_s01_left .c-title-char {
    margin-left: 3vw;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s01_left {
    width: 45rem;
  }
  .p_saveair .saveair_s01_left .c-title-char {
    margin-left: 1.7rem;
  }
  .p_saveair .saveair_s01_right {
    flex: 1;
    min-width: 1px;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s01_left {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s01_right .item span {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s01_right .item span {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s02_ttl {
    padding: 1rem 3rem;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s02_ttl {
    padding: 1rem 2rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s02_ttl span {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s02_ttl span {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s02_list {
    gap: 3rem;
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s02_list {
    flex-wrap: wrap;
    gap: 2.5rem;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s02_list .item {
    width: calc(33.3333333333% - 2rem);
  }
  .p_saveair .saveair_s02_list .item .btn {
    margin-top: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s02_list .item {
    width: 100%;
  }
  .p_saveair .saveair_s02_list .item .btn {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_saveair .saveair_s02_list .item .ttl {
    margin-bottom: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_saveair .saveair_s02_list .item .ttl {
    margin-bottom: 1rem;
  }
}
#temp-level,
#temp-compare {
  padding: 2rem;
  background-color: #ffffff;
  border-radius: 1rem;
}

@media only screen and (max-width: 767px) {
  #temp-level,
  #temp-compare {
    padding: 2.5rem 1.5rem;
  }
}
.btn_lightbox {
  display: inline-block;
  vertical-align: top;
  color: #1974bb;
  border: 0.2rem solid #1974bb;
  border-radius: 1rem;
  cursor: pointer;
}

@media only screen and (min-width: 768px) {
  .btn_lightbox {
    padding: 0.5rem 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .btn_lightbox {
    padding: 0.5rem 1rem;
  }
}
.Comfortable_Under {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  padding: 4rem 2rem;
  background-color: #ffffff;
}

@media screen and (max-width: 1280px) {
  .Comfortable_Under {
    width: 78.125vw;
    padding: 3.125vw;
  }
}
@media screen and (max-width: 750px) {
  .Comfortable_Under {
    flex-direction: column;
    padding: 0;
  }
}
@media only screen and (min-width: 751px) {
  .Comfortable_Under_Box {
    padding-left: 3rem;
  }
}
.Comfortable_Under_G {
  flex-shrink: 0;
  width: 418px;
}
.Comfortable_Under_G img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1280px) {
  .Comfortable_Under_G {
    width: 32.65625vw;
  }
}
@media screen and (max-width: 750px) {
  .Comfortable_Under_G {
    width: 100%;
    margin-top: 2.66667vw;
    margin-right: auto;
    margin-left: auto;
  }
}
.Comfortable_Under_Box {
  margin-left: 0px;
}

@media screen and (max-width: 1280px) {
  .Comfortable_Under_Box {
    margin-left: 0vw;
  }
}
@media screen and (max-width: 750px) {
  .Comfortable_Under_Box {
    margin-left: 0;
  }
}
.Comfortable_Under_Balloon {
  width: 478px;
}
.Comfortable_Under_Balloon img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1280px) {
  .Comfortable_Under_Balloon {
    width: 37.34375vw;
  }
}
@media screen and (max-width: 750px) {
  .Comfortable_Under_Balloon {
    width: 92%;
    margin-top: 4vw;
    margin-right: auto;
    margin-left: auto;
  }
}
.Comfortable_Under_Ttl {
  margin-top: 20px;
  font-size: 22px;
  font-weight: 700;
  color: #002074;
}

@media screen and (max-width: 1280px) {
  .Comfortable_Under_Ttl {
    margin-top: 1.5625vw;
    font-size: 1.71875vw;
  }
}
@media screen and (max-width: 750px) {
  .Comfortable_Under_Ttl {
    margin-top: 4vw;
    font-size: 3.73333vw;
  }
}
.Comfortable_Under_Txt {
  margin-top: 22px;
  font-size: 12px;
  line-height: 1.7;
}

@media screen and (max-width: 750px) {
  .Comfortable_Under_Txt {
    margin-top: 1.7rem;
  }
}
.Modal2_Txt {
  display: flex;
  align-items: flex-start;
  line-height: 1.7;
}
.Modal2_Txt:before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  margin-right: 10px;
  background-color: #0068d2;
  border-radius: 50%;
  transform: translateY(9px);
}

@media screen and (max-width: 1280px) {
  .Modal2_Txt:before {
    width: 0.625vw;
    height: 0.625vw;
    margin-right: 0.78125vw;
    transform: translateY(0.9375vw);
  }
}
@media screen and (max-width: 750px) {
  .Modal2_Txt:before {
    width: 1.86667vw;
    height: 1.86667vw;
    margin-right: 1.33333vw;
    transform: translateY(1.86667vw);
  }
}
.Modal2_Txt-2 {
  margin-top: 15px;
}

@media screen and (max-width: 1280px) {
  .Modal2_Txt-2 {
    margin-top: 1.17188vw;
  }
}
@media screen and (max-width: 750px) {
  .Modal2_Txt-2 {
    margin-top: 4vw;
  }
}
.Modal2_Img {
  width: 908px;
  margin-top: 25px;
  margin-right: auto;
  margin-left: auto;
}
.Modal2_Img img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 1280px) {
  .Modal2_Img {
    width: 70.9375vw;
  }
}
@media screen and (max-width: 750px) {
  .Modal2_Img {
    width: 100%;
  }
}
.p_charge .ttl-page {
  background: url("../images/charge/bg_ttl.webp") no-repeat center center/cover;
}
.p_charge .charge_s01 {
  display: flex;
  background: #f8f1d7;
}
.p_charge .charge_s01 img {
  order: 1;
  width: 34rem;
}
.p_charge .charge_s01 p {
  order: 2;
  margin-bottom: 0;
  text-align: left;
  background: #ffffff;
}
.p_charge .charge_flex {
  display: flex;
}
.p_charge .charge_flex2 {
  display: flex;
}
.p_charge .charge_flex2 .item {
  position: relative;
}
.p_charge .charge_flex2 .item:last-child:before {
  content: none;
}
.p_charge .charge_flex2 .item:before {
  content: "";
  position: absolute;
  background: url(../images/charge/arrow.png) no-repeat center center;
  background-size: 100% auto;
}
.p_charge .charge_s02 .txt {
  text-align: center;
}
.p_charge .charge_s02__inner .img {
  display: flex;
}
.p_charge .charge_s02__inner .img .img_item {
  position: relative;
}
.p_charge .charge_s02__inner .img .img_item:last-child::before {
  content: none;
}
.p_charge .charge_s02__inner .img .img_item:before {
  content: "";
  position: absolute;
  background: url(../images/charge/arrow.png) no-repeat center center;
  background-size: 100% auto;
}
.p_charge .charge_s02__inner .text_note {
  margin-top: 3rem;
  font-size: 1.4rem;
  text-align: left;
}
.p_charge .gs-anime img {
  display: inline;
  width: auto;
  height: 1.2em;
  padding: 0 0.5em 0.1em;
  vertical-align: middle;
}
.p_charge .utility_s04 {
  margin-bottom: 5rem;
}
.p_charge .faq {
  margin-top: 0;
  background: #ffffff;
}

@media only screen and (min-width: 768px) {
  .p_charge .charge_s01 {
    gap: 2rem;
    align-items: flex-start;
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .ttl-page {
    background-position: left 30% center;
  }
  .p_charge .charge_s01 {
    flex-wrap: wrap;
    gap: 1.5rem;
    padding: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_s01 p {
    padding: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_s01 p {
    padding: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_flex {
    gap: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_flex {
    flex-wrap: wrap;
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_flex img {
    width: calc(50% - 1.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_flex img {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_flex2 {
    gap: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_flex2 {
    flex-wrap: wrap;
    gap: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_flex2 .item {
    width: calc(33.3333333333% - 3.3333333333rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_flex2 .item {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_flex2 .item:before {
    top: 50%;
    right: -3.8rem;
    width: 2.5rem;
    height: 6rem;
    transform: translateY(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_flex2 .item:before {
    bottom: -4rem;
    left: 50%;
    width: 2rem;
    height: 5rem;
    transform: translateX(-50%) rotate(90deg);
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_s02__inner .img {
    gap: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_s02__inner .img {
    flex-wrap: wrap;
    gap: 6rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_s02__inner .img .img_item {
    width: calc(50% - 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_s02__inner .img .img_item {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .charge_s02__inner .img .img_item:before {
    right: -2.8rem;
    bottom: 6rem;
    width: 3.5rem;
    height: 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_charge .charge_s02__inner .img .img_item:before {
    bottom: -5rem;
    left: 50%;
    width: 2rem;
    height: 5rem;
    transform: translateX(-50%) rotate(90deg);
  }
}
@media only screen and (min-width: 768px) {
  .p_charge .studies_utility_ct {
    align-items: flex-start;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .faq {
    padding-bottom: 4rem;
  }
}
.p_other .ttl-page {
  background: url("../images/other/bg_ttl.webp") no-repeat center center/cover;
}
.p_other .s-other_listbtn {
  display: flex;
  gap: 2rem;
}
.p_other .s-other_listbtn a {
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  color: #000;
  background: #e8f4fd;
  border-radius: 2rem;
}
.p_other .s-other_listbtn a:hover {
  opacity: 0.7;
}
.p_other .s-other_listbtn a img {
  margin: auto;
}
.p_other .s-other_listbtn a p {
  margin-top: 1rem;
}
.p_other .s-other01__ttl {
  font-weight: 600;
  text-align: center;
}
.p_other .s-other01 .txt {
  text-align: center;
}
.p_other .s-other01 .txt span {
  font-weight: 600;
  color: #006eb6;
}
.p_other .s-other01__list .item .img {
  height: auto;
}
.p_other .s-other01__list .item .ttl {
  flex: none;
}
.p_other .s-other01__flx {
  display: flex;
}
.p_other .s-other01__flx .item p {
  margin-top: 1rem;
  text-align: center;
}
.p_other .s-other01__flx .item p span {
  padding: 1rem 3rem;
  color: #000;
  background: #eef7fd;
}
.p_other .s-other01__merit dl {
  display: flex;
}
.p_other .s-other01__merit dl:last-child {
  margin-bottom: 0;
}
.p_other .s-other01__merit dl dt {
  position: relative;
  flex-shrink: 0;
  width: 11rem;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  letter-spacing: -0.1em;
  color: #ffffff;
  background: #006eb6;
}
.p_other .s-other01__merit dl dt:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1rem;
  transform: translateY(-50%);
  border-top: 1.4rem solid transparent;
  border-bottom: 1.4rem solid transparent;
  border-left: 1rem solid #006eb6;
}
.p_other .s-other01__merit dl dd {
  width: 100%;
  line-height: 1.8;
}
.p_other .s-other01__merit dl dd ul {
  margin-top: 0.4rem;
}
.p_other .s-other01__merit dl dd strong {
  display: block;
  line-height: 1.5;
  font-weight: 600;
}
.p_other .s-other01__merit dl dd span {
  font-weight: 600;
  border-bottom: 0.3rem solid #ebae3d;
}
.p_other .s-other01__box1 {
  max-width: 40rem;
  margin: 5rem auto 0;
}
.p_other .s-other01__box2 {
  display: flex;
  margin-top: 5rem;
}
.p_other .s-other01__box2 p {
  margin-top: 1.5rem;
}
.p_other .s-other01__chart {
  display: flex;
  margin-top: 3rem;
}
.p_other .s-other01__chart .ttl {
  margin-bottom: 1.5rem;
  text-align: center;
}
.p_other .s-other01__chart .chart p {
  margin-top: 1rem;
  font-weight: 600;
  text-align: center;
}
.p_other .s-other01__chart .img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 300px;
  padding: 2rem;
  background: #f2f2f2;
}
.p_other .s-other01 .txt_note {
  margin-top: 1.5rem;
  font-size: 1.4rem;
}
.p_other .tt_h4 {
  margin-bottom: 2rem;
  font-size: 2rem;
}

@media only screen and (min-width: 768px) {
  .p_other .s-other_listbtn {
    padding-top: 10.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other_listbtn {
    flex-wrap: wrap;
    padding-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other_listbtn a {
    width: calc(25% - 1.5rem);
    padding: 2rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other_listbtn a {
    width: calc(50% - 1rem);
    padding: 1rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other_listbtn a img {
    width: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other_listbtn a img {
    width: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01 {
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__ttl {
    margin-top: 5rem;
    margin-bottom: 2rem;
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__ttl {
    margin-top: 4rem;
    margin-bottom: 1rem;
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__list .item {
    width: calc(50% - 3rem);
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__flx {
    gap: 5rem;
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__flx {
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__flx .item {
    width: calc(50% - 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__flx .item {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__merit {
    margin-top: 8rem;
  }
  .p_other .s-other01__merit dd strong {
    margin-top: -0.2rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__merit {
    margin-top: 4rem;
  }
  .p_other .s-other01__merit dd strong {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__merit dl {
    gap: 2.5rem;
    align-items: flex-start;
    margin-bottom: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__merit dl {
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__merit dl dt {
    padding: 0.6rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__merit dl dt {
    padding: 0.7rem 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__merit dl dd {
    padding-left: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__box2 {
    gap: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__box2 {
    flex-wrap: wrap;
    gap: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__box2 .it {
    width: calc(50% - 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__box2 .it {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__chart {
    gap: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__chart {
    flex-wrap: wrap;
    gap: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__chart .ttl {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__chart .ttl {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_other .s-other01__chart .chart {
    width: calc(50% - 2.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .p_other .s-other01__chart .chart {
    width: 100%;
  }
}
.p_subsidy .ttl-page {
  background: url(../images/subsidy/bg_ttl.png) no-repeat center center;
  background-size: cover;
}
.p_subsidy .s-subsidy01 {
  text-align: center;
}
.p_subsidy .s-subsidy01_item .in_box {
  display: flex;
}
.p_subsidy .s-subsidy01_item .box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.2rem solid #006eb6;
  border-radius: 5rem;
  font-weight: 600;
}
.p_subsidy .s-subsidy01_item .box.box1:after {
  content: "";
  position: absolute;
  background: url(../images/subsidy/icon1.png) no-repeat center center;
  background-size: 100% auto;
}
.p_subsidy .s-subsidy01_item .box.box2:after {
  content: "";
  position: absolute;
  background: url(../images/subsidy/icon1.png) no-repeat center center;
  background-size: 100% auto;
  transform: scaleX(-1);
}
.p_subsidy .txt_mt {
  margin-top: -2rem;
  font-weight: 600;
}
.p_subsidy .tit_subsidy {
  text-align: center;
}
.p_subsidy .s-subsidy02 .txt1 span {
  font-weight: 600;
  color: #006eb6;
}
.p_subsidy .s-subsidy02 .txt2 {
  margin-bottom: 5rem;
}
.p_subsidy .s-subsidy02 .txt2 span {
  font-weight: 600;
  border-bottom: 0.4rem solid #ebae3d;
}
.p_subsidy .accordion:last-child {
  margin-bottom: 0;
}
.p_subsidy .accordion .title {
  position: relative;
}
.p_subsidy .accordion .title.active .icon::after {
  content: none;
}
.p_subsidy .accordion .title .icon {
  position: absolute;
  top: 50%;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
}
.p_subsidy .accordion .title .icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0.2rem;
  background: #ffffff;
  transform: translate(-50%, -50%);
}
.p_subsidy .accordion .title .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 0.2rem;
  background: #ffffff;
  transform: translate(-50%, -50%);
  transform: translate(-50%, -50%) rotate(90deg);
}
.p_subsidy .accordion .title1 {
  position: relative;
  padding: 1.7rem;
  font-weight: 600;
  color: #ffffff;
  background: #006eb6;
  cursor: pointer;
}
.p_subsidy .accordion .title2 {
  padding: 1rem 5rem 1rem 1rem;
  background: #ecf5f8;
  cursor: pointer;
}
.p_subsidy .accordion .title2 .icon:before, .p_subsidy .accordion .title2 .icon:after {
  background: #111987;
}
.p_subsidy .accordion .item {
  margin-top: 2rem;
}
.p_subsidy .accordion .content1 {
  padding: 2rem;
}

@media only screen and (min-width: 768px) {
  .p_subsidy .s-subsidy01__ttl {
    margin-bottom: 3rem;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .s-subsidy01__ttl {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .s-subsidy01_item img {
    width: 22rem;
    margin: 5rem auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .s-subsidy01_item img {
    width: 18rem;
    margin: 2rem auto 0;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .s-subsidy01_item .in_box {
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .s-subsidy01_item .in_box {
    gap: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .s-subsidy01_item .box {
    width: calc(50% - 1rem);
    height: 7rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .s-subsidy01_item .box {
    width: calc(50% - 0.5rem);
    height: 8rem;
    padding: 1rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .s-subsidy01_item .box.box1:after {
    right: 8rem;
    bottom: -5rem;
    width: 6rem;
    height: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .s-subsidy01_item .box.box1:after {
    right: 8rem;
    bottom: -3rem;
    width: 4rem;
    height: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .s-subsidy01_item .box.box2:after {
    bottom: -5rem;
    left: 8rem;
    width: 6rem;
    height: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .s-subsidy01_item .box.box2:after {
    bottom: -3rem;
    left: 8rem;
    width: 4rem;
    height: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .txt_mt {
    margin-bottom: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .txt_mt {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .tit_subsidy {
    margin-bottom: 3rem;
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .tit_subsidy {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .s-subsidy03 {
    padding-bottom: 10rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .s-subsidy02 {
    margin-bottom: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .s-subsidy02 {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .accordion {
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .accordion {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .accordion .title .icon {
    right: 3.7rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .accordion .title .icon {
    right: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .p_subsidy .accordion .title1 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .p_subsidy .accordion .title1 {
    font-size: 2rem;
  }
}
.accordion .content {
  display: none;
  margin: 5px 0 10px;
}
.accordion .content.open {
  display: block;
}

/*====================================================================================
COMPONENT
====================================================================================*/
/*------------------------------------------------------------------------------------
1.1. TITLE.
------------------------------------------------------------------------------------*/
/*---------- TITLE ----------*/
.c-title {
  position: relative;
  font-weight: 600;
  text-align: center;
  color: #006eb6;
}
.c-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 6rem;
  height: 0.3rem;
  background: #006eb6;
  transform: translateX(-50%);
}

@media only screen and (max-width: 767px) {
  .c-title {
    padding-bottom: 1rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title {
    padding-bottom: 2rem;
    font-size: 3rem;
    letter-spacing: 0.025em;
  }
}
/*---------- TITLE BASE ----------*/
.c-title-base {
  font-weight: 600;
  text-align: center;
}
.c-title-base__hightlight {
  color: #006eb6;
}

@media only screen and (min-width: 768px) {
  .c-title-base {
    line-height: 1.8;
    letter-spacing: 0.025em;
  }
}
/*---------- TITLE BASE MEDIUM ----------*/
@media only screen and (max-width: 767px) {
  .c-title-base--md {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-base--md {
    font-size: 2.5rem;
  }
}
/*---------- TITLE BASE LAGE ----------*/
@media only screen and (max-width: 767px) {
  .c-title-base--lg {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-base--lg {
    font-size: 3rem;
  }
}
/*---------- SUB TITLE ----------*/
@media only screen and (max-width: 767px) {
  .c-subtitle {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-subtitle {
    font-size: 2.5rem;
  }
}
/*---------- TITLE LOGO ----------*/
.c-title-logo {
  position: relative;
  display: flex;
  align-items: end;
  justify-content: center;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.025em;
}
.c-title-logo::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 6rem;
  height: 0.3rem;
  background: #006eb6;
  transform: translateX(-50%);
}
.c-title-logo__icon {
  display: inline-block;
  line-height: 1;
}
.c-title-logo__icon img {
  width: auto;
}
.c-title-logo__text {
  flex: 0 0 auto;
  line-height: 1.2;
}

@media only screen and (max-width: 767px) {
  .c-title-logo {
    gap: 0 0.2rem;
    padding-bottom: 2rem;
    font-size: 1.8rem;
  }
  .c-title-logo__icon img {
    max-height: 5.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-logo {
    gap: 0 1rem;
    padding-bottom: 3rem;
    font-size: 3rem;
  }
}
/*---------- TITLE LOGO HEIGHT AIRPORATOR ----------*/
.c-title-logo--airporator .c-title-logo__text,
.c-title-logo--energy .c-title-logo__text,
.c-title-logo--taiyoko-chikudenchi .c-title-logo__text {
  margin-bottom: -0.07em;
  line-height: 1;
}

/*---------- TITLE LOGO HEIGHT 33 PX ----------*/
@media only screen and (min-width: 768px) {
  .c-title-logo--h33 .c-title-logo__icon img {
    max-height: 3.3rem;
  }
}
/*---------- TITLE LOGO HEIGHT 36 PX ----------*/
@media only screen and (min-width: 768px) {
  .c-title-logo--h36 .c-title-logo__icon img {
    max-height: 3.6rem;
  }
}
/*---------- TITLE LOGO HEIGHT 67 PX ----------*/
@media only screen and (min-width: 768px) {
  .c-title-logo--h67 .c-title-logo__icon img {
    max-height: 6.7rem;
  }
}
/*---------- TITLE LOGO HEIGHT 72 PX ----------*/
@media only screen and (min-width: 768px) {
  .c-title-logo--h72 .c-title-logo__icon img {
    max-height: 7.2rem;
  }
}
/*---------- TITLE LOGO HEIGHT 74 PX ----------*/
@media only screen and (min-width: 768px) {
  .c-title-logo--h74 .c-title-logo__icon img {
    max-height: 7.4rem;
  }
}
/*---------- TITLE LOGO HEIGHT 86 PX ----------*/
@media only screen and (max-width: 767px) {
  .c-title-logo--h86 .c-title-logo__text {
    padding-bottom: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-logo--h86 .c-title-logo__icon img {
    max-height: 8.6rem;
  }
  .c-title-logo--h86 .c-title-logo__text {
    padding-bottom: 1.7rem;
  }
}
/*---------- TITLE BLOCK ----------*/
.c-title-block {
  position: relative;
  letter-spacing: 0.025em;
}
.c-title-block::before, .c-title-block::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-title-block::before {
  z-index: 2;
  width: 8.5rem;
  border-bottom: 3px solid #006eb6;
}
.c-title-block::after {
  width: 100%;
  border-bottom: 3px solid #a7a9ac;
}

@media only screen and (max-width: 767px) {
  .c-title-block {
    padding-bottom: 1rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-block {
    padding-bottom: 1.2rem;
    font-size: 2.4rem;
  }
}
/*---------- TITLE MAIN ----------*/
.c-title-main {
  text-align: center;
}
.c-title-main strong {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-title-main {
    font-size: 1.8rem;
  }
  .c-title-main span {
    border-bottom: 2px solid #ebae3d;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-main {
    font-size: 2.2rem;
  }
  .c-title-main span {
    border-bottom: 4px solid #ebae3d;
  }
}
/*---------- TITLE MAIN ----------*/
@media only screen and (max-width: 767px) {
  .c-title-main--lg {
    font-size: 2.5rem;
  }
  .c-title-main--lg span {
    padding-inline: 0.5rem;
    border-bottom: 5px solid #ebae3d;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-main--lg {
    font-size: 4rem;
  }
  .c-title-main--lg span {
    padding-inline: 1rem;
    border-bottom: 7px solid #ebae3d;
  }
}
/*---------- TITLE PAGE ----------*/
.c-title-page {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 3rem;
  color: #006eb6;
  font-weight: 600;
  text-align: center;
}
.c-title-page::before, .c-title-page::after {
  content: "";
  flex: 1;
  border-top: 1px solid #006eb6;
}

@media only screen and (max-width: 767px) {
  .c-title-page {
    gap: 0 1rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-page {
    font-size: 2.4rem;
  }
  .c-title-page__text-num {
    font-size: 3.2rem;
  }
}
/*---------- TITLE PAGE NO LINE ----------*/
.c-title-page--no-line::before, .c-title-page--no-line::after {
  content: none;
}

/* OUページのみbeforeとafterを非表示 */
.p_ou .c-title-page::before,
.p_ou .c-title-page::after {
  content: none;
}

/*---------- TITLE GROUP ----------*/
.c-title-group {
  font-weight: 600;
  color: #006eb6;
}

@media only screen and (max-width: 767px) {
  .c-title-group {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-group {
    font-size: 2.2rem;
  }
}
/*---------- TITLE CHAR ----------*/
.c-title-char {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
}
.c-title-char::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.5rem;
  height: calc(100% - 0.3rem);
  transform: translateY(-50%);
  background-color: #006eb6;
  border-radius: 1rem;
}

/*---------- TITLE CHAR ----------*/
@media only screen and (min-width: 768px) {
  .c-title-char--lg {
    font-size: 2.2rem;
  }
  .c-title-char--lg::before {
    height: calc(100% - 0.5rem);
  }
}
/*---------- TITLE CHAR BLUE ----------*/
.c-title-char--blue {
  color: #006eb6;
}

/*---------- TITLE CHAR ----------*/
.c-title-char--full-width {
  padding-left: 0.5rem;
}

/*---------- TITLE LINE ----------*/
.c-title-line {
  text-align: center;
}
.c-title-line__text {
  position: relative;
  line-height: 1.8;
  color: #006eb6;
  border-bottom: 3px solid #ebae3d;
}

@media only screen and (max-width: 767px) {
  .c-title-line__text {
    padding-bottom: 0.4rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-line__text {
    padding-bottom: 0.5rem;
    font-size: 2.2rem;
  }
}
/*------------------------------------------------------------------------------------
1.2. HEADING.
------------------------------------------------------------------------------------*/
/*---------- HEADING PAGE ----------*/
@media only screen and (min-width: 768px) {
  .c-heading-page__group {
    position: relative;
    margin-top: 70px;
  }
  .c-heading-page__group .c-heading-page {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -35px;
  }
}
@media only screen and (max-width: 768px) {
  .c-heading-page__group .c-heading-page {
    margin-bottom: 20px;
  }
}

.c-heading-page {
  text-align: center;
}
.c-heading-page__title {
  position: relative;
  display: inline-block;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
  background-color: #006eb6;
  border-radius: 1rem;
}
.c-heading-page__title::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 1rem solid #006eb6;
  border-right: 1rem solid transparent;
  border-left: 1rem solid transparent;
  transform: translateX(-50%);
}
.c-heading-page__title strong {
  font-weight: 600;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .c-heading-page__title {
    padding: 1rem 2rem;
    font-size: 1.6rem;
  }
  .c-heading-page__title strong {
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-page__title {
    padding: 1.5rem 3rem;
    font-size: 2.4rem;
  }
  .c-heading-page__title strong {
    font-size: 3.4rem;
  }
}
/*---------- HEADING SAVEPRO ----------*/
.c-heading-savepro {
  text-align: center;
}
.c-heading-savepro__title {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-heading-savepro__title {
    font-size: 1.7rem;
  }
  .c-heading-savepro__logo img {
    max-height: 5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-savepro__title {
    font-size: 2.1rem;
  }
}
/*---------- HEADING GROUP ----------*/
@media only screen and (max-width: 767px) {
  .c-heading-group__title {
    margin-top: 1.5rem;
    padding-left: 1.5rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-group {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 3.5rem;
    align-items: center;
  }
  .c-heading-group__title {
    font-size: 2.5rem;
  }
}
/*---------- HEADING CARD ----------*/
.c-heading-card {
  position: relative;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background-color: #006eb6;
  border-radius: 1rem;
}
.c-heading-card::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}
.c-heading-card strong {
  font-weight: 600;
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .c-heading-card {
    padding: 1.5rem 1.5rem 1rem 1.5rem;
    font-size: 1.6rem;
  }
  .c-heading-card::after {
    top: -1.2rem;
    border-right: 1.2rem solid transparent;
    border-bottom: 1.2rem solid #006eb6;
    border-left: 1.2rem solid transparent;
  }
  .c-heading-card strong {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-card {
    padding: 2rem 1.5rem 1.5rem 1.5rem;
    font-size: 1.8rem;
  }
  .c-heading-card::after {
    top: -1.5rem;
    border-right: 1.5rem solid transparent;
    border-bottom: 1.5rem solid #006eb6;
    border-left: 1.5rem solid transparent;
  }
  .c-heading-card strong {
    font-size: 2.6rem;
  }
}
/*---------- HEADING CARD ----------*/
.c-heading-card--solid-blue {
  color: #006eb6;
  background-color: #ffffff;
}

@media only screen and (max-width: 767px) {
  .c-heading-card--solid-blue {
    border: 3px solid #006eb6;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-card--solid-blue {
    border: 5px solid #006eb6;
  }
}
/*---------- HEADING CARD ----------*/
.c-heading-card--start::after {
  top: auto;
  bottom: -1.5rem;
  border-bottom: 0;
  border-top: 1.5rem solid #006eb6;
}

/*---------- HEADING CARD OU ----------*/
@media only screen and (max-width: 767px) {
  .c-heading-card--ou {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
  }
  .c-heading-card--ou strong {
    font-size: clamp(1.6rem, 2.5vw, 2rem);
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-card--ou {
    font-size: 1.8rem;
  }
  .c-heading-card--ou strong {
    font-size: 2.6rem;
  }
}
/*------------------------------------------------------------------------------------
1.3. TEXT.
------------------------------------------------------------------------------------*/
/*---------- TEXT ----------*/
.c-text span {
  font-weight: 600;
  color: #006eb6;
}

@media only screen and (max-width: 767px) {
  .c-text {
    line-height: 1.7;
  }
}
@media only screen and (min-width: 768px) {
  .c-text {
    line-height: 2;
  }
}
/*---------- TEXT NOTE ----------*/
@media only screen and (max-width: 767px) {
  .c-text-note {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
@media only screen and (min-width: 768px) {
  .c-text-note {
    font-size: 1.3rem;
    line-height: 2;
  }
}
/*---------- LIST NOTE ----------*/
@media only screen and (max-width: 767px) {
  .c-list-note {
    font-size: 1.2rem;
    line-height: 1.7;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-note {
    font-size: 1.3rem;
    line-height: 2;
  }
}
/*---------- TEXT SECTION ----------*/
.c-text-section__line, .c-text-section__hightlight {
  font-weight: 600;
}
.c-text-section__hightlight {
  color: #006eb6;
}

@media only screen and (max-width: 767px) {
  .c-text-section {
    line-height: 1.7;
  }
  .c-text-section__line {
    border-bottom: 2px solid #ebae3d;
  }
}
@media only screen and (min-width: 768px) {
  .c-text-section {
    line-height: 2;
  }
  .c-text-section__line {
    border-bottom: 4px solid #ebae3d;
  }
}
/*---------- TEXT SECTION ----------*/
@media only screen and (max-width: 767px) {
  .c-text-section--md {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-text-section--md {
    font-size: 1.8rem;
  }
}
/*---------- TEXT LINE ----------*/
.c-text-line span {
  font-weight: 600;
  border-bottom: 2px solid #ebae3d;
}

/*---------- TEXT SLOGAN ----------*/
.c-text-slogan {
  letter-spacing: 0.025em;
}
.c-text-slogan span {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-text-slogan {
    line-height: 1.7;
  }
  .c-text-slogan span {
    font-size: 1.6rem;
    border-bottom: 2px solid #ebae3d;
  }
}
@media only screen and (min-width: 768px) {
  .c-text-slogan {
    font-size: 1.8rem;
    line-height: 2;
  }
  .c-text-slogan span {
    font-size: 2rem;
    border-bottom: 4px solid #ebae3d;
  }
}
/*------------------------------------------------------------------------------------
1.4. ICON, ARROW.
------------------------------------------------------------------------------------*/
/*---------- ICON PLUS ----------*/
.c-icon-plus {
  position: absolute;
  inset-block-start: 50%;
}
.c-icon-plus::before, .c-icon-plus::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  width: 100%;
  height: 2px;
  margin-block-start: -1px;
  background-color: #ffffff;
}
.c-icon-plus::before {
  transform: rotate(-90deg);
  transition: transform 0.35s cubic-bezier(0.65, 0.05, 0.36, 1);
}

@media only screen and (max-width: 767px) {
  .c-icon-plus {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: -0.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-icon-plus {
    width: 2rem;
    height: 2rem;
    margin-top: -1rem;
  }
}
/*---------- ICON PDF ----------*/
.c-icon-pdf {
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  color: #ffffff;
  background-color: #f91d0a;
}

@media only screen and (max-width: 767px) {
  .c-icon-pdf {
    padding: 0.2rem 0.6rem;
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-icon-pdf {
    padding: 0.4rem 0.8rem;
    font-size: 1.2rem;
  }
}
/*---------- ICON ARROW ----------*/
.c-icon-arrow {
  display: inline-block;
  border: solid #111987;
  transform: rotate(225deg);
}

@media only screen and (max-width: 767px) {
  .c-icon-arrow {
    width: 0.8rem;
    height: 0.8rem;
    border-width: 0 0 0.1rem 0.1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-icon-arrow {
    width: 1rem;
    height: 1rem;
    border-width: 0 0 0.2rem 0.2rem;
  }
}
/*------------------------------------------------------------------------------------
1.5. LINK.
------------------------------------------------------------------------------------*/
/*---------- LINK ----------*/
@media only screen and (min-width: 768px) {
  .c-link:hover {
    color: #006eb6 !important;
  }
}
/*---------- LINK PDF ----------*/
.c-link-pdf {
  font-weight: 600;
}

@media only screen and (min-width: 768px) {
  .c-link-pdf {
    font-size: 1.8rem;
  }
}
/*------------------------------------------------------------------------------------
1.6. BUTTON.
------------------------------------------------------------------------------------*/
/*---------- SIDEBAR ----------*/
.c-sidebar {
  position: fixed;
  z-index: 100;
}

@media only screen and (max-width: 767px) {
  .c-sidebar {
    left: 0;
    right: 0;
    bottom: 0;
  }
  .c-sidebar__list {
    display: flex;
    justify-content: center;
  }
  .c-sidebar__item {
    width: 50%;
  }
}
@media only screen and (min-width: 768px) {
  .c-sidebar {
    top: 50%;
    right: 0;
  }
}
@media only screen and (min-width: 767px) and (max-width: 1399px) {
  .c-sidebar {
    top: 12rem;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
  .c-sidebar {
    top: 15rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .c-sidebar__item:not(:first-child) {
    margin-top: 3.5rem;
  }
}
@media only screen and (min-width: 1600px) {
  .c-sidebar {
    top: 17rem;
  }
  .c-sidebar__item:not(:first-child) {
    margin-top: 4rem;
  }
}
/*---------- BUTTON DOWNLOAD ----------*/
.c-btn-download {
  position: relative;
  justify-content: center;
  text-decoration: none;
  color: #ffffff;
  transition: background-color 0.3s ease;
}
.c-btn-download::before, .c-btn-download::after {
  content: "";
  position: absolute;
}
.c-btn-download__text {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-btn-download {
    align-items: center;
    text-align: center;
    height: 5rem;
    border-bottom: 0 !important;
    border-radius: 1rem 1rem 0 0;
  }
  .c-btn-download__text {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-download {
    border-radius: 1rem 0 0 1rem;
  }
  .c-btn-download__text {
    letter-spacing: 0.1em;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .c-btn-download {
    width: 4.8rem;
    padding: 4rem 1rem 0.7rem 1rem;
  }
  .c-btn-download__text {
    font-size: 1.3rem;
  }
}
@media only screen and (min-width: 1600px) {
  .c-btn-download {
    width: 6rem;
    padding: 5.5rem 1rem 1rem 1rem;
  }
  .c-btn-download__text {
    font-size: 1.6rem;
  }
}
/*---------- BUTTON DOWNLOAD PRIMARY ----------*/
.c-btn-download--primary {
  display: flex;
  background-color: #e1890b;
}
.c-btn-download--primary:hover {
  background-color: #e56d03;
}
.c-btn-download--primary::before {
  background: url("../images/common_img/c-icon-files.webp") no-repeat center center/100% auto;
}

@media only screen and (max-width: 767px) {
  .c-btn-download--primary {
    padding: 1.5rem 1rem 0.5rem 3rem;
    border: 2px solid #e56d03;
  }
  .c-btn-download--primary::before, .c-btn-download--primary::after {
    top: 50%;
    transform: translateY(-50%);
  }
  .c-btn-download--primary::before {
    left: 1rem;
    width: 2.5rem;
    height: 3.2rem;
  }
  .c-btn-download--primary::after {
    content: none;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-download--primary::after {
    background: url("../images/common_img/icon-download-white.webp") no-repeat center center/100% auto;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .c-btn-download--primary {
    border-top: 2px solid #e56d03;
    border-left: 2px solid #e56d03;
    border-bottom: 3rem solid #e56d03;
  }
  .c-btn-download--primary::before {
    top: 0.7rem;
    width: 2rem;
    height: 2.5rem;
  }
  .c-btn-download--primary::after {
    bottom: -2.2rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
@media only screen and (min-width: 1600px) {
  .c-btn-download--primary {
    border-top: 3px solid #e56d03;
    border-left: 3px solid #e56d03;
    border-bottom: 4rem solid #e56d03;
  }
  .c-btn-download--primary::before {
    top: 0.8rem;
    width: 2.9rem;
    height: 3.8rem;
  }
  .c-btn-download--primary::after {
    bottom: -2.9rem;
    width: 1.8rem;
    height: 1.8rem;
  }
}
/*---------- BUTTON DOWNLOAD SECONDARY ----------*/
.c-btn-download--secondary {
  display: none;
  background-color: #94c74b;
}
.c-btn-download--secondary:hover {
  background-color: #76b41c;
}
.c-btn-download--secondary .c-btn-download__box {
  position: absolute;
  background-color: #ffffff;
  color: #469d07;
  line-height: 1.25;
  font-weight: 600;
}
.c-btn-download--secondary .c-btn-download__box::before {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  background: url("../images/common_img/c-btn-fixed-arrow.webp") no-repeat center center/100% auto;
}
.c-btn-download--secondary .c-btn-download__box strong {
  font-weight: 600;
}
.c-btn-download--secondary .c-btn-download__box i {
  margin-left: -0.5rem;
  letter-spacing: 0;
}

@media only screen and (max-width: 767px) {
  .c-btn-download--secondary {
    padding: 1.5rem 1rem 0.5rem 1rem;
    border: 2px solid #76b41c;
  }
  .c-btn-download--secondary .c-btn-download__box {
    top: -1.3rem;
    padding: 0.1rem 1rem;
    border-radius: 2rem;
    border: 2px solid #76b41c;
    font-size: 1.3rem;
  }
  .c-btn-download--secondary .c-btn-download__box::before {
    bottom: -0.9rem;
    width: 0.6rem;
    height: 0.9rem;
  }
  .c-btn-download--secondary .c-btn-download__box strong {
    font-size: 1.6rem;
  }
  .c-btn-download--secondary .c-btn-download__box small {
    font-size: 1.3rem;
  }
  .c-btn-download--secondary .c-btn-download__box i {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-download--secondary .c-btn-download__box {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    right: -0.2rem;
    border-radius: 50%;
  }
  .c-btn-download--secondary .c-btn-download__arrow {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    background-color: #469d07;
    transition: background-color 0.3s ease;
  }
  .c-btn-download--secondary .c-btn-download__arrow::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    margin-top: -0.45rem;
    margin-left: -0.5rem;
    padding: 0.3rem;
    border: solid #ffffff;
    border-width: 0 0 0.2rem 0.2rem;
    transition: border-color 0.3s ease;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1599px) {
  .c-btn-download--secondary {
    border-top: 2px solid #76b41c;
    border-left: 2px solid #76b41c;
    border-bottom: 3rem solid #76b41c;
  }
  .c-btn-download--secondary .c-btn-download__box {
    top: -2.9rem;
    width: 5.2rem;
    height: 5.2rem;
    border: 2px solid #76b41c;
    font-size: 1.1rem;
  }
  .c-btn-download--secondary .c-btn-download__box::before {
    bottom: -0.9rem;
    width: 0.7rem;
    height: 0.9rem;
  }
  .c-btn-download--secondary .c-btn-download__box strong {
    font-size: 1.5rem;
  }
  .c-btn-download--secondary .c-btn-download__box small {
    font-size: 1.1rem;
  }
  .c-btn-download--secondary .c-btn-download__box i {
    font-size: 1.4rem;
  }
  .c-btn-download--secondary .c-btn-download__arrow {
    bottom: -2.4rem;
    width: 1.8rem;
    height: 1.8rem;
  }
  .c-btn-download--secondary .c-btn-download__arrow::before {
    transform: scale(0.8) rotate(225deg);
  }
}
@media only screen and (min-width: 1600px) {
  .c-btn-download--secondary {
    border-top: 3px solid #76b41c;
    border-left: 3px solid #76b41c;
    border-bottom: 4rem solid #76b41c;
  }
  .c-btn-download--secondary .c-btn-download__box {
    top: -3rem;
    width: 6.5rem;
    height: 6.5rem;
    border: 3px solid #76b41c;
    font-size: 1.4rem;
  }
  .c-btn-download--secondary .c-btn-download__box::before {
    bottom: -1.2rem;
    width: 1rem;
    height: 1.3rem;
  }
  .c-btn-download--secondary .c-btn-download__box strong {
    font-size: 1.8rem;
  }
  .c-btn-download--secondary .c-btn-download__box small {
    font-size: 1.4rem;
  }
  .c-btn-download--secondary .c-btn-download__box i {
    font-size: 1.7rem;
  }
  .c-btn-download--secondary .c-btn-download__arrow {
    bottom: -3.1rem;
    width: 2.3rem;
    height: 2.3rem;
  }
  .c-btn-download--secondary .c-btn-download__arrow::before {
    transform: rotate(225deg);
  }
}
/*---------- CUSTOM SIDEBAR, BUTTON DOWNLOAD ----------*/
.p_ou .c-btn-download,
.p_saveair .c-btn-download {
  display: flex;
}

.p_subsidy .c-btn-download,
.p_search2 .c-btn-download {
  display: none;
}

/*---------- BUTTON ANCHOR ----------*/
.c-btn-anchor {
  font-weight: 700;
  background-color: #eef7fd;
  border: 2px solid #006eb6;
  border-radius: 3rem;
}

@media only screen and (max-width: 767px) {
  .c-btn-anchor {
    padding: 1rem 1.5rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-anchor {
    padding: 0.7rem 3rem;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .energy .c-btn-anchor {
    padding: 0.7rem 3rem;
    font-size: 1.6rem;
  }
}
/*---------- LIST BUTTON ANCHOR ----------*/
.c-list-btn-anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .c-list-btn-anchor {
    gap: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-btn-anchor {
    gap: 2rem;
  }
}
/*---------- BUTTON QA ----------*/
.c-btn-qa {
  position: relative;
  padding: 0;
  background-color: #002174;
  border: 1px solid #002174;
  border-radius: 50%;
  cursor: pointer;
}
.c-btn-qa.is-active .c-icon-plus::before {
  transform: rotate(0deg);
}
.c-btn-qa__icon {
  left: 50%;
  margin-left: -1rem;
}

@media only screen and (max-width: 767px) {
  .c-btn-qa {
    width: 4.5rem;
    height: 4.5rem;
  }
  .c-btn-qa__icon {
    margin-left: -0.75rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-qa {
    width: 5rem;
    height: 5rem;
  }
  .c-btn-qa:hover {
    background-color: #ffffff;
  }
  .c-btn-qa:hover .c-icon-plus::before, .c-btn-qa:hover .c-icon-plus::after {
    background-color: #002174;
  }
}
/*---------- BUTTON CASE ----------*/
.c-btn-case__link {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  min-height: 9rem;
  text-decoration: none;
  border: 3px solid #316ba6;
}
.c-btn-case__logo {
  display: inline-block;
  margin-right: 0.5rem;
}
.c-btn-case__logo img {
  width: auto;
  max-height: 2.9rem;
}
.c-btn-case__arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 2.3rem;
  height: 2.3rem;
  background-color: #316ba6;
  border-radius: 50%;
  transform: translateY(-50%);
}
.c-btn-case__arrow::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  margin-top: -0.45rem;
  margin-left: -0.5rem;
  padding: 0.3rem;
  border: solid #ffffff;
  border-width: 0 0 0.2rem 0.2rem;
  transform: rotate(225deg);
}
.c-btn-case__text {
  position: relative;
  font-weight: 700;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .c-btn-case .c-btn-case__link {
    flex-direction: column;
    padding: 1.7rem 1.5rem 1.2rem 1.5rem;
  }
  .c-btn-case .c-btn-case__logo {
    margin-bottom: 0.8rem;
  }
  .c-btn-case .c-btn-case__text {
    padding-right: 3rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-case__link {
    padding: 1rem 5rem 1rem 7rem;
    transition: background-color 0.3s ease;
  }
  .c-btn-case__link:hover {
    background-color: #316ba6;
  }
  .c-btn-case__link:hover .c-btn-case__text {
    color: #ffffff;
  }
  .c-btn-case__link:hover .c-btn-case__arrow {
    background-color: #ffffff;
  }
  .c-btn-case__link:hover .c-btn-case__arrow::before {
    border-color: #316ba6;
  }
  .c-btn-case__text {
    padding-right: 4rem;
    font-size: 2rem;
    transition: color 0.3s ease;
  }
  .c-btn-case__arrow {
    transition: background-color 0.3s ease;
  }
  .c-btn-case__arrow::before {
    transition: border-color 0.3s ease;
  }
}
/*---------- BUTTON BANNER ----------*/
.c-btn-bnr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #ffffff;
  background-color: #e13f3d;
  border: 2px solid #ffffff;
  border-radius: 2rem;
}

@media only screen and (max-width: 767px) {
  .c-btn-bnr {
    max-width: 28rem;
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-bnr {
    max-width: 30rem;
    font-size: 2rem;
    transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
  }
  .c-btn-bnr:hover {
    color: #e13f3d;
    background-color: #ffffff;
    border-color: #e13f3d;
  }
}
/*---------- BUTTON LIGHT BOX ----------*/
.c-btn-lightbox {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 5rem;
  border-radius: 1rem;
  border: 2px solid #1974bb;
  cursor: pointer;
  color: #1974bb;
  text-align: center;
}
.c-btn-lightbox::before, .c-btn-lightbox::after {
  position: absolute;
  content: "";
  top: 50%;
}
.c-btn-lightbox::before {
  z-index: 2;
  right: 1.8rem;
  margin-top: -0.4rem;
  padding: 0.3rem;
  border: solid #ffffff;
  border-width: 0 0 0.2rem 0.2rem;
  transform: rotate(225deg);
}
.c-btn-lightbox::after {
  right: 1rem;
  border-radius: 50%;
  background-color: #1974bb;
}
.c-btn-lightbox__text {
  margin: 0 !important;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .c-btn-lightbox {
    padding: 0.5rem 4rem 0.5rem 1rem;
  }
  .c-btn-lightbox::before {
    right: 1.75rem;
  }
  .c-btn-lightbox::after {
    width: 2rem;
    height: 2rem;
    margin-top: -1rem;
  }
  .c-btn-lightbox__text {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-lightbox {
    padding: 0.5rem 4.5rem 0.5rem 2rem;
    transition: color 0.3s ease, background-color 0.3s ease;
  }
  .c-btn-lightbox:hover {
    color: #ffffff;
    background-color: #1974bb;
  }
  .c-btn-lightbox:hover::before {
    border-color: #1974bb;
  }
  .c-btn-lightbox:hover::after {
    background-color: #ffffff;
  }
  .c-btn-lightbox::before {
    transition: border-color 0.3s ease;
  }
  .c-btn-lightbox::after {
    width: 2.2rem;
    height: 2.2rem;
    margin-top: -1.1rem;
    transition: background-color 0.3s ease;
  }
  .c-btn-lightbox__text {
    font-size: 1.6rem;
  }
}
/*---------- BUTTON LIGHT BOX SHORT ----------*/
@media only screen and (max-width: 767px) {
  .c-btn-lightbox--short {
    min-width: 25rem;
    padding: 0.5rem 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-lightbox--short {
    min-width: 29rem;
    padding: 0.5rem 4.5rem;
  }
}
/*---------- BUTTON LOGO ----------*/
.c-btn-logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.5rem 1rem;
  text-align: center;
  text-decoration: none;
  background-color: #ffffff;
  border: 1px solid #000000;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.c-btn-logo::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  margin-top: -0.5rem;
  border: solid #000000;
  border-width: 0 0 0.2rem 0.2rem;
  transform: rotate(225deg);
  transition: border-color 0.3s ease;
}
.c-btn-logo:hover {
  border-color: #006eb6;
}
.c-btn-logo:hover::before {
  border-color: #006eb6;
}
.c-btn-logo:hover .c-btn-logo__text {
  color: #006eb6;
}
.c-btn-logo__img, .c-btn-logo__text {
  display: block;
  text-align: center;
}
.c-btn-logo__img img {
  width: auto;
}
.c-btn-logo__text {
  margin-top: 0.5rem;
  color: #000000;
  line-height: 1.5;
  transition: color 0.3s ease;
}

@media only screen and (max-width: 767px) {
  .c-btn-logo {
    max-width: 32rem;
    min-height: 8rem;
  }
  .c-btn-logo::before {
    right: 1rem;
    padding: 0.3rem;
  }
  .c-btn-logo__img img {
    max-height: 3.8rem;
  }
  .c-btn-logo__text {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn-logo {
    max-width: 48rem;
    min-height: 9rem;
  }
  .c-btn-logo::before {
    right: 2rem;
    padding: 0.4rem;
  }
  .c-btn-logo__img img {
    max-height: 4.3rem;
  }
  .c-btn-logo__text {
    font-size: 1.6rem;
  }
}
/*---------- BUTTON ----------*/
.c-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: center;
  text-decoration: none;
  background-color: #111987;
  border: 2px solid #111987;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.c-btn::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 50%;
  margin-top: -0.5rem;
  border: solid #ffffff;
  border-width: 0 0 0.2rem 0.2rem;
  transform: rotate(225deg);
  transition: border-color 0.3s ease;
}
.c-btn:hover {
  background-color: #ffffff;
}
.c-btn:hover::before {
  border-color: #111987;
}
.c-btn:hover .c-btn__text {
  color: #111987;
}
.c-btn__text {
  color: #ffffff;
  line-height: 1.5;
  font-weight: 600;
  transition: color 0.3s ease;
}

@media only screen and (max-width: 767px) {
  .c-btn {
    max-width: 30rem;
    min-height: 5rem;
    padding: 1rem 2.5rem 1rem 1rem;
  }
  .c-btn::before {
    right: 1rem;
    padding: 0.3rem;
  }
  .c-btn__text {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn {
    max-width: 40rem;
    min-height: 7.5rem;
    padding: 1rem 4rem 1rem 1rem;
  }
  .c-btn::before {
    right: 2rem;
    padding: 0.4rem;
  }
  .c-btn__text {
    font-size: 1.6rem;
  }
}
/*---------- BUTTON MEDIUMN ----------*/
@media only screen and (max-width: 767px) {
  .c-btn--md {
    max-width: 23rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn--md {
    max-width: 32rem;
    min-height: 6.5rem;
  }
}
/*---------- BUTTON ARROW CENTER ----------*/
@media only screen and (max-width: 767px) {
  .c-btn--arrow-center {
    padding: 1rem 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn--arrow-center {
    padding: 1rem 4rem;
  }
}
/*---------- BUTTON MAIL ----------*/
.c-btn--mail::after {
  position: absolute;
  content: "";
  top: 50%;
  width: 2.6rem;
  height: 1.9rem;
  border: 0;
  margin-top: -0.9rem;
  background: url("../images/common_img/c-icon-mail-white.webp") no-repeat center center/100% auto;
}
.c-btn--mail::before {
  content: none;
}

@media only screen and (max-width: 767px) {
  .c-btn--mail::after {
    right: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-btn--mail:hover::after {
    background-image: url("../images/common_img/c-icon-mail-orenge.webp");
  }
  .c-btn--mail::after {
    right: 3rem;
  }
}
/*---------- BUTTON NO ARROW ----------*/
.c-btn--no-arrow {
  padding: 1rem;
}
.c-btn--no-arrow::before {
  content: none;
}

/*---------- BUTTON BLUE ----------*/
.c-btn--blue {
  background: #76b41c;
  border: 2px solid #76b41c;
}
.c-btn--blue:hover::before {
  border-color: #006eb6;
}
.c-btn--blue:hover .c-btn__text {
  color: #006eb6;
}

/*---------- BUTTON SOLID BLUE ----------*/
.c-btn--gradient-blue {
  border: 0;
  background: linear-gradient(90deg, #0189c3 0%, #2d49a2 100%);
}
.c-btn--gradient-blue:hover {
  opacity: 0.8;
}
.c-btn--gradient-blue:hover::before {
  border-color: #ffffff;
}
.c-btn--gradient-blue:hover .c-btn__text {
  color: #ffffff;
}

/*---------- BUTTON LIGHT BLUE ----------*/
.c-btn--light-blue {
  border: 2px solid #006eb6;
  background-color: #eef7fd;
}
.c-btn--light-blue::before {
  border-color: #000000;
}
.c-btn--light-blue:hover {
  background-color: #006eb6;
}
.c-btn--light-blue:hover::before {
  border-color: #ffffff;
}
.c-btn--light-blue:hover .c-btn__text {
  color: #ffffff;
}
.c-btn--light-blue .c-btn__text {
  color: #000000;
}

/*---------- BUTTON SOLID BLUE ----------*/
.c-btn--solid-blue {
  border: 2px solid #006eb6;
  background-color: #ffffff;
}
.c-btn--solid-blue::before {
  border-color: #006eb6;
}
.c-btn--solid-blue:hover {
  background-color: #006eb6;
}
.c-btn--solid-blue:hover::before {
  border-color: #ffffff;
}
.c-btn--solid-blue:hover .c-btn__text {
  color: #ffffff;
}
.c-btn--solid-blue .c-btn__text {
  color: #006eb6;
}

/*---------- BUTTON SOLID BLACK ----------*/
.c-btn--solid-black {
  background-color: #ffffff;
  border: 2px solid #000000;
}
.c-btn--solid-black::before {
  border-color: #000000;
}
.c-btn--solid-black:hover {
  background-color: #000000;
}
.c-btn--solid-black:hover::before {
  border-color: #ffffff;
}
.c-btn--solid-black:hover .c-btn__text {
  color: #ffffff;
}
.c-btn--solid-black .c-btn__text {
  color: #000000;
}

/*------------------------------------------------------------------------------------
1.7. BOX.
------------------------------------------------------------------------------------*/
/*---------- BOX STEP ----------*/
.c-box-step__figure {
  position: relative;
  width: 11.3rem;
  margin-inline: auto;
}
.c-box-step__cap {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 50%;
}
.c-box-step__cap span,
.c-box-step__cap strong {
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  color: #ffffff;
}
.c-box-step__title {
  font-weight: 600;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-box-step__cap {
    top: -1rem;
    left: -2rem;
    width: 5rem;
    height: 5rem;
  }
  .c-box-step__cap span {
    font-size: 1rem;
  }
  .c-box-step__cap strong {
    margin-top: 0.3rem;
    font-size: 1.9rem;
  }
  .c-box-step__title {
    margin-top: 1rem;
    font-size: 1.7rem;
  }
  .c-box-step__desc {
    margin-top: 0.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-step__cap {
    top: -1.7rem;
    left: -2rem;
    width: 5rem;
    height: 5rem;
  }
  .c-box-step__cap span {
    font-size: 1.1rem;
  }
  .c-box-step__cap strong {
    margin-top: 0.4rem;
    font-size: 2rem;
  }
  .c-box-step__title {
    margin-top: 1.2rem;
    font-size: 1.9rem;
  }
  .c-box-step__desc {
    margin-top: 1rem;
  }
}
/*---------- BOX STEP ----------*/
.c-box-step--dark-blue .c-box-step__cap {
  background-color: #033877;
}

/*---------- BOX STEP LIGHT BLUE ----------*/
.c-box-step--light-blue .c-box-step__cap {
  background-color: #0067ac;
}

/*---------- BOX STEP LIGHT BLUE ----------*/
.c-box-step--yellow .c-box-step__cap {
  background-color: #e3a903;
}
.c-box-step--yellow .c-box-step__title-line {
  padding-bottom: 0.3rem;
  border-bottom: 3px solid #e3a903;
}

/*---------- LIST BOX STEP ----------*/
.c-list-box-step {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.c-list-box-step .c-box-step {
  position: relative;
}
.c-list-box-step .c-box-step::before {
  content: "";
  position: absolute;
  top: 5rem;
  border-top: 1.2rem solid transparent;
  border-bottom: 1.2rem solid transparent;
  border-left: 1.7rem solid #006eb6;
}
.c-list-box-step .c-box-step:last-child::before {
  content: none;
}

@media only screen and (max-width: 575px) {
  .c-list-box-step .c-box-step {
    width: calc(50% - 1rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-list-box-step {
    gap: 3rem 2rem;
    margin-top: 3.5rem;
  }
  .c-list-box-step .c-box-step:nth-child(odd)::before {
    right: -1.8rem;
  }
  .c-list-box-step .c-box-step:nth-child(even)::before {
    right: -1rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-box-step .c-box-step {
    width: calc(33.333% - 1.4rem);
  }
}
@media only screen and (min-width: 768px) {
  .c-list-box-step {
    gap: 5rem;
  }
  .c-list-box-step .c-box-step {
    width: calc(20% - 4rem);
  }
  .c-list-box-step .c-box-step::before {
    right: -3.5rem;
  }
}
/*---------- BOX CHARGE ----------*/
.c-box-charge {
  text-align: center;
}
.c-box-charge__title {
  padding: 1.3rem 1rem;
  font-weight: 600;
  line-height: 1.5;
  color: #0068d2;
}

@media only screen and (max-width: 767px) {
  .c-box-charge {
    border: 2px solid #0068d2;
    border-radius: 1rem;
  }
  .c-box-charge__img {
    border-radius: 0.9rem 0.9rem 0 0;
  }
  .c-box-charge__title {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-charge {
    border: 3px solid #0068d2;
    border-radius: 1.5rem;
  }
  .c-box-charge__img {
    border-radius: 1.2rem 1.2rem 0 0;
  }
  .c-box-charge__title {
    font-size: 2rem;
  }
}
/*---------- LIST BOX CHARGE ----------*/
.c-list-box-charge {
  display: grid;
  gap: 5rem;
}
.c-list-box-charge .c-box-charge {
  position: relative;
}
.c-list-box-charge .c-box-charge:not(:last-child)::before {
  content: "";
  position: absolute;
  background: url("../images/charge/arrow.png") no-repeat center center/100% auto;
}

@media only screen and (max-width: 767px) {
  .c-list-box-charge .c-box-charge:not(:last-child)::before {
    bottom: -4.8rem;
    left: 50%;
    width: 2rem;
    height: 4rem;
    transform: translateX(-50%) rotate(90deg);
  }
}
@media only screen and (min-width: 768px) {
  .c-list-box-charge {
    grid-template-columns: repeat(3, 1fr);
  }
  .c-list-box-charge .c-box-charge:not(:last-child)::before {
    top: 50%;
    right: -4.2rem;
    width: 2.5rem;
    height: 5.2rem;
    transform: translateY(-50%);
  }
}
/*---------- BOX SAVEAIR ----------*/
.c-box-saveair__figure {
  position: relative;
  width: 13.2rem;
  margin-inline: auto;
}
.c-box-saveair__cap {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  background-color: #006eb6;
  border-radius: 50%;
}
.c-box-saveair__cap span,
.c-box-saveair__cap strong {
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  color: #ffffff;
}
.c-box-saveair__title {
  font-weight: 600;
  text-align: center;
  color: #006eb6;
}

@media only screen and (max-width: 767px) {
  .c-box-saveair__cap {
    top: -1rem;
    left: -2rem;
    width: 5rem;
    height: 5rem;
  }
  .c-box-saveair__cap span {
    font-size: 1rem;
  }
  .c-box-saveair__cap strong {
    margin-top: 0.3rem;
    font-size: 1.9rem;
  }
  .c-box-saveair__title {
    margin-top: 1rem;
    font-size: 1.7rem;
  }
  .c-box-saveair__desc {
    margin-top: 0.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-saveair__cap {
    top: -1.5rem;
    left: -3.2rem;
    width: 6rem;
    height: 6rem;
  }
  .c-box-saveair__cap span {
    font-size: 1.2rem;
  }
  .c-box-saveair__cap strong {
    margin-top: 0.4rem;
    font-size: 2.2rem;
  }
  .c-box-saveair__title {
    margin-top: 1.5rem;
    font-size: 2rem;
  }
  .c-box-saveair__desc {
    margin-top: 1rem;
  }
}
/*---------- BOX SAVEAIR DESC ENERGY ----------*/
.c-box-saveair.energy {
  margin-right: 350px;
  padding-bottom: 10rem;
}

.c-box-saveair.energy .c-box-saveair__desc__energy .flx {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
}

.c-box-saveair.energy .c-box-saveair__desc__energy .flx::before {
  content: "";
  position: absolute;
  top: 58px;
  left: -3rem;
  width: 2px;
  height: 150px;
  background-color: #006eb6;
}
@media only screen and (max-width: 768px) {
  .c-box-saveair.energy .c-box-saveair__desc__energy .flx::before {
    top: 58px;
    height: 150px;
  }
}
.c-box-saveair.energy .c-box-saveair__title {
  position: relative;
}


.c-box-saveair.energy .c-box-saveair__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -47px;
  width: 72px;
  height: 2px;
  background-color: #006eb6;
  transform: translateY(-50%);
}
.p_savepro .c-box-saveair.energy .c-box-saveair__desc__energy .flx::before {
  height: 150px;
}
.p_savepro .c-box-saveair.energy .c-box-saveair__title::after,
.p_energy .c-box-saveair.energy .c-box-saveair__title::after {
  width: 30px;
}

.c-box-saveair.energy .c-box-saveair__desc__energy .logo {
  position: relative;
}

.c-box-saveair.energy .c-box-saveair__desc__energy .logo::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -3rem;
  width: 2.2rem;
  height: 2px;
  background-color: #006eb6;
  transform: translateY(-50%);
}

.c-box-saveair.energy .c-box-saveair__desc__energy .logo::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -0.8rem;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #006eb6;
  transform: translateY(-50%);
}

.c-box-saveair__desc__energy {
  position: absolute;
  right: -390px;
  top: 25px;
  width: 314px;
}
  @media only screen and (max-width: 768px) {
    .c-box-saveair__desc__energy {
      right: -352px;
      top: 25px;
    }
  }

.c-box-saveair.energy .c-box-saveair__desc__energy .logo .border {
  height: 10rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.c-box-saveair.energy .c-box-saveair__desc__energy .link {
  display: inline-block;
  margin-top: 1rem;
}
/*---------- LIST BOX SAVEAIR ----------*/
.c-list-box-saveair {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 97rem;
  margin-inline: auto;
}
.c-list-box-saveair .c-box-saveair {
  position: relative;
}
.c-list-box-saveair .c-box-saveair::before {
  content: "";
  position: absolute;
}
.c-list-box-saveair .c-box-saveair:last-child::before {
  content: none;
}

@media only screen and (max-width: 767px) {
  .c-list-box-saveair {
    gap: 3rem 2rem;
    margin-top: 3.5rem;
  }
  .c-list-box-saveair .c-box-saveair {
    width: calc(50% - 1rem);
  }
  .c-list-box-saveair .c-box-saveair::before {
    top: 5.5rem;
    border-top: 1.2rem solid transparent;
    border-bottom: 1.2rem solid transparent;
    border-left: 1.7rem solid #006eb6;
  }
  .c-list-box-saveair .c-box-saveair:nth-child(odd)::before {
    right: -1.8rem;
  }
  .c-list-box-saveair .c-box-saveair:nth-child(even)::before {
    right: -1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-box-saveair {
    gap: 5rem;
    padding-inline: 5rem;
  }
  .c-list-box-saveair .c-box-saveair {
    width: calc(33.333% - 3.5rem);
  }
  .c-list-box-saveair .c-box-saveair::before {
    top: 5rem;
    right: -3.5rem;
    border-top: 1.5rem solid transparent;
    border-bottom: 1.5rem solid transparent;
    border-left: 2.5rem solid #006eb6;
  }
}
@media only screen and (max-width: 768px) {
  .main_bg .container.js-scrollable {
    overflow-x: auto;
    padding-left: 0;
    padding-right: 0;
  }
  .main_bg .container.js-scrollable .cm-title02 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .c-list-box-saveair.only-energy {
    gap: 5rem;
    padding-inline: 5rem;
    position: relative;
    flex-wrap: wrap;
    width: 97rem;
    max-width: none;
    margin-inline: 0;
  }
  .c-list-box-saveair.only-energy::before {
    content: "";
    width: 20px;
    height: 100%;
    background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
  }

  .c-list-box-saveair.only-energy .c-box-saveair {
    width: calc(33.333% - 3.5rem);
    flex-shrink: 0;
  }

  .c-list-box-saveair.only-energy .c-box-saveair::before {
    top: 5rem;
    right: -3.5rem;
    border-top: 1.5rem solid transparent;
    border-bottom: 1.5rem solid transparent;
    border-left: 2.5rem solid #006eb6;
  }
}
/*---------- BOX UTILITY ----------*/
.c-box-utility {
  background-color: #ebf3fb;
}
.c-box-utility__title {
  font-weight: 600;
  text-align: center;
  color: #006eb6;
}
.c-box-utility__title-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  color: #ffffff;
  background-color: #006eb6;
  border-radius: 50%;
}

@media only screen and (max-width: 767px) {
  .c-box-utility {
    padding: 2rem;
  }
  .c-box-utility__title {
    margin-bottom: 1rem;
    font-size: 1.6rem;
  }
  .c-box-utility__title-num {
    width: 3rem;
    height: 3rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-utility {
    padding: 3rem 2.5rem 3rem 2.5rem;
  }
  .c-box-utility__title {
    margin-bottom: 1.8rem;
    font-size: 1.8rem;
  }
  .c-box-utility__title-num {
    width: 3.4rem;
    height: 3.4rem;
    font-size: 2rem;
  }
}
/*---------- LIST BOX UTILITY ----------*/
.c-list-box-utility {
  display: grid;
}

@media only screen and (max-width: 767px) {
  .c-list-box-utility {
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-box-utility {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.6rem;
  }
}
/*------------------------------------------------------------------------------------
1.8. TAG.
------------------------------------------------------------------------------------*/
/*---------- TAG GROUP ----------*/
.c-tag-group__wrap {
  position: relative;
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
  background-color: #006eb6;
}
.c-tag-group__wrap::after {
  content: "";
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
}

@media only screen and (max-width: 767px) {
  .c-tag-group__wrap {
    display: inline-block;
    padding: 0.5rem 1rem 0.5rem 1.5rem;
  }
  .c-tag-group__wrap::after {
    right: -1.6rem;
    border-top: 1.8rem solid transparent;
    border-bottom: 1.8rem solid transparent;
    border-left: 1.6rem solid #006eb6;
  }
  .c-tag-group__number {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-tag-group__wrap {
    padding: 1rem 1.4rem 1rem 2rem;
  }
  .c-tag-group__wrap::after {
    right: -2.0rem;
    border-top: 2.5rem solid transparent;
    border-bottom: 2.5rem solid transparent;
    border-left: 2.1rem solid #006eb6;
  }
  .c-tag-group__text {
    font-size: 1.6rem;
  }
  .c-tag-group__number {
    font-size: 2rem;
  }
}
/*------------------------------------------------------------------------------------
1.9. IMAGE.
------------------------------------------------------------------------------------*/
/*---------- IMAGE ----------*/
.c-image {
  text-align: center;
  border: 2px solid #006eb6;
}
.c-image__title {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-image {
    padding: 1.5rem;
    border-radius: 1.5rem;
  }
  .c-image .c-heading-savepro {
    margin-bottom: 2rem;
  }
  .c-image__text, .c-image__title {
    font-size: 1.8rem;
  }
  .c-image__title {
    margin-bottom: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-image {
    max-width: 100rem;
    padding: 3rem;
    border-radius: 3rem;
  }
  .c-image .c-heading-savepro {
    margin-bottom: 2.5rem;
  }
  .c-image__text, .c-image__title {
    font-size: 2rem;
  }
  .c-image__title {
    margin-bottom: 3rem;
  }
}
/*---------- IMAGE SP V1 ----------*/
@media only screen and (max-width: 767px) {
  .c-image--sp-v1 .c-image__img {
    width: 70rem;
  }
}
/*---------- IMAGE SP V2 ----------*/
@media only screen and (max-width: 767px) {
  .c-image--sp-v2 .c-image__img {
    width: 50rem;
  }
}
/*---------- IMAGE GROUP ----------*/
.c-image-group__title {
  font-weight: 600;
}
.c-image-group__subtitle {
  margin-left: -0.5em;
  font-weight: 600;
  color: #686868;
}
.c-image-group__img {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-image-group .c-heading-savepro {
    margin-bottom: 2rem;
  }
  .c-image-group__label, .c-image-group__title {
    font-size: 1.8rem;
  }
  .c-image-group__title {
    margin-bottom: 2rem;
  }
  .c-image-group__subtitle {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-image-group__outer {
    display: flex;
    justify-content: center;
  }
  .c-image-group .c-heading-savepro {
    margin-bottom: 2.5rem;
  }
  .c-image-group__label, .c-image-group__title {
    font-size: 2rem;
  }
  .c-image-group__title {
    margin-bottom: 3rem;
  }
  .c-image-group__subtitle {
    font-size: 2rem;
  }
}
/*---------- IMAGE GROUP SP V1 ----------*/
@media only screen and (max-width: 767px) {
  .c-image-group--sp-v1 .c-image-group__img {
    width: 70rem;
  }
}
/*---------- IMAGE GROUP SP V2 ----------*/
@media only screen and (max-width: 767px) {
  .c-image-group--sp-v2 .c-image-group__img {
    width: 50rem;
  }
}
/*---------- IMAGE TABLE SP V1 ----------*/
@media only screen and (max-width: 575px) {
  .c-image-table--sp-v1 .c-image-table__img {
    width: 60rem;
  }
}
/*---------- IMAGE CHART ----------*/
.c-image-chart__img {
  text-align: center;
}

/*---------- IMAGE GROUP CHARGE ----------*/
.c-image-charge__body {
  max-width: 88.3rem;
  margin-inline: auto;
}
.c-image-charge__table {
  width: 100%;
  background: url("./../images/charge/c-group-bg-footer.webp") no-repeat center bottom/100% auto, url("./../images/charge/c-group-bg-middle.webp") repeat-y center bottom/100% auto;
  table-layout: fixed;
}
.c-image-charge__table .c-list-circle > li:not(:first-child) {
  margin-top: 1rem;
}
.c-image-charge__table tr td {
  font-size: 1.4rem;
  vertical-align: top;
}

@media only screen and (max-width: 767px) {
  .c-image-charge__body {
    width: 70.7rem;
  }
  .c-image-charge__table tr td {
    padding: 1.5rem 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-image-charge__table tr td {
    padding: 1.8rem 1.5rem;
  }
}
/*---------- IMAGE UTILITY ----------*/
@media only screen and (max-width: 767px) {
  .c-image-utility__img {
    width: 80rem;
  }
}
/*---------- IMAGE UTILITY ----------*/
.c-image-savepro {
  background-color: #e8eff8;
}

@media only screen and (max-width: 767px) {
  .c-image-savepro {
    padding: 1.5rem;
  }
  .c-image-savepro__img {
    width: 76.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-image-savepro {
    padding: 2rem;
  }
}
/*------------------------------------------------------------------------------------
1.10. GALLERY.
------------------------------------------------------------------------------------*/
/*---------- GALLERY GROUP ----------*/
.c-gallery-group__text {
  margin-bottom: 3rem;
}
.c-gallery-group__list {
  display: grid;
  align-items: center;
}
.c-gallery-group__item {
  text-align: center;
}

@media only screen and (max-width: 575px) {
  .c-gallery-group__list {
    gap: 2.5rem;
  }
  .c-gallery-group__list-v1 {
    gap: 2rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-gallery-group__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
  .c-gallery-group__item-v1 {
    padding-bottom: 4.5rem;
  }
}
/*------------------------------------------------------------------------------------
1.11. CARD.
------------------------------------------------------------------------------------*/
/*---------- NOTE CARD MAIN ----------*/
.c-note-card-main {
  max-width: 65rem;
  margin-inline: auto;
}

@media only screen and (max-width: 767px) {
  .c-note-card-main {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-note-card-main {
    font-size: 1.4rem;
  }
}
/*---------- CARD MAIN ----------*/
.c-card-main {
  overflow: hidden;
  border: 1px solid #006eb6;
  border-radius: 1rem;
}
.c-card-main__header {
  padding: 0.7rem;
  background-color: #006eb6;
}
.c-card-main__title {
  font-size: 2rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
}
.c-card-main__body {
  padding: 2rem;
}
.c-card-main__img {
  text-align: center;
}
.c-card-main__img img {
  width: auto;
  max-height: 6.5rem;
}
.c-card-main__arrow {
  text-align: center;
}
.c-card-main__arrow img {
  width: auto;
  max-height: 2.4rem;
}
.c-card-main__table table {
  width: 100%;
  table-layout: fixed;
}
.c-card-main__table td,
.c-card-main__table th {
  padding: 0.5rem 0.5rem;
  text-align: start;
  border: 1px solid #898989;
}
.c-card-main__table th {
  font-weight: 600;
}
.c-card-main__table thead th {
  text-align: center;
  color: #ffffff;
  background-color: #898989;
}
.c-card-main__box {
  border: 1px solid #d3410f;
}
.c-card-main__box-header {
  padding: 0.5rem;
  background-color: #d3410f;
}
.c-card-main__box-body {
  padding: 1rem 0.5rem;
}
.c-card-main__box-title {
  font-size: 1.6rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
}
.c-card-main__box-row {
  display: grid;
  grid-template-columns: 4.5rem 1fr 3.5rem;
  gap: 0.5rem;
  align-items: center;
  min-height: 5.6rem;
}
.c-card-main__box-center {
  display: flex;
  justify-content: center;
}
.c-card-main__box-right {
  margin-top: -2rem;
}
.c-card-main__box-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  background-color: #f4e3ce;
  border-radius: 50%;
}
.c-card-main__box-circle p {
  font-weight: 600;
  line-height: 1;
}
.c-card-main__box-text {
  font-weight: 600;
  line-height: 1.5;
}
.c-card-main__box-text strong {
  line-height: 1;
}
.c-card-main__box-text--v1 {
  letter-spacing: normal;
  color: #d3410f;
}
.c-card-main__box-text--v1 strong {
  font-size: 3rem;
}
.c-card-main__box-text--v2 strong {
  font-size: 2rem;
}

@media only screen and (max-width: 767px) {
  .c-card-main__img {
    margin-bottom: 2rem;
  }
  .c-card-main__arrow {
    margin-block: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-main__img {
    margin-bottom: 2.5rem;
  }
  .c-card-main__arrow {
    margin-top: 0.5rem;
  }
}
/*---------- LIST CARD MAIN ----------*/
@media only screen and (max-width: 767px) {
  .c-list-card-main .c-card-main:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-main {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
  }
  .c-list-card-main .c-card-main {
    width: calc(33.333% - 1.4rem);
  }
}
/*---------- CARD SAVEAIR ----------*/
.c-card-saveair__header, .c-card-saveair__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.c-card-saveair__header {
  padding: 0.5rem;
}
.c-card-saveair__title {
  font-weight: 600;
  text-align: center;
  color: #006eb6;
}
.c-card-saveair__footer {
  position: relative;
  font-weight: 600;
  text-align: center;
  color: #006eb6;
  background-color: #ffffff;
  border-radius: 1rem;
}
.c-card-saveair__footer.orenge {
  color: #f54000;
}
.c-card-saveair__footer::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}
.c-card-saveair__footer strong {
  font-weight: 600;
  line-height: 1;
}

@media only screen and (min-width: 576px) {
  .c-card-saveair {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
  .c-card-saveair__body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .c-card-saveair__footer {
    min-height: 6rem;
    border: 3px solid #006eb6;
  }
  .c-card-saveair__header {
    min-height: 6rem;
    border: 3px solid #006eb6;
  }
  .c-card-saveair__footer.orenge {
    min-height: 6rem;
    border: 3px solid #e56d03;
  }
  .c-card-saveair__title {
    font-size: 2rem;
  }
  .c-card-saveair__list {
    margin-block: 1.5rem;
  }
  .c-card-saveair__footer {
    margin-top: 1rem;
    padding: 1.5rem 1.5rem 1rem 1.5rem;
    font-size: 1.6rem;
  }
  .c-card-saveair__footer::after {
    top: -1.2rem;
    border-right: 1.2rem solid transparent;
    border-bottom: 1.2rem solid #006eb6;
    border-left: 1.2rem solid transparent;
  }
  .c-card-saveair__footer.orenge::after {
    top: -1.2rem;
    border-right: 1.2rem solid transparent;
    border-bottom: 1.2rem solid #e56d03;
    border-left: 1.2rem solid transparent;
  }
  .c-card-saveair__footer strong {
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-saveair__header, .c-card-saveair__footer {
    min-height: 7rem;
    border: 5px solid #006eb6;
  }
  .c-card-saveair__footer.orenge {
    min-height: 7rem;
    border: 5px solid #f54000;
  }
  .c-card-saveair__title {
    font-size: 2.4rem;
  }
  .c-card-saveair__list {
    margin-block: 2rem;
  }
  .c-card-saveair__footer {
    margin-top: 1.5rem;
    padding: 1.5rem 1.5rem 1rem 1.5rem;
    font-size: 2rem;
  }
  .c-card-saveair__footer::after {
    top: -1.5rem;
    border-right: 1.5rem solid transparent;
    border-bottom: 1.5rem solid #006eb6;
    border-left: 1.5rem solid transparent;
  }
  .c-card-saveair__footer.orenge::after {
    top: -1.5rem;
    border-right: 1.5rem solid transparent;
    border-bottom: 1.5rem solid #f54000;
    border-left: 1.5rem solid transparent;
  }
  .c-card-saveair__footer strong {
    font-size: 3rem;
  }
}
/*---------- LIST CARD SAVEAIR ----------*/
@media only screen and (max-width: 575px) {
  .c-list-card-saveair .c-card-saveair:not(:first-child) {
    margin-top: 3.5rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-card-saveair {
    display: grid;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-card-saveair {
    grid-column-gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-saveair {
    grid-column-gap: 7rem;
  }
}
/*---------- LIST CARD SAVEAIR 2 COLUMN ----------*/
.c-list-card-saveair--2col {
  max-width: 77.7rem;
  margin-inline: auto;
}

@media only screen and (min-width: 576px) {
  .c-list-card-saveair--2col {
    grid-template-columns: repeat(2, 1fr);
  }
}
/*---------- LIST CARD SAVEAIR 3 COLUMN ----------*/
@media only screen and (min-width: 576px) {
  .c-list-card-saveair--3col {
    grid-template-columns: repeat(3, 1fr);
  }
}
/*---------- CARD GROUP ----------*/
.c-card-group__body {
  overflow: hidden;
  border-radius: 0.6rem;
}
.c-card-group__tag {
  display: flex;
}
.c-card-group__tag-wrap {
  padding: 0.5rem 1rem;
  border-bottom-right-radius: 0.6rem;
}
.c-card-group__tag-text {
  font-weight: 600;
  text-align: center;
  color: #ffffff;
}
.c-card-group__img {
  padding: 2rem 1.5rem;
}
.c-card-group__title {
  text-align: center;
}

@media only screen and (max-width: 575px) {
  .c-card-group__title {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-card-group__tag-wrap {
    min-width: 22rem;
  }
  .c-card-group__tag-text {
    font-size: 1.6rem;
  }
  .c-card-group__title {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-card-group {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-group__tag-wrap {
    min-width: 25rem;
  }
  .c-card-group__tag-text {
    font-size: 1.8rem;
  }
  .c-card-group__title {
    font-size: 2.5rem;
  }
}
/*---------- CARD GROUP GRAY ----------*/
.c-card-group--gray .c-card-group__body {
  border: 1px solid #898989;
}
.c-card-group--gray .c-card-group__tag-wrap {
  background-color: #898989;
}
.c-card-group--gray .c-card-group__title {
  color: #f53f00;
}

/*---------- CARD GROUP BLUE ----------*/
.c-card-group--blue .c-card-group__body {
  border: 1px solid #006eb6;
}
.c-card-group--blue .c-card-group__tag-wrap {
  background-color: #006eb6;
}

/*---------- LIST CARD GROUP ----------*/
.c-list-card-group {
  display: grid;
}

@media only screen and (max-width: 575px) {
  .c-list-card-group {
    gap: 2.5rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-card-group {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-card-group {
    gap: 1.5rem 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-group {
    gap: 2rem 3rem;
  }
}
/*---------- LIST CARD AWARD ----------*/
.c-card-award {
  border-radius: 2rem;
  background-color: #e8f4fd;
}
.c-card-award__img img {
  width: 100%;
  border-radius: 1rem;
}
.c-card-award__row {
  display: flex;
}
.c-card-award__right {
  flex: 1;
}
.c-card-award__time, .c-card-award__title {
  font-weight: 600;
  line-height: 1.6;
  color: #2f61ae;
}
.c-card-award__title small {
  font-size: 90%;
}

@media only screen and (max-width: 767px) {
  .c-card-award {
    padding: 1.5rem 1.5rem 2rem 1.5rem;
  }
  .c-card-award__row {
    margin-top: 2rem;
  }
  .c-card-award__left {
    width: 5rem;
  }
  .c-card-award__right {
    padding-left: 1.5rem;
  }
  .c-card-award__time {
    font-size: 1.4rem;
  }
  .c-card-award__title {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-award {
    padding: 2rem;
  }
  .c-card-award__row {
    margin-top: 3rem;
  }
  .c-card-award__left {
    width: 8.8rem;
  }
  .c-card-award__right {
    padding-left: 2rem;
  }
  .c-card-award__time {
    font-size: 1.6rem;
  }
  .c-card-award__title {
    font-size: 2.2rem;
  }
}
/*---------- LIST CARD AWARD ----------*/
@media only screen and (max-width: 767px) {
  .c-list-card-award .c-card-award:not(:first-child) {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-award {
    display: flex;
    gap: 6rem;
    justify-content: center;
  }
  .c-list-card-award .c-card-award {
    width: 42rem;
  }
}
/*---------- CARD OTHER ----------*/
.c-card-other {
  padding: 1rem 1rem 1.5rem;
  background: #e8f4fd;
  border: 1px solid #2f61ae;
  border-radius: 2rem;
}
.c-card-other__img {
  overflow: hidden;
  border-radius: 1rem;
  background-color: #ffffff;
  text-align: center;
}
.c-card-other__title {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  color: #006eb6;
}
.c-card-other__desc {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-card-other__title {
    margin-top: 1rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-other__title {
    margin-top: 1.5rem;
    font-size: 1.8rem;
  }
}
/*---------- LIST CARD OTHER ----------*/
@media only screen and (max-width: 767px) {
  .c-list-card-other .c-card-other:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-other {
    display: flex;
    flex-wrap: wrap;
    gap: 6rem;
    justify-content: center;
  }
  .c-list-card-other .c-card-other {
    width: 35rem;
  }
}
/*---------- CARD OU ----------*/
.c-card-ou__img img {
  width: 100%;
}
.c-card-ou__list {
  display: flex;
  justify-content: center;
  margin-top: 1rem;
}
.c-card-ou__item {
  position: relative;
}
.c-card-ou__item::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.c-card-ou__item--gray::before {
  background-color: #cccfd7;
}
.c-card-ou__item--blue::before {
  background-color: #0167ad;
}

@media only screen and (max-width: 767px) {
  .c-card-ou .c-heading-card {
    margin: 0 0 1.7rem 2rem;
  }
  .c-card-ou__list {
    gap: 2.5rem;
  }
  .c-card-ou__item {
    padding-left: 3.5rem;
    font-size: 1.4rem;
  }
  .c-card-ou__item::before {
    width: 2.8rem;
    height: 1.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-ou .c-heading-card {
    margin: 0 0 2.5rem 3rem;
  }
  .c-card-ou__list {
    gap: 3rem;
  }
  .c-card-ou__item {
    padding-left: 3.7rem;
    font-size: 1.6rem;
  }
  .c-card-ou__item::before {
    width: 3rem;
    height: 1.5rem;
  }
}
/*---------- LIST CARD OU ----------*/
@media only screen and (max-width: 575px) {
  .c-list-card-ou .c-card-ou:not(:first-child) {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-card-ou {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-card-ou {
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-ou {
    gap: 2.7rem;
  }
}
/*---------- CARD ENERGY ----------*/
.c-card-energy__heading,
.c-card-energy .c-heading-card {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.c-card-energy__title {
  color: #006eb6;
  font-weight: 600;
}
.c-card-energy__row {
  display: flex;
  border-radius: 0.8rem;
  border: 3px solid #f53f00;
}
.c-card-energy__row p {
  line-height: 1;
  font-weight: 600;
}
.c-card-energy__left, .c-card-energy__right {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.35rem 0.5rem;
  text-align: center;
}
.c-card-energy__left {
  flex: 0 0 auto;
  color: #ffffff;
  background-color: #f53f00;
}
.c-card-energy__right {
  position: relative;
  flex: 1;
  min-width: 1px;
  color: #f53f00;
  padding-left: 1.5rem;
}
.c-card-energy__right strong {
  font-size: 2.8rem;
}
.c-card-energy__right::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  width: 1.2rem;
  background-color: #f53f00;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.c-card-energy__img {
  margin-top: auto;
}

@media only screen and (min-width: 576px) {
  .c-card-energy {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
}
@media only screen and (max-width: 767px) {
  .c-card-energy__heading,
  .c-card-energy .c-heading-card {
    min-height: 6rem;
  }
  .c-card-energy__heading {
    margin-bottom: 1.5rem;
    padding: 1rem;
    border: 3px solid #006eb6;
  }
  .c-card-energy__title {
    font-size: 2rem;
  }
  .c-card-energy__list {
    margin-bottom: 1.5rem;
  }
  .c-card-energy__row {
    margin-bottom: 1.5rem;
  }
  .c-card-energy .c-heading-card {
    margin-top: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-energy__heading,
  .c-card-energy .c-heading-card {
    min-height: 7rem;
  }
  .c-card-energy__heading {
    margin-bottom: 2rem;
    padding: 1rem;
    border: 5px solid #006eb6;
  }
  .c-card-energy__title {
    font-size: 2.4rem;
  }
  .c-card-energy__list {
    margin-bottom: 2rem;
  }
  .c-card-energy__row {
    margin-bottom: 2rem;
  }
  .c-card-energy .c-heading-card {
    margin-top: 1.5rem;
    padding: 1.6rem 1.5rem 1.1rem 1.5rem;
  }
}
/*---------- LIST CARD ENERGY ----------*/
.c-list-card-energy {
  display: grid;
}

@media only screen and (max-width: 575px) {
  .c-list-card-energy {
    gap: 3.5rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-card-energy {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-energy {
    column-gap: 3.5rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
/*---------- CARD TAIYOKO ----------*/
.c-card-taiyoko__heading {
  margin-bottom: 1.5rem;
  text-align: center;
}
.c-card-taiyoko__title {
  color: #006eb6;
}
.c-card-taiyoko__img {
  text-align: center;
}
.c-card-taiyoko__desc {
  margin-top: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .c-card-taiyoko__title {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-taiyoko__title {
    font-size: 1.8rem;
  }
}
/*---------- LIST CARD TAIYOKO ----------*/
@media only screen and (max-width: 767px) {
  .c-list-card-taiyoko .c-card-taiyoko:not(:first-child) {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-taiyoko {
    display: flex;
    justify-content: center;
    gap: 5rem;
  }
  .c-list-card-taiyoko .c-card-taiyoko {
    width: 33rem;
  }
}
/*------------------------------------------------------------------------------------
1.12. BANNER.
------------------------------------------------------------------------------------*/
/*---------- BANNER ----------*/
.c-bnr__link {
  display: flex;
  text-decoration: none;
  background: linear-gradient(90deg, rgb(41, 171, 226) 0%, rgb(45, 73, 162) 100%);
}
.c-bnr__title {
  font-weight: 700;
  color: #ffffff;
}
.c-bnr__btn {
  margin-block-start: 2rem;
}

@media only screen and (max-width: 767px) {
  .c-bnr {
    text-align: center;
  }
  .c-bnr__link {
    flex-direction: column-reverse;
    padding: 2.5rem 2rem 3rem 2rem;
  }
  .c-bnr__body {
    margin-block-start: 2rem;
  }
  .c-bnr__title {
    font-size: 1.9rem;
    line-height: 1.5;
  }
}
@media only screen and (min-width: 768px) {
  .c-bnr__link {
    align-items: center;
    justify-content: space-between;
    max-width: 80rem;
    margin-inline: auto;
    padding: 1.5rem 2rem 1.5rem 3rem;
  }
  .c-bnr__link:hover .c-btn-bnr {
    color: #e13f3d;
    background-color: #ffffff;
    border-color: #e13f3d;
  }
  .c-bnr__link:hover img {
    opacity: 1;
    transform: scale(1.05);
  }
  .c-bnr__body {
    width: 30rem;
  }
  .c-bnr__title {
    font-size: 2.2rem;
    line-height: 1.4;
  }
}

/* saveairページのみc-bnr__titleのfont-sizeを2.0remに設定 */
.p_saveair .c-bnr__title {
  font-size: 2.0rem;
}

/*------------------------------------------------------------------------------------
1.13. CHART.
------------------------------------------------------------------------------------*/
/*---------- ITEM STEP ----------*/
.c-item-step p {
  margin-bottom: 0 !important;
}
.c-item-step__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 13rem;
  padding: 0.3rem 0;
  border-radius: 28px;
  background-color: #006eb6;
  color: #ffffff;
  font-weight: 600;
  text-align: center;
}
.c-item-step__tag p {
  line-height: 1 !important;
}
.c-item-step__title {
  color: #006eb6;
  font-weight: 600;
}
.c-item-step__desc p {
  text-align: left !important;
}

@media only screen and (max-width: 767px) {
  .c-item-step__header {
    margin-bottom: 0.6rem;
  }
  .c-item-step__tag {
    min-height: 3rem;
    margin-bottom: 1rem;
    font-size: 1.4rem;
  }
  .c-item-step__title {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-step__header {
    display: flex;
    align-items: start;
    gap: 2rem;
    margin-bottom: 0.8rem;
  }
  .c-item-step__tag {
    min-height: 3.5rem;
    font-size: 1.6rem;
  }
  .c-item-step__title {
    flex: 1;
    min-width: 1px;
    margin-top: 0.5rem;
    font-size: 1.8rem;
  }
}
/*---------- LIST ITEM STEP ----------*/
@media only screen and (max-width: 767px) {
  .c-list-item-step .c-item-step:not(:first-child) {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-item-step .c-item-step:not(:first-child) {
    margin-top: 2rem;
  }
}
/*---------- BLOCK STEP ----------*/
.c-block-step {
  background-color: #eff9ff;
  border: 2px dotted #707070;
}

@media only screen and (max-width: 767px) {
  .c-block-step {
    padding: 2rem 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-block-step {
    padding: 2.5rem;
  }
}
/*---------- CHART CHARGE ----------*/
.c-item-chart {
  position: relative;
}
.c-item-chart::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.c-item-chart--gray::before {
  background-color: #a4a5a5;
}
.c-item-chart--orange::before {
  background-color: #fabe00;
}
.c-item-chart--blue::before {
  height: 0.2rem;
  background-color: #0269d2;
}

@media only screen and (max-width: 767px) {
  .c-item-chart {
    padding-left: 3.5rem;
    font-size: 1.4rem;
  }
  .c-item-chart::before {
    width: 2.8rem;
  }
  .c-item-chart--gray::before, .c-item-chart--orange::before {
    height: 1.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-chart {
    padding-left: 3.7rem;
    font-size: 1.6rem;
  }
  .c-item-chart::before {
    width: 3rem;
  }
  .c-item-chart--gray::before, .c-item-chart--orange::before {
    height: 1.5rem;
  }
}
/*---------- CHART CHARGE ----------*/
.c-list-item-chart {
  display: flex;
  justify-content: end;
}

@media only screen and (max-width: 767px) {
  .c-list-item-chart {
    gap: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-item-chart {
    gap: 3rem;
  }
}
/*---------- CHART CHARGE ----------*/
.c-chart-charge__list {
  display: grid;
}
.c-chart-charge__item:first-child {
  position: relative;
}
.c-chart-charge__item:first-child::after {
  position: absolute;
  content: "";
  background: url("../images/charge/arrow.png") no-repeat center center/100% auto;
}
.c-chart-charge__item-title, .c-chart-charge__item-logo {
  text-align: center;
}
.c-chart-charge__item-title {
  color: #006eb6;
}
.c-chart-charge__item-logo img {
  width: auto;
}
.c-chart-charge__item-img {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-chart-charge__title {
    margin-block-end: 1.5rem;
  }
  .c-chart-charge__title img {
    max-height: 1.8rem;
  }
  .c-chart-charge__list {
    gap: 5.5rem;
  }
  .c-chart-charge__item::after {
    left: 50%;
    bottom: -6.5rem;
    transform: rotate(90deg);
    width: 3rem;
    height: 7rem;
    margin-left: -1.5rem;
  }
  .c-chart-charge__item-title {
    font-size: 2rem;
  }
  .c-chart-charge__item-logo img {
    max-height: 4.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-chart-charge__list {
    align-items: end;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
  }
  .c-chart-charge__item::after {
    top: 50%;
    right: -4rem;
    transform: translateY(-50%);
    width: 3.8rem;
    height: 7.8rem;
  }
  .c-chart-charge__item-title {
    font-size: 2.6rem;
  }
  .c-chart-charge__item-logo img {
    max-height: 5.5rem;
  }
}
/*---------- CHART OU ----------*/
.c-chart-ou__title {
  text-align: center;
}
.c-chart-ou img {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .c-chart-ou__title {
    margin-bottom: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-chart-ou__title {
    margin-bottom: 1.5rem;
  }
}
/*---------- LIST CHART OU ----------*/
.c-list-chart-ou {
  display: grid;
}

@media only screen and (max-width: 767px) {
  .c-list-chart-ou {
    gap: 2.5rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-chart-ou {
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-chart-ou {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 768px) {
  .c-list-chart-ou {
    gap: 4rem;
  }
}
/*---------- CHART SAVEAIR ----------*/
.c-chart-saveair {
  padding: 0.6rem 0.6rem 0 0.6rem;
  background-color: #ffffff;
}

.c-chart-saveair img {
  width: 100%;
}

/*---------- CHART AIRPORATOR ----------*/
.c-char-airporator__item .c-title-char {
  margin-bottom: 1rem;
}
.c-char-airporator__outer {
  overflow: hidden;
  border: 2px solid #006eb6;
  border-radius: 0.6rem;
}
.c-char-airporator__inner {
  text-align: center;
}
.c-char-airporator__title {
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.025em;
  color: #ffffff;
  background-color: #006eb6;
}

@media only screen and (max-width: 767px) {
  .c-char-airporator__list {
    margin-bottom: 3rem;
  }
  .c-char-airporator__item:not(:first-child) {
    margin-top: 2rem;
  }
  .c-char-airporator__item-img {
    width: 80rem;
  }
  .c-char-airporator__title {
    padding: 0.8rem 1rem;
  }
  .c-char-airporator__inner {
    padding: 2rem 1.5rem;
  }
  .c-char-airporator__inner img {
    width: 100%;
    max-width: 18rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-char-airporator {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 23rem;
    gap: 3rem;
  }
  .c-char-airporator__item:not(:first-child) {
    margin-top: 3rem;
  }
  .c-char-airporator__title {
    padding: 1rem;
  }
  .c-char-airporator__inner {
    padding: 3.5rem 2rem;
  }
}
/*---------- CHAR OTHER ----------*/
@media only screen and (min-width: 768px) {
  .js-scrollable--sp {
    overflow: initial !important;
  }
}
/*---------- CHAR OTHER ----------*/
.c-chart-other__title, .c-chart-other__desc {
  font-weight: 600;
  text-align: center;
}
.c-chart-other__title {
  margin-bottom: 1.5rem;
}
.c-chart-other__desc {
  margin-top: 1rem;
}
.c-chart-other__row {
  background-color: #f2f2f2;
}
.c-chart-other__text, .c-chart-other__item {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.5;
}
.c-chart-other__item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 2.8rem;
  margin-top: 1rem;
  padding-left: 4.8rem;
}
.c-chart-other__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 3.8rem;
  height: 2.8rem;
  transform: translateY(-50%);
}
.c-chart-other__item-spacing {
  margin-left: -0.55em;
}
.c-chart-other__item-spacing2 {
  margin-left: -0.3em;
}
.c-chart-other__item-spacing3 {
  margin-left: -0.4em;
}

@media only screen and (max-width: 767px) {
  .c-chart-other__title {
    font-size: 1.8rem;
  }
  .c-chart-other__row {
    padding: 3rem 2rem;
  }
  .c-chart-other__left {
    margin-bottom: 2rem;
    text-align: center;
  }
  .c-chart-other__right {
    display: flex;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .c-chart-other__title {
    font-size: 2rem;
  }
  .c-chart-other__row {
    display: flex;
    align-items: center;
    min-height: 30rem;
    padding: 1.5rem 0;
  }
  .c-chart-other__left {
    width: 24.5rem;
  }
  .c-chart-other__left img {
    transform: scale(0.85);
  }
}
/*---------- CHAR OTHER VERSION V1 ----------*/
.c-chart-other--v1 .c-chart-other__item--v1::before {
  background-color: #748e3c;
}
.c-chart-other--v1 .c-chart-other__item--v2::before {
  background-color: #b84e4c;
}
.c-chart-other--v1 .c-chart-other__item--v3::before {
  background-color: #a6a6a6;
}

/*---------- CHAR OTHER VERSION V2 ----------*/
.c-chart-other--v2 .c-chart-other__item--v1::before {
  background-color: #b84e4c;
}
.c-chart-other--v2 .c-chart-other__item--v2::before {
  background-color: #ed9248;
}
.c-chart-other--v2 .c-chart-other__item--v3::before {
  background-color: #eeea38;
}
.c-chart-other--v2 .c-chart-other__item--v4::before {
  background-color: #48a4bc;
}
.c-chart-other--v2 .c-chart-other__item--v5::before {
  background-color: #7a609b;
}

/*---------- LIST CHAR OTHER ----------*/
.c-list-chart-other {
  display: grid;
  gap: 2rem;
}

@media only screen and (min-width: 768px) {
  .c-list-chart-other {
    grid-template-columns: repeat(2, 1fr);
  }
}
/*------------------------------------------------------------------------------------
1.14. BLOCK.
------------------------------------------------------------------------------------*/
/*---------- BLOCK ----------*/
.c-block__grid {
  display: grid;
}
.c-block__img--radius img {
  border-radius: 1.5rem;
}
.c-block__img img {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .c-block__grid {
    gap: 2rem;
  }
  .c-block .c-heading-group__title {
    padding-left: 0;
  }
}
@media only screen and (min-width: 768px) {
  .c-block__grid {
    grid-template-columns: 1fr 32rem;
    grid-template-rows: max-content 1fr;
    column-gap: 4rem;
  }
  .c-block__heading {
    margin-bottom: 2rem;
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .c-block__img {
    grid-column: 2;
    grid-row: 1/-1;
  }
  .c-block__body {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
/*---------- LIST BLOCK ----------*/
@media only screen and (max-width: 767px) {
  .c-list-block .c-block:not(:first-child) {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-block .c-block:not(:first-child) {
    margin-top: 5rem;
  }
}
/*---------- BLOCK MAIN ----------*/
.c-block-main__title {
  text-align: center;
}
.c-block-main__title span {
  margin: 0.5rem;
  border: 1px solid #000000;
  border-radius: 3rem;
}

@media only screen and (max-width: 767px) {
  .c-block-main__title {
    margin-bottom: 1.5rem;
    font-size: 1.7rem;
  }
  .c-block-main__title span {
    padding: 0.5rem 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-block-main__title {
    margin-bottom: 3rem;
    font-size: 2.2rem;
  }
  .c-block-main__title span {
    padding: 0.6rem 2rem;
  }
}
/*---------- LIST BLOCK MAIN ----------*/
@media only screen and (max-width: 767px) {
  .c-list-block-main .c-block-main:not(:first-child) {
    margin-top: 3.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-block-main .c-block-main:not(:first-child) {
    margin-top: 6rem;
  }
}
/*---------- BLOCK PDF ----------*/
.c-block-pdf {
  display: flex;
  justify-content: center;
}
.c-block-pdf__item:not(:first-child) {
  margin-top: 0.5rem;
}
.c-block-pdf__item .c-icon-pdf,
.c-block-pdf__item .c-icon-arrow {
  margin-left: 0.3rem;
}
.c-block-pdf__item .c-icon-pdf {
  position: relative;
}

@media only screen and (min-width: 768px) {
  .c-block-pdf__item .c-icon-pdf {
    top: -0.2rem;
  }
}
/*---------- BLOCK GROUP ----------*/
.c-block-group {
  background-color: #eff9ff;
  border: 2px dotted #707070;
}
.c-block-group__title {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-block-group {
    padding: 2rem 1.5rem;
  }
  .c-block-group__title {
    margin-bottom: 1rem;
    font-size: 1.9rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-block-group {
    padding: 2.5rem;
  }
  .c-block-group__title {
    margin-bottom: 1.5rem;
    font-size: 2.6rem;
  }
  .c-block-group__desc {
    font-size: 1.5rem;
  }
}
/*------------------------------------------------------------------------------------
1.15. POST.
------------------------------------------------------------------------------------*/
/*---------- LIST ITEM TAG ----------*/
.c-list-item-tag .c-item-tag:not(:first-child) {
  margin-top: 1.5rem;
}

/*---------- POST MAIN ----------*/
/*---------- POST AWARD ----------*/
.c-post-award {
  width: 65%;
  margin: 0 auto;
  background-color: #f4f8fd;
  padding: 30px 42px;
  border-radius: 1rem;
}
.c-post-award__left {
  text-align: center;
}
.c-post-award__left img {
  width: 16rem;
}
.c-post-award__right .c-post-award__body {
  border-radius: 1rem;
  background-color: #fff;
}
.c-post-award__right .c-post-award__subtitle {
  font-size: 1.5rem;
}
.c-post-award__right .c-post-award__title {
  font-size: 2.2rem;
}
.c-post-award__footer {
  display: flex;
  gap: 2rem;
}
.c-post-award__subtitle {
  color: #006eb6;
  font-weight: 600;
}
.c-post-award__time, .c-post-award__title {
  font-weight: 600;
  line-height: 1.6;
  color: #2f61ae;
}

@media only screen and (max-width: 575px) {
  .c-post-award {
      width: 100%;
  }
  .c-post-award__left {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-post-award__row {
    gap: 3rem;
  }
  .c-post-award__left {
    width: 14rem;
  }
  .c-post-award__right {
    flex: 1;
  }
}
@media only screen and (min-width: 576px) {
  .c-post-award__row {
    display: flex;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .c-post-award__body {
    padding: 2.5rem 2rem;
  }
  .c-post-award__footer {
    grid-template-columns: 9rem 1fr;
    margin-top: 2rem;
  }
  .c-post-award__subtitle {
    font-size: 2rem;
  }
  .c-post-award__time {
    font-size: 1.4rem;
  }
  .c-post-award__right .c-post-award__title {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-post-award__row {
    gap: 6rem;
  }
  .c-post-award__body {
    padding: 3rem;
  }
  .c-post-award__footer {
    grid-template-columns: 11rem 1fr;
    margin-top: 2.5rem;
  }
  .c-post-award__footer .c-post-award__tag {
    width: 88px;
  }
  .c-post-award__subtitle {
    font-size: 2.4rem;
  }
  .c-post-award__heading {
    padding-top: 0.8rem;
  }
  .c-post-award__time {
    font-size: 1.6rem;
  }
  .c-post-award__title {
    font-size: 2.2rem;
  }
}
/*---------- POST MAIN ----------*/
.c-post-main {
  max-width: 65rem;
  margin-inline: auto;
  border-radius: 1rem;
}
.c-post-main__header {
  border-radius: 1rem 1rem 0 0;
  background-color: #006eb6;
  text-align: center;
}
.c-post-main__text, .c-post-main__title {
  font-weight: 600;
  color: #ffffff;
}
.c-post-main__body {
  border: 2px solid #006eb6;
  border-radius: 0 0 1rem 1rem;
}
.c-post-main__img {
  width: 16rem;
  margin-inline: auto;
}
.c-post-main__img img {
  width: 100%;
}
.c-post-main__item:not(:first-child) {
  margin-top: 1.5rem;
}
.c-post-main__item-title {
  position: relative;
  margin-bottom: 0.3rem;
  padding-left: 1rem;
  font-weight: 600;
}
.c-post-main__item-title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.5rem;
  height: calc(100% - 0.8rem);
  background-color: #006eb6;
  border-radius: 0.3rem;
  transform: translateY(-50%);
}
.c-post-main__box {
  overflow: hidden;
  border-radius: 0.8rem;
}
.c-post-main__box--v1 {
  border: 2px solid #898989;
}
.c-post-main__box--v1 .c-post-main__box-header {
  font-size: 1.8rem;
  background-color: #898989;
}
.c-post-main__box--v1 .c-post-main__box-price strong {
  font-size: 2.5rem;
}
.c-post-main__box--v2 {
  border: 2px solid #d3410f;
}
.c-post-main__box--v2 .c-post-main__box-header {
  font-size: 1.8rem;
  background-color: #d3410f;
}
.c-post-main__box--v2 .c-post-main__box__text {
  font-size: 1.8rem;
}
.c-post-main__box--v2 .c-post-main__box-price span {
  font-size: 1.8rem;
}
.c-post-main__box--v2 .c-post-main__box-price strong {
  font-size: 3rem;
}
.c-post-main__box-header {
  font-weight: 700;
  text-align: center;
  color: #ffffff;
}
.c-post-main__box-text, .c-post-main__box-price {
  line-height: 1.5;
  text-align: center;
}
.c-post-main__box-price span,
.c-post-main__box-price strong {
  font-weight: 700;
}
.c-post-main__arrow {
  padding: 1rem;
  font-weight: 600;
  text-align: center;
  background: url("../images/taiyoko-chikudenchi/c-post-arrow.webp") no-repeat center center/100% 100%;
}
.c-post-main__arrow span {
  font-size: 1.8rem;
}
.c-post-main__arrow strong {
  font-size: 3.5rem;
}
.c-post-main__row {
  display: grid;
}

@media only screen and (max-width: 575px) {
  .c-post-main__text {
    font-size: 1.3rem;
  }
  .c-post-main__title {
    font-size: 1.7rem;
    letter-spacing: normal;
  }
  .c-post-main__row--v1 {
    margin-bottom: 2.5rem;
  }
  .c-post-main__img {
    margin-bottom: 1rem;
  }
  .c-post-main__item-title {
    font-size: 1.8rem;
  }
  .c-post-main__arrow {
    margin: 4rem auto;
    background-size: 15rem auto;
    transform: rotate(90deg);
  }
  .c-post-main__arrow-text {
    transform: rotate(-90deg);
  }
  .c-post-main__box-header {
    padding: 0.5rem 1rem;
  }
  .c-post-main__box-body {
    padding: 1.4rem 1rem;
  }
  .c-post-main__box-price strong {
    line-height: 1.3;
  }
}
@media only screen and (min-width: 576px) {
  .c-post-main__title {
    font-size: 2.4rem;
  }
  .c-post-main__row {
    align-items: center;
    justify-content: center;
  }
  .c-post-main__row--v1 {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
  .c-post-main__row--v1 .c-post-main__left {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-post-main__row--v2 {
    grid-template-columns: 15rem 22rem 17rem;
    gap: 1rem;
    margin-top: 3rem;
  }
  .c-post-main__item-title {
    font-size: 2rem;
  }
  .c-post-main__arrow {
    color: #ffffff;
  }
  .c-post-main__box-header {
    padding: 0.3rem 1rem;
  }
  .c-post-main__box-body {
    padding: 1rem 1rem;
  }
  .c-post-main__box-price strong {
    line-height: 1.1;
  }
}
@media only screen and (max-width: 767px) {
  .c-post-main__header {
    padding: 1rem 0.5rem;
  }
  .c-post-main__body {
    padding: 2.5rem 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-post-main__header {
    padding: 1.4rem;
  }
  .c-post-main__body {
    padding: 3rem;
  }
}
/*---------- POST OU ----------*/
.c-post-ou__item {
  display: flex;
}
.c-post-ou__item-tag {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  border-radius: 50%;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background-color: #6b9ccd;
}
.c-post-ou__item-tag span {
  font-size: 1.4rem;
}
.c-post-ou__item-tag strong {
  font-size: 1.8rem;
}
.c-post-ou__item-tag span,
.c-post-ou__item-tag strong {
  line-height: 1.3;
  font-weight: 600;
}
.c-post-ou__item-body {
  flex: 1;
}
.c-post-ou__item-title {
  margin-bottom: 0.2rem;
  font-weight: 600;
  color: #006eb6;
}
.c-post-ou__item-desc {
  font-size: 1.4rem;
}

@media only screen and (max-width: 767px) {
  .c-post-ou__left {
    margin-bottom: 2.5rem;
  }
  .c-post-ou__item:not(:first-child) {
    margin-top: 1rem;
  }
  .c-post-ou__item-heading {
    width: 6rem;
  }
  .c-post-ou__item-tag {
    height: 6rem;
  }
  .c-post-ou__item-body {
    padding-left: 1rem;
  }
  .c-post-ou__item-title {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-post-ou__row {
    display: flex;
    gap: 4rem;
  }
  .c-post-ou__left {
    width: 37rem;
  }
  .c-post-ou__right {
    flex: 1;
  }
  .c-post-ou__item:not(:first-child) {
    margin-top: 2.5rem;
  }
  .c-post-ou__item-heading {
    width: 6.5rem;
  }
  .c-post-ou__item-tag {
    height: 6.5rem;
  }
  .c-post-ou__item-body {
    padding-left: 1.5rem;
  }
  .c-post-ou__item-title {
    font-size: 2rem;
  }
}
/*---------- POST QA ----------*/
.c-post-qa__header {
  position: relative;
  background-color: #ecf5f8;
  cursor: pointer;
}
.c-post-qa__header.is-active .c-icon-plus::before {
  transform: rotate(0deg);
}
.c-post-qa__icon::before, .c-post-qa__icon::after {
  background-color: #006eb6;
}
.c-post-qa__title {
  font-weight: 600;
}
.c-post-qa__body {
  display: none;
}
.c-post-qa__desc {
  margin-bottom: 1rem;
}
.c-post-qa__btn {
  text-align: center;
}
.c-post-qa__btn ul {
  display: grid;
}

@media only screen and (max-width: 767px) {
  .c-post-qa__header {
    padding: 1.5rem 3.5rem 1.5rem 1.5rem;
    font-size: 1.5rem;
  }
  .c-post-qa__icon {
    right: 1rem;
  }
  .c-post-qa__inner {
    padding-top: 1.5rem;
  }
  .c-post-qa__btn {
    margin-top: 2rem;
  }
  .c-post-qa__btn ul {
    gap: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-post-qa__header {
    padding: 2.1rem 7rem 2.1rem 3.5rem;
    font-size: 1.8rem;
  }
  .c-post-qa__icon {
    right: 3.5rem;
  }
  .c-post-qa__inner {
    padding-top: 2.2rem;
  }
  .c-post-qa__btn {
    margin-top: 4rem;
  }
  .c-post-qa__btn ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
    justify-content: center;
  }
  .c-post-qa__btn li:first-child {
    text-align: end;
  }
  .c-post-qa__btn li:last-child {
    text-align: start;
  }
}
/*---------- LIST POST QA ----------*/
@media only screen and (max-width: 767px) {
  .c-list-post-qa .c-post-qa:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-post-qa .c-post-qa:not(:first-child) {
    margin-top: 2.2rem;
  }
}
/*------------------------------------------------------------------------------------
1.16. GROUP.
------------------------------------------------------------------------------------*/
/*---------- GROUP ----------*/
.c-group {
  background-color: #ffffff;
}
.c-group__slogan {
  letter-spacing: 0.025em;
}
.c-group__slogan span {
  font-weight: 600;
}
.c-group__item strong {
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .c-group {
    padding: 2.5rem 1.5rem;
  }
  .c-group__heading {
    margin-bottom: 2rem;
    margin-left: -1.5rem;
  }
  .c-group__slogan {
    line-height: 1.7;
  }
  .c-group__slogan span {
    font-size: 1.6rem;
    border-bottom: 2px solid #ebae3d;
  }
  .c-group__item {
    line-height: 1.7;
  }
}
@media only screen and (min-width: 768px) {
  .c-group {
    padding: 6rem 3rem;
  }
  .c-group__heading {
    margin-bottom: 3.5rem;
    margin-left: -3rem;
  }
  .c-group__slogan {
    font-size: 1.8rem;
    line-height: 2;
  }
  .c-group__slogan span {
    font-size: 2rem;
    border-bottom: 4px solid #ebae3d;
  }
  .c-group__item {
    line-height: 2;
  }
}
/*---------- LIST GROUP ----------*/
@media only screen and (max-width: 767px) {
  .c-list-group .c-group:not(:first-child) {
    margin-top: 3.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-group .c-group:not(:first-child) {
    margin-top: 5rem;
  }
}
/*---------- GROUP ENERGY ----------*/
.c-group-energy {
  background-color: #ffffff;
}

@media only screen and (max-width: 767px) {
  .c-group-energy {
    padding: 1.5rem;
    border-radius: 1.5rem;
  }
  .c-group-energy .c-title-line {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-group-energy {
    padding: 3rem;
    border-radius: 3rem;
  }
  .c-group-energy .c-title-line {
    margin-bottom: 3rem;
  }
}
/*---------- GROUP OTHER ----------*/
.c-group-other .s-other01__ttl {
  margin-top: 0;
}
.c-group-other__item-title {
  margin-bottom: 0.4rem;
  color: #006eb6;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-group-other__item:not(:first-child) {
    margin-top: 1.5rem;
  }
  .c-group-other__item-title {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-group-other__item:not(:first-child) {
    margin-top: 2.8rem;
  }
  .c-group-other__item-title {
    font-size: 2rem;
  }
}
/*---------- LIST GROUP OTHER ----------*/
@media only screen and (max-width: 767px) {
  .c-list-group-other .c-group-other:not(:first-child) {
    margin-top: 4.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-group-other .c-group-other:not(:first-child) {
    margin-top: 9rem;
  }
}
/*---------- LIST GROUP QA ----------*/
.c-group-qa__header {
  position: relative;
}
.c-group-qa__btn {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.c-group-qa__body {
  display: none;
}

/*------------------------------------------------------------------------------------
1.17. ITEM.
------------------------------------------------------------------------------------*/
/*---------- ITEM TAG ----------*/
.c-item-tag {
  display: grid;
}
.c-item-tag__right {
  padding-top: 0.4rem;
}
.c-item-tag__heading {
  width: 13rem;
  padding: 0.3rem 0;
  background-color: #006eb6;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  border-radius: 28px;
}

@media only screen and (max-width: 767px) {
  .c-item-tag {
    gap: 0.8rem;
  }
  .c-item-tag__heading {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-tag {
    grid-template-columns: 13rem 1fr;
    gap: 2rem;
  }
  .c-item-tag__right {
    padding-top: 0.4rem;
  }
  .c-item-tag__heading {
    font-size: 1.6rem;
  }
}
/*---------- ITEM CHARGE ----------*/
.c-item-charge {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
}
.c-item-charge__left {
  display: flex;
  align-items: center;
  justify-content: end;
}
.c-item-charge__left img {
  padding: 0 0.5rem 0.1rem 0.5rem;
}
.c-item-charge__right {
  flex: 1;
  min-width: 1px;
}

@media only screen and (max-width: 767px) {
  .c-item-charge__left {
    width: 17.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-charge__left {
    width: 18rem;
  }
}
/*---------- ITEM QA ----------*/
.c-item-qa__header, .c-item-qa__inner {
  position: relative;
}
.c-item-qa__header {
  background-color: #78bded;
  cursor: pointer;
}
.c-item-qa__header.is-active .c-icon-plus::before {
  transform: rotate(0deg);
}
.c-item-qa__title {
  font-weight: 600;
  color: #ffffff;
}
.c-item-qa__char {
  position: absolute;
  font-weight: 600;
  line-height: 1;
  color: #006eb6;
}
.c-item-qa__char span {
  line-height: 1;
}
.c-item-qa__body {
  display: none;
}
.c-item-qa__inner {
  background-color: #ffffff;
}

@media only screen and (max-width: 767px) {
  .c-item-qa__header {
    padding: 1.4rem 3rem 1.4rem 3.5rem;
  }
  .c-item-qa__header .c-icon-plus {
    right: 1rem;
  }
  .c-item-qa__title {
    font-size: 1.6rem;
  }
  .c-item-qa__char {
    top: 1.5rem;
    left: 1rem;
    font-size: 2.2rem;
  }
  .c-item-qa__inner {
    margin: 1.5rem 1.5rem 0 1.5rem;
    padding: 1.5rem 1rem 1.5rem 3.6rem;
  }
  .c-item-qa__inner .c-table-qa {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-qa__header {
    padding: 2.1rem 7rem 2.1rem 9.3rem;
  }
  .c-item-qa__header .c-icon-plus {
    right: 3.5rem;
  }
  .c-item-qa__title {
    font-size: 2.4rem;
  }
  .c-item-qa__char {
    font-size: 3.6rem;
  }
  .c-item-qa__char--q {
    top: 2.4rem;
    left: 2.4rem;
  }
  .c-item-qa__char--a {
    top: 1.7rem;
    left: 1.5rem;
  }
  .c-item-qa__inner {
    min-height: 8rem;
    margin: 2.2rem 2.8rem 0 2.8rem;
    padding: 1.5rem 1rem 1.5rem 6.6rem;
  }
  .c-item-qa__inner .c-table-qa {
    margin-top: 2rem;
  }
}
/*---------- ITEM QA POST ----------*/
.c-item-qa--post .c-item-qa__header {
  background-color: #006eb6;
}
.c-item-qa--post .c-item-qa__inner {
  padding: 0;
}

@media only screen and (max-width: 767px) {
  .c-item-qa--post .c-item-qa__header {
    padding: 1.4rem 3rem 1.4rem 1.5rem;
  }
  .c-item-qa--post .c-item-qa__inner {
    margin: 1.5rem 0 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-qa--post .c-item-qa__header {
    padding: 2.1rem 7.5rem 2.1rem 3.5rem;
  }
  .c-item-qa--post .c-item-qa__inner {
    margin: 2.2rem 0 0 0;
  }
}
/*---------- LIST ITEM QA ----------*/
@media only screen and (max-width: 767px) {
  .c-list-item-qa .c-item-qa:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-item-qa .c-item-qa:not(:first-child) {
    margin-top: 5rem;
  }
}
/*---------- LIST ITEM QA BLUE ----------*/
.c-list-item-qa--blue .c-item-qa__inner {
  background-color: #f4f8fd;
}

/*------------------------------------------------------------------------------------
1.18. TABLE.
------------------------------------------------------------------------------------*/
/*---------- TABLE MAIN ----------*/
.c-table-main table {
  width: 100%;
  table-layout: fixed;
}
.c-table-main th,
.c-table-main td {
  text-align: start;
  vertical-align: top;
  border: 1px solid #cccccc;
}
.c-table-main th {
  font-weight: 600;
  background-color: #e6e6e6;
}

@media only screen and (max-width: 767px) {
  .c-table-main th,
  .c-table-main td {
    display: block;
    padding: 1rem;
    font-size: 1.4rem;
    line-height: 1.7;
    border-top: 0;
  }
  .c-table-main tr:first-child th {
    border-top: 1px solid #cccccc;
  }
}
@media only screen and (min-width: 768px) {
  .c-table-main th,
  .c-table-main td {
    padding: 1.5rem;
    font-size: 1.6rem;
    line-height: 2;
  }
  .c-table-main th {
    width: 18rem;
  }
}
/*---------- TABLE MAIN 2 ----------*/
.c-table-main2 table {
  width: 100%;
  table-layout: fixed;
}
.c-table-main2 th,
.c-table-main2 td {
  text-align: start;
  vertical-align: top;
  border: 1px solid #cccccc;
}
.c-table-main2 th {
  font-weight: 600;
  text-align: center;
  background-color: #e6e6e6;
}

@media only screen and (max-width: 767px) {
  .c-table-main2 th,
  .c-table-main2 td {
    padding: 1rem;
    font-size: 1.4rem;
    line-height: 1.7;
    border-top: 0;
  }
  .c-table-main2 th:first-child {
    width: 6rem;
  }
  .c-table-main2 th:last-child {
    width: 35%;
  }
  .c-table-main2 tr:first-child th {
    border-top: 1px solid #cccccc;
  }
}
@media only screen and (min-width: 768px) {
  .c-table-main2 th,
  .c-table-main2 td {
    padding: 1.5rem;
    font-size: 1.6rem;
    line-height: 2;
  }
  .c-table-main2 th:first-child {
    width: 8rem;
  }
  .c-table-main2 th:last-child {
    width: 32.5rem;
  }
}
/*---------- TABLE MAIN 3 ----------*/
.c-table-main3 table {
  width: 100%;
  table-layout: fixed;
}
.c-table-main3 th,
.c-table-main3 td {
  text-align: start;
  vertical-align: top;
  border: 1px solid #cccccc;
}
.c-table-main3 th {
  font-weight: 600;
  text-align: center;
  background-color: #e6e6e6;
}

@media only screen and (max-width: 767px) {
  .c-table-main3 th,
  .c-table-main3 td {
    padding: 1rem;
    font-size: 1.4rem;
    line-height: 1.7;
    border-top: 0;
  }
  .c-table-main3 th:first-child {
    width: 6rem;
  }
  .c-table-main3 th:nth-child(2) {
    width: 35%;
  }
  .c-table-main3 tr:first-child th {
    border-top: 1px solid #cccccc;
  }
}
@media only screen and (min-width: 768px) {
  .c-table-main3 th,
  .c-table-main3 td {
    padding: 1.5rem;
    font-size: 1.6rem;
    line-height: 2;
  }
  .c-table-main3 th:first-child {
    width: 8rem;
  }
  .c-table-main3 th:nth-child(2) {
    width: 32.5rem;
  }
}
/*---------- TABLE QA ----------*/
.c-table-qa table {
  width: 100%;
  table-layout: fixed;
}
.c-table-qa th,
.c-table-qa td {
  border: 1px solid #f4f8fd;
}
.c-table-qa thead th {
  font-weight: 400;
  text-align: center;
  vertical-align: middle;
  color: #ffffff;
  background: #1070b4;
  border: 1px solid #f4f8fd;
}
.c-table-qa tbody th,
.c-table-qa tbody td {
  text-align: left;
  vertical-align: top;
}
.c-table-qa tbody th {
  background: #c5e4fa;
}

@media only screen and (max-width: 767px) {
  .c-table-qa th,
  .c-table-qa td {
    padding: 1rem;
    font-size: 1.4rem;
  }
  .c-table-qa thead th:first-child {
    width: 10rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-table-qa th,
  .c-table-qa td {
    font-size: 1.6rem;
  }
  .c-table-qa thead th {
    padding: 1.2rem;
  }
  .c-table-qa thead th:first-child {
    width: 26rem;
  }
  .c-table-qa tbody th,
  .c-table-qa tbody td {
    padding: 1.4rem 2.8rem;
  }
}
/*------------------------------------------------------------------------------------
1.19. MAP.
------------------------------------------------------------------------------------*/
/*---------- MAP OTHER ----------*/
.c-map-other__list {
  display: grid;
}
.c-map-other__item-cap {
  line-height: 1.3;
  font-weight: 600;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-map-other__list {
    gap: 4rem;
  }
  .c-map-other__item-cap {
    margin-bottom: 2rem;
    font-size: 1.9rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-map-other__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
    align-items: center;
  }
  .c-map-other__item, .c-map-other__item-figure {
    height: 100%;
  }
  .c-map-other__item-cap {
    margin-bottom: 3.5rem;
    font-size: 2.4rem;
  }
}
/*------------------------------------------------------------------------------------
1.20. LOGO.
------------------------------------------------------------------------------------*/
/*---------- LIST LOGO ENERGY ----------*/
@media only screen and (max-width: 575px) {
  .c-list-logo-energy {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 2rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-logo-energy {
    gap: 2rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-logo-energy {
    display: flex;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-logo-energy {
    gap: 2.5rem;
  }
}
/*------------------------------------------------------------------------------------
1.21. SLIDER.
------------------------------------------------------------------------------------*/
/*---------- CASE LOGO CAROUSEL ----------*/
.case-logo-carousel__image {
  width: 19.4rem;
}

/*====================================================================================
OU PAGE
====================================================================================*/
/*----------  ----------*/
/*---------- ITEM OU ----------*/
.c-item-ou__header {
  text-align: center;
}
.c-item-ou__title {
  font-weight: 600;
}
.c-item-ou__note {
  line-height: 1.5 !important;
}
.c-item-ou__img {
  text-align: center;
}

@media only screen and (max-width: 575px) {
  .c-item-ou__header {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-item-ou--v1 .c-item-ou__header {
    margin-bottom: 1.5rem;
  }
  .c-item-ou--v2 .c-item-ou__header {
    margin-bottom: 3rem;
  }
  .c-item-ou--v3 .c-item-ou__title {
    margin-bottom: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-item-ou__title {
    font-size: 1.8rem;
  }
  .c-item-ou__note {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-ou__title {
    font-size: 2rem;
  }
  .c-item-ou__note {
    font-size: 1.6rem;
  }
}
/*---------- LIST ITEM OU ----------*/
.c-list-item-ou .c-item-ou:not(:first-child) {
  margin-top: 2rem;
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-item-ou--v2 {
    width: 30rem;
  }
  .c-list-item-ou--v3 {
    width: 30rem;
  }
}
/*---------- GROUP OU ----------*/
.c-group-ou p {
  margin-bottom: 0 !important;
}
.c-group-ou__item {
  text-align: center;
}
.c-group-ou__item-title {
  font-weight: 600;
}

@media only screen and (max-width: 575px) {
  .c-group-ou__row {
    display: grid;
    row-gap: 2.5rem;
  }
  .c-group-ou__list {
    display: flex;
    justify-content: center;
  }
  .c-group-ou__item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5.9rem;
  }
  .c-group-ou__item-arrow {
    transform: rotate(90deg);
  }
  .c-group-ou__item-arrow--v2 {
    transform: rotate(90deg) scaleX(-1);
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-group-ou__row {
    gap: 0.5rem;
  }
  .c-group-ou__list {
    margin-top: 8.5rem;
  }
  .c-group-ou__item {
    width: 10rem;
  }
  .c-group-ou__item-title {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-group-ou__row {
    display: flex;
    justify-content: center;
  }
  .c-group-ou__item {
    display: block;
  }
  .c-group-ou__item:not(:first-child) {
    margin-top: 1rem;
  }
  .c-group-ou__item-arrow--v2 {
    transform: scaleX(-1);
  }
}
@media only screen and (max-width: 767px) {
  .c-group-ou__item-arrow img {
    width: auto;
    height: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-group-ou__row {
    gap: 4rem;
  }
  .c-group-ou__list {
    margin-top: 8.5rem;
  }
  .c-group-ou__item-title {
    font-size: 1.6rem;
  }
}
/*====================================================================================
UTILITY PAGE
====================================================================================*/
/*---------- SUBTITLE LOGO ----------*/
.c-subtitle-logo {
  text-align: center;
}
.c-subtitle-logo__wrap {
  position: relative;
  display: inline-flex;
  align-items: end;
}
.c-subtitle-logo__wrap::before, .c-subtitle-logo__wrap::after {
  position: absolute;
  content: "";
  bottom: 0;
  width: 3px;
  border-radius: 3px;
  background-color: #006eb6;
}
.c-subtitle-logo__wrap::before {
  left: 0;
  transform: rotate(-25deg);
}
.c-subtitle-logo__wrap::after {
  right: 0;
  transform: rotate(25deg);
}
.c-subtitle-logo__img img {
  width: auto;
}
.c-subtitle-logo__text {
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .c-subtitle-logo__wrap {
    padding-inline: 2.2rem;
  }
  .c-subtitle-logo__wrap::before, .c-subtitle-logo__wrap::after {
    height: calc(100% - 1.3rem);
  }
  .c-subtitle-logo__img {
    margin-right: 1rem;
  }
  .c-subtitle-logo__img img {
    max-height: 3.6rem;
  }
  .c-subtitle-logo__text {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-subtitle-logo__wrap {
    padding-inline: 3rem;
  }
  .c-subtitle-logo__wrap::before, .c-subtitle-logo__wrap::after {
    height: calc(100% - 1.5rem);
  }
  .c-subtitle-logo__img {
    margin-right: 1rem;
  }
  .c-subtitle-logo__img img {
    max-height: 4.2rem;
  }
  .c-subtitle-logo__text {
    font-size: 2rem;
  }
}
/*---------- ARROW HEADING ----------*/
.c-arrow-heading {
  display: inline-block;
  color: #006eb6;
  line-height: 1;
  background: url("../images/utility/c-heading-arrow.webp") no-repeat center center/100% 100%;
}

@media only screen and (max-width: 767px) {
  .c-arrow-heading {
    padding: 0.6rem 2.6rem;
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-arrow-heading {
    padding: 0.7rem 3rem;
    font-size: 3rem;
  }
}
/*---------- HEADING POST ----------*/
.c-heading-post {
  text-align: center;
}
.c-heading-post__title {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-heading-post {
    margin-inline: -1rem;
  }
  .c-heading-post .c-subtitle-logo {
    margin-bottom: 0.8rem;
  }
  .c-heading-post__title {
    font-size: 1.6rem;
  }
  .c-heading-post__text, .c-heading-post__text-line {
    font-size: 2rem;
  }
  .c-heading-post__text-line {
    border-bottom: 3px solid #ebae3d;
  }
  .c-heading-post .c-arrow-heading {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-post .c-subtitle-logo {
    margin-bottom: 1.5rem;
  }
  .c-heading-post__title {
    font-size: 2.5rem;
  }
  .c-heading-post__text, .c-heading-post__text-line {
    font-size: 3rem;
  }
  .c-heading-post__text-line {
    border-bottom: 4px solid #ebae3d;
  }
  .c-heading-post .c-arrow-heading {
    margin-left: 1rem;
  }
}
/*---------- ITEM UTILITY ----------*/
.c-item-utility {
  text-align: center;
}
.c-item-utility__icon {
  width: 100%;
  text-align: center;
}
.c-item-utility__icon img {
  height: 3.2rem;
  width: auto;
}
.c-item-utility__title {
  margin-top: 0.2rem;
  color: #ffffff;
  font-weight: 600;
  font-size: 1.7rem;
}

/*---------- LIST ITEM UTILITY ----------*/
.c-list-item-utility {
  display: flex;
  justify-content: center;
  width: 100%;
}
.c-list-item-utility .c-item-utility {
  width: 35%;
}

/*---------- ITEM UTILITY ----------*/
.c-item-check {
  padding-left: 1.6rem;
  font-size: 1.2rem;
  line-height: 1.7;
}
.c-item-check--blue {
  background: url("../images/common_img/c-icon-check-blue.webp") no-repeat left top 5px/1.2rem auto;
}
.c-item-check--yellow {
  background: url("../images/common_img/c-icon-check-yellow.webp") no-repeat left top 5px/1.2rem auto;
}

/*---------- TABLE UTILITY ----------*/
.c-table-utility__outer {
  width: 94rem;
}
.c-table-utility__list {
  display: flex;
}
.c-table-utility__item {
  display: flex;
  align-items: center;
  min-height: 10rem;
}
.c-table-utility__item--main {
  width: 16%;
}
.c-table-utility__item--main img {
  width: auto;
  max-height: 5.5rem;
}
.c-table-utility__item--sub {
  width: 21%;
  padding-left: 2rem;
  background: url("../images/utility/c-table-arrow.webp") no-repeat left center/auto 100%, #006eb6;
}
.c-table-utility__item--v2 {
  border-top-left-radius: 0.6rem;
  background: #006eb6;
}
.c-table-utility__item--v3 {
  width: 20.8%;
}
.c-table-utility__item--v4 {
  width: 20.8%;
}
.c-table-utility__item--v5 {
  flex: 1;
  border-top-right-radius: 0.6rem;
}
.c-table-utility__heading {
  width: 16%;
  color: #ffffff;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
  border-radius: 0.6rem 0 0 0.6rem;
}
.c-table-utility__heading--v1 {
  position: relative;
}
.c-table-utility__heading--v1::before {
  position: absolute;
  content: "";
  left: 50%;
  bottom: -2.4rem;
  width: 4rem;
  height: 4rem;
  transform: translateX(-50%);
  background: url("../images/utility/c-table-plus.svg") no-repeat center center/100% auto;
  text-align: center;
}
.c-table-utility__heading--v2 {
  background-color: #e3a903;
}
.c-table-utility__box {
  width: 21%;
}
.c-table-utility__box--v1 {
  background-color: #e9f5f8;
}
.c-table-utility__box--v2 {
  background-color: #fcf5e0;
}
.c-table-utility__body {
  background-color: #006eb6;
  padding: 0 0.5rem 0.5rem 0.5rem;
  border-radius: 0.6rem 0 0.6rem 0.6rem;
}
.c-table-utility__body table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-style: hidden;
}
.c-table-utility__body tr:not(:first-child) {
  border-top: 0.5rem solid #006eb6;
}
.c-table-utility__body td {
  padding: 1rem;
}
.c-table-utility__body td:not(:last-child) {
  border-right: 3px solid #006eb6;
}
.c-table-utility__body td:last-child {
  border-radius: 0 0.6rem 0.6rem 0;
}
.c-table-utility__body td a {
  font-weight: 600;
}

/*---------- CARD UTILITY ----------*/
.c-card-utility {
  border-radius: 1rem;
  background-color: #e9f5f8;
}
.c-card-utility__figure {
  position: relative;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.c-card-utility__img {
  width: 100%;
  border-radius: 0.6rem;
}
.c-card-utility__cap {
  position: absolute;
  top: 0;
  left: 0;
  color: #006eb6;
  line-height: 1;
  font-weight: 600;
}
.c-card-utility__cap::before {
  position: absolute;
  content: "";
  border-radius: 10rem;
  background-color: #e9f5f8;
}
.c-card-utility__cap span {
  position: relative;
  z-index: 2;
}
.c-card-utility__title {
  margin-bottom: 1rem;
  color: #006eb6;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-card-utility {
    padding: 1rem;
  }
  .c-card-utility__cap {
    font-size: 1.5rem;
  }
  .c-card-utility__cap::before {
    top: -3rem;
    left: -3rem;
    width: 6rem;
    height: 6rem;
  }
  .c-card-utility__title {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-utility {
    padding: 1.5rem;
  }
  .c-card-utility__cap {
    font-size: 1.8rem;
  }
  .c-card-utility__cap::before {
    top: -3.5rem;
    left: -3.5rem;
    width: 7rem;
    height: 7rem;
  }
  .c-card-utility__title {
    font-size: 1.9rem;
  }
}
/*---------- LIST CARD UTILITY ----------*/
.c-list-card-utility {
  position: relative;
  z-index: 2;
}
.c-list-card-utility::before {
  position: absolute;
  z-index: -1;
  content: "";
  width: 100%;
  border-radius: 0.6rem;
  border: 2px solid #006eb6;
  border-top: 0;
}
.c-list-card-utility--v1 {
  display: grid;
}
.c-list-card-utility__heading {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
}
.c-list-card-utility__text {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 0.6rem;
  background-color: #006eb6;
  color: #ffffff;
  font-weight: 600;
}

@media only screen and (max-width: 575px) {
  .c-list-card-utility--v1 {
    gap: 1.5rem;
    padding-bottom: 0 !important;
  }
  .c-list-card-utility--v1::before {
    content: none;
  }
  .c-list-card-utility--v1 .c-list-card-utility__heading {
    position: relative;
  }
  .c-list-card-utility--v1 .c-list-card-utility__heading::before, .c-list-card-utility--v1 .c-list-card-utility__heading::after {
    position: absolute;
    z-index: -1;
    content: "";
    left: 0;
    width: 100%;
    height: 4rem;
    border: 2px solid #006eb6;
  }
  .c-list-card-utility--v1 .c-list-card-utility__heading::before {
    bottom: calc(50% - 1px);
    border-radius: 0.6rem 0.6rem 0 0;
    border-top: 0;
  }
  .c-list-card-utility--v1 .c-list-card-utility__heading::after {
    top: calc(50% - 1px);
    border-radius: 0 0 0.6rem 0.6rem;
    border-bottom: 0;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-card-utility--v1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-card-utility {
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-list-card-utility {
    padding-bottom: 5.5rem;
  }
  .c-list-card-utility::before {
    bottom: 1.9rem;
    height: 4rem;
  }
  .c-list-card-utility__text {
    font-size: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-utility {
    gap: 3rem;
    padding-bottom: 7rem;
  }
  .c-list-card-utility::before {
    bottom: 2.2rem;
    height: 5.5rem;
  }
  .c-list-card-utility__text {
    font-size: 2rem;
  }
}
/*---------- POST UTILITY ----------*/
.c-post-utility__cards {
  display: grid;
}

@media only screen and (max-width: 767px) {
  .c-post-utility__cards {
    gap: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-post-utility__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
  }
  .c-post-utility__cards .c-list-card-utility:first-child {
    grid-column: 1/3;
  }
}
/*====================================================================================
SEARCH PAGE
====================================================================================*/
.p_search .ttl-page {
  background: url("../images/search/bg_ttl.png") no-repeat center center/cover;
}

/*====================================================================================
SAVEAIR PAGE
====================================================================================*/
/*---------- TEXT SAVEAIR ----------*/
.c-text-saveair {
  display: flex;
  justify-content: end;
  line-height: 1.5;
  font-weight: normal;
}

@media only screen and (max-width: 767px) {
  .c-text-saveair {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-text-saveair {
    margin-top: -4.5rem;
    padding-inline: 4rem;
  }
}
/*---------- TITLE SAVEAIR ----------*/
.c-title-saveair {
  text-align: center;
}
.c-title-saveair__text {
  position: relative;
  display: inline-block;
  color: #006eb6;
  line-height: 1.5;
  font-weight: 600;
}
.c-title-saveair__text::before, .c-title-saveair__text::after {
  position: absolute;
  content: "";
  bottom: 0.5rem;
  border-radius: 0.4rem;
  background-color: #006eb6;
}
.c-title-saveair__text::before {
  left: 0;
  transform: rotate(-30deg);
}
.c-title-saveair__text::after {
  right: 0;
  transform: rotate(30deg);
}
.c-title-saveair__text strong {
  font-weight: 600;
}
.c-title-saveair__text-star {
  position: relative;
  top: -0.5em;
}
.c-title-saveair__text-lg strong {
  line-height: 1;
}

@media only screen and (max-width: 767px) {
  .c-title-saveair__text {
    padding-inline: 1.7rem;
  }
  .c-title-saveair__text::before, .c-title-saveair__text::after {
    width: 0.3rem;
    height: calc(100% - 1.9rem);
  }
  .c-title-saveair__text-star {
    font-size: 1.4rem;
  }
  .c-title-saveair__text-sm {
    font-size: 1.6rem;
  }
  .c-title-saveair__text-md {
    font-size: 1.9rem;
  }
  .c-title-saveair__text-lg {
    font-size: 2.2rem;
    border-bottom: 4px solid #ebae3d;
  }
  .c-title-saveair__text-lg strong {
    font-size: 3.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-title-saveair__text {
    padding-inline: 4.5rem;
  }
  .c-title-saveair__text::before, .c-title-saveair__text::after {
    width: 0.4rem;
    height: calc(100% - 3.2rem);
  }
  .c-title-saveair__text-star {
    font-size: 2.5rem;
  }
  .c-title-saveair__text-sm {
    font-size: 3rem;
  }
  .c-title-saveair__text-md {
    font-size: 3.8rem;
  }
  .c-title-saveair__text-lg {
    font-size: 4.5rem;
    border-bottom: 6px solid #ebae3d;
  }
  .c-title-saveair__text-lg strong {
    font-size: 7.5rem;
  }
}
/*---------- ITEM SAVEAIR ----------*/
.c-item-saveair {
  display: flex;
}
.c-item-saveair--v2 .c-item-saveair__body, .c-item-saveair--v3 .c-item-saveair__body {
  flex: 1;
}
.c-item-saveair__body {
  position: relative;
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border-radius: 0.6rem;
  border: 1px solid #6b9ccd;
}
.c-item-saveair__body::before {
  position: absolute;
  content: "";
  left: -1.2rem;
  bottom: 2.6rem;
  width: 1.3rem;
  height: 0.9rem;
  background: url("../images/saveair/c-item-arrow.svg");
}
.c-item-saveair__desc span {
  border-bottom: 2px solid #ebae3d;
}
.c-item-saveair__figure {
  text-align: center;
}
.c-item-saveair__figure img {
  max-height: 4.2rem;
}
.c-item-saveair__cap {
  margin-top: 0.5rem;
  line-height: 1;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-item-saveair__header {
    width: 8rem;
  }
  .c-item-saveair__body {
    flex: 1;
    min-width: 1px;
    padding: 1rem;
  }
  .c-item-saveair__cap {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-saveair__header {
    width: 8.5rem;
  }
  .c-item-saveair__cap {
    font-size: 1.4rem;
  }
  .c-item-saveair__body {
    padding: 0.5rem 1rem 0.5rem 1.5rem;
  }
  .c-item-saveair__desc {
    font-size: 1.5rem;
  }
}
/*---------- LIST ITEM SAVEAIR ----------*/
@media only screen and (max-width: 767px) {
  .c-list-item-saveair--v1 .c-item-saveair:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-item-saveair--v1 .c-item-saveair:not(:first-child) {
    margin-top: 3rem;
  }
}
/*---------- POINT SAVEAIR ----------*/
.c-point-saveair__header {
  display: flex;
  align-items: center;
}
.c-point-saveair__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: 50%;
  background-color: #6b9ccd;
}
.c-point-saveair__tag-text, .c-point-saveair__tag-num {
  color: #ffffff;
  line-height: 1;
  font-weight: 600;
  text-align: center;
}
.c-point-saveair__tag-text {
  margin-bottom: 0.5rem;
  letter-spacing: 0.1em;
}
.c-point-saveair__tag-num {
  letter-spacing: 0.025em;
}
.c-point-saveair__heading {
  flex: 1;
  min-width: 1px;
}
.c-point-saveair__title {
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .c-point-saveair__header {
    gap: 1.2rem;
    margin-bottom: 1rem;
    padding-left: 1rem;
  }
  .c-point-saveair__tag {
    width: 6rem;
    height: 6rem;
  }
  .c-point-saveair__tag-text {
    font-size: 1rem;
  }
  .c-point-saveair__tag-num {
    font-size: 2rem;
  }
  .c-point-saveair__title {
    font-size: 1.9rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-point-saveair__header {
    gap: 1.5rem;
    margin-bottom: 1.5rem;
    padding-left: 0.7rem;
  }
  .c-point-saveair__tag {
    width: 7rem;
    height: 7rem;
  }
  .c-point-saveair__tag-text {
    font-size: 1.2rem;
  }
  .c-point-saveair__tag-num {
    font-size: 2.2rem;
  }
  .c-point-saveair__title {
    font-size: 2.2rem;
  }
}
/*---------- LIST POINT SAVEAIR ----------*/
@media only screen and (max-width: 767px) {
  .c-list-point-saveair--v2 {
    margin-top: 2rem;
  }
  .c-list-point-saveair .c-point-saveair:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-point-saveair--v2 {
    display: flex;
    gap: 1rem;
    margin-top: 3rem;
  }
}
/*---------- GROUP SAVEAIR ----------*/
.c-group-saveair__chart {
  display: flex;
  justify-content: center;
}
.c-group-saveair__title {
  color: #006eb6;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
}
.c-group-saveair__note {
  margin-top: 0.5rem;
  text-align: right;
}
.c-group-saveair__img {
  margin-top: 1rem;
  text-align: center;
}
.c-group-saveair__img img {
  max-height: 22.3rem;
}
.c-group-saveair__body {
  position: relative;
  border-radius: 1rem;
  background-color: #f0f9ff;
}
.c-group-saveair__body::before {
  position: absolute;
  content: "";
}
.c-group-saveair__desc {
  line-height: 1.7;
}

@media only screen and (max-width: 767px) {
  .c-group-saveair__chart {
    margin-bottom: 4rem;
  }
  .c-group-saveair__body {
    padding: 2.5rem 1.5rem 2.5rem 0.5rem;
  }
  .c-group-saveair__body::before {
    top: -3.5rem;
    left: 50%;
    transform: translateX(-50%);
    border-inline: 1.2rem solid transparent;
    border-bottom: 3.5rem solid #f0f9ff;
  }
  .c-group-saveair__title {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-group-saveair__row {
    display: flex;
    align-items: center;
  }
  .c-group-saveair__chart {
    width: 22.3rem;
  }
  .c-group-saveair__body {
    flex: 1;
    margin-left: 5rem;
    padding: 3rem 3rem 3rem 2rem;
  }
  .c-group-saveair__body::before {
    left: -4.5rem;
    bottom: 40%;
    border-block: 1rem solid transparent;
    border-right: 4.5rem solid #f0f9ff;
  }
  .c-group-saveair__title {
    font-size: 2rem;
  }
}
/*---------- SECTION SAVEAIR AWARD ----------*/
.p-saveair-award .p-saveair__desc, .p-saveair-award .p-saveair__subtitle, .p-saveair-award .p-saveair__logo {
  text-align: center;
}
.p-saveair-award .p-saveair__subtitle {
  font-weight: 600;
  color: #006eb6;
}

@media only screen and (max-width: 767px) {
  .p-saveair-award .p-saveair__subtitle {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .p-saveair-award .p-saveair__subtitle {
    font-size: 2.4rem;
  }
}
/*====================================================================================
HOSPITAL PAGE
====================================================================================*/
.p_hospital .ttl-page {
  background: url("../images/hospital/bg_ttl.webp") no-repeat center center/cover;
}

/*---------- BOX COMMENT ----------*/
.c-box-comment {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
.c-box-comment::before {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
}
.c-box-comment__wrap p {
  line-height: 1.5;
  text-align: center;
}

@media only screen and (max-width: 575px) {
  .c-box-comment {
    font-size: 1.2rem;
  }
}
/*---------- BOX COMMENT VERSION 1 ----------*/
.c-box-comment--v1 {
  background-image: url("../images/hospital/c-box-cmt-bg.webp");
}
.c-box-comment--v1::before {
  background-image: url("../images/hospital/c-box-cmt-deco.webp");
}

@media only screen and (max-width: 767px) {
  .c-box-comment--v1 {
    flex: 1;
    min-height: 10.7rem;
    margin-top: 1.5rem;
    padding: 2rem 1.5rem 0.5rem 1.5rem;
  }
  .c-box-comment--v1::before {
    left: 30%;
    bottom: -2.3rem;
    width: 2rem;
    height: 2.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-comment--v1 {
    width: 25.5rem;
    min-height: 12.7rem;
    margin-top: 1.5rem;
    padding: 2.5rem 1.5rem 1rem 1.5rem;
  }
  .c-box-comment--v1::before {
    right: 5rem;
    bottom: -4rem;
    width: 2.7rem;
    height: 3rem;
  }
}
/*---------- BOX COMMENT VERSION 2 ----------*/
.c-box-comment--v2 {
  background-image: url("../images/hospital/c-box-cmt-bg2.webp");
}
.c-box-comment--v2::before {
  background-image: url("../images/hospital/c-box-cmt-deco2.webp");
}

@media only screen and (max-width: 767px) {
  .c-box-comment--v2 {
    width: 47%;
    min-height: 12rem;
    padding: 1.5rem 1rem 0.5rem 1rem;
  }
  .c-box-comment--v2::before {
    right: 40%;
    bottom: -2.5rem;
    width: 2.1rem;
    height: 2.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-comment--v2 {
    width: 30.5rem;
    min-height: 14.6rem;
    padding: 1.5rem 1.5rem 1rem 1.5rem;
  }
  .c-box-comment--v2::before {
    left: 10.5rem;
    bottom: -4.5rem;
    width: 2.6rem;
    height: 2.8rem;
  }
}
/*---------- BOX COMMENT VERSION 3 ----------*/
.c-box-comment--v3 {
  background-image: url("../images/hospital/c-box-cmt-bg3.webp");
}
.c-box-comment--v3::before {
  background-image: url("../images/hospital/c-box-cmt-deco3.webp");
}

@media only screen and (max-width: 767px) {
  .c-box-comment--v3 {
    width: 70%;
    min-height: 12rem;
    padding: 1.5rem 1.5rem 0.5rem 1.5rem;
  }
  .c-box-comment--v3::before {
    right: 45%;
    bottom: -3.5rem;
    width: 1.6rem;
    height: 2.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-comment--v3 {
    width: 24.5rem;
    min-height: 13.1rem;
    padding: 1.5rem 1.5rem 1rem 1.5rem;
  }
  .c-box-comment--v3::before {
    right: 8rem;
    bottom: -4rem;
    width: 1.9rem;
    height: 3.1rem;
  }
}
/*---------- BOX COMMENT VERSION 4 ----------*/
.c-box-comment--v4 {
  background-image: url("../images/hospital/c-box-cmt-bg4.webp");
}
.c-box-comment--v4::before {
  background-image: url("../images/hospital/c-box-cmt-deco4.webp");
}

@media only screen and (max-width: 767px) {
  .c-box-comment--v4 {
    width: 45%;
    min-height: 12.1rem;
    padding: 2rem 1rem 0.5rem 1rem;
  }
  .c-box-comment--v4::before {
    right: 10%;
    bottom: -2rem;
    width: 3.5rem;
    height: 1.7rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-comment--v4 {
    width: 28rem;
    min-height: 14.1rem;
    padding: 2rem 1.5rem 1rem 1.5rem;
  }
  .c-box-comment--v4::before {
    bottom: -0.5rem;
    right: -2rem;
    width: 4.2rem;
    height: 2.4rem;
  }
}
/*---------- BOX COMMENT VERSION 5 ----------*/
.c-box-comment--v5 {
  margin-top: 2.5rem;
  background-image: url("../images/hospital/c-box-cmt-bg5.webp");
}
.c-box-comment--v5::before {
  bottom: 0;
  background-image: url("../images/hospital/c-box-cmt-deco5.webp");
}

@media only screen and (max-width: 767px) {
  .c-box-comment--v5 {
    flex: 1;
    min-height: 12.5rem;
    padding: 2rem 1rem 0.5rem 1rem;
  }
  .c-box-comment--v5::before {
    right: 50%;
    bottom: -2.5rem;
    width: 2.4rem;
    height: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-comment--v5 {
    width: 28.3rem;
    min-height: 14.5rem;
    padding: 2.5rem 1.5rem 1rem 1.5rem;
  }
  .c-box-comment--v5::before {
    left: -2rem;
    width: 2.9rem;
    height: 2.4rem;
  }
}
/*---------- LIST BOX COMMENT VERSION 1 ----------*/
.c-list-box-comment {
  display: flex;
  align-items: start;
  justify-content: center;
}

/*---------- LIST BOX COMMENT VERSION 1 ----------*/
@media only screen and (max-width: 767px) {
  .c-list-box-comment--v1 {
    gap: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-box-comment--v1 {
    gap: 13rem;
  }
}
/*---------- LIST BOX COMMENT VERSION 2 ----------*/
@media only screen and (min-width: 768px) {
  .c-list-box-comment--v2 {
    margin-top: -4rem;
  }
}
/*---------- LIST BOX COMMENT VERSION 3 ----------*/
@media only screen and (max-width: 767px) {
  .c-list-box-comment--v3 {
    gap: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-box-comment--v3 {
    gap: 23rem;
    margin-top: -7rem;
    padding-right: 4rem;
  }
}
/*---------- GROUP COMMENT ----------*/
.c-group-comment__img {
  text-align: center;
}
.c-group-comment__img img {
  max-width: 20.4rem;
}

@media only screen and (min-width: 768px) {
  .c-group-comment__img {
    margin-top: -3.5rem;
  }
}
/*---------- BOX LOGO ----------*/
.c-box-logo__title {
  margin-bottom: 1rem;
  font-weight: 600;
  text-align: center;
}
.c-box-logo__heading {
  position: relative;
  width: 85%;
  margin-inline: auto;
  padding: 0.9rem;
  border-radius: 3rem;
  background-color: #006eb6;
  color: #ffffff;
  text-align: center;
}
.c-box-logo__heading-text {
  font-weight: 600;
  line-height: 1.5;
}
.c-box-logo__body {
  padding: 2rem 1.5rem;
  border-radius: 1rem;
  background-color: #f8fdff;
}
.c-box-logo__item {
  display: flex;
  justify-content: center;
}
.c-box-logo__item img {
  width: auto;
}
.c-box-logo__item-logo {
  line-height: 1;
  text-align: center;
}
.c-box-logo__item-text {
  display: block;
  line-height: 1;
  margin-bottom: 1rem;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-box-logo__title {
    font-size: 1.4rem;
  }
  .c-box-logo__header {
    margin-bottom: -2.2rem;
  }
  .c-box-logo__heading-text {
    font-size: 1.8rem;
  }
  .c-box-logo__item:not(:first-child) {
    margin-top: 2rem;
  }
  .c-box-logo__item-text {
    font-size: clamp(1.1rem, 3.2vw, 1.4rem);
  }
}
@media only screen and (min-width: 768px) {
  .c-box-logo__title {
    font-size: 1.8rem;
  }
  .c-box-logo__header {
    margin-bottom: -2.7rem;
  }
  .c-box-logo__heading-text {
    font-size: 2.4rem;
  }
  .c-box-logo__item:not(:first-child) {
    margin-top: 3rem;
  }
  .c-box-logo__item-text {
    font-size: 1.8rem;
  }
  .c-box-logo__body {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
/*---------- BOX LOGO VERSION 1,4,5 ----------*/
.c-box-logo--v1 .c-box-logo__body,
.c-box-logo--v4 .c-box-logo__body {
  border: 2px solid #006eb6;
}
.c-box-logo--v1 .c-box-logo__item,
.c-box-logo--v4 .c-box-logo__item {
  color: #006eb6;
}

/*---------- BOX LOGO VERSION 1 ----------*/
.c-box-logo--v1 .c-box-logo__item:last-child img {
  max-height: 7.5rem;
}
.c-box-logo--v1 .c-box-logo__item:first-child img {
  max-height: 6.6rem;
}

@media only screen and (max-width: 767px) {
  .c-box-logo--v1 .c-box-logo__body {
    padding: 2rem 1.5rem 2rem 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-logo--v1 .c-box-logo__item:last-child {
    min-height: 11.3rem;
  }
  .c-box-logo--v1 .c-box-logo__item:first-child {
    min-height: 10.5rem;
  }
  .c-box-logo--v1 .c-box-logo__body {
    height: 31.5rem;
    padding: 3rem 2rem 3rem 2rem;
  }
}
/*---------- BOX LOGO VERSION 2 ----------*/
.c-box-logo--v2 .c-box-logo__body {
  border: 2px solid #f5a500;
}
.c-box-logo--v2 .c-box-logo__item {
  color: #006eb6;
}
.c-box-logo--v2 .c-box-logo__item-text {
  color: #f5a500;
}
.c-box-logo--v2 .c-box-logo__item img {
  max-height: 8.2rem;
}

@media only screen and (min-width: 768px) {
  .c-box-logo--v2 {
    margin-top: 4rem;
  }
  .c-box-logo--v2 .c-box-logo__body {
    height: 19.5rem;
  }
}
/*---------- BOX LOGO VERSION 3 ----------*/
.c-box-logo--v3 .c-box-logo__body {
  border: 2px solid #00a8e3;
}
.c-box-logo--v3 .c-box-logo__item {
  color: #00a8e3;
}
.c-box-logo--v3 .c-box-logo__item img {
  max-height: 7rem;
}

@media only screen and (min-width: 768px) {
  .c-box-logo--v3 .c-box-logo__body {
    height: 16rem;
  }
}
/*---------- BOX LOGO VERSION 4 ----------*/
.c-box-logo--v4 .c-box-logo__item:first-child img {
  max-height: 7.8rem;
}
.c-box-logo--v4 .c-box-logo__item:last-child img {
  max-height: 2.2rem;
}

/*---------- BOX LOGO VERSION 5 ----------*/
.c-box-logo--v5 .c-box-logo__body {
  border: 2px solid #ff5500;
}
.c-box-logo--v5 .c-box-logo__item {
  color: #ff5500;
}
.c-box-logo--v5 .c-box-logo__item img {
  max-height: 2.2rem;
}

@media only screen and (min-width: 768px) {
  .c-box-logo--v5 .c-box-logo__body {
    height: 11rem;
  }
}
/*---------- LIST BOX LOGO ----------*/
@media only screen and (max-width: 767px) {
  .c-list-box-logo .c-box-logo:not(:first-child) {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-box-logo {
    display: flex;
    flex-direction: column;
  }
  .c-list-box-logo .c-box-logo:not(:first-child) {
    margin-top: 3rem;
  }
}
/*---------- GROUP LOGO ----------*/
.c-group-logo {
  border-radius: 2rem;
  border: 4px solid #f9be00;
  background-color: #f0f8fd;
  overflow: hidden;
}
.c-group-logo__header {
  background-color: #f9be00;
}
.c-group-logo__title {
  color: #ffffff;
  text-align: center;
}
.c-group-logo__title-text, .c-group-logo__title-logo {
  display: block;
}
.c-group-logo__title-text {
  font-weight: 600;
}
.c-group-logo__title-logo {
  margin: 1rem 0;
}
.c-group-logo__title-logo img {
  width: auto;
  max-height: 3.7rem;
}

@media only screen and (max-width: 767px) {
  .c-group-logo__header {
    padding: 2rem 1.5rem;
  }
  .c-group-logo__body {
    padding: 3rem 1.5rem;
  }
  .c-group-logo__title-text {
    font-size: 1.4rem;
  }
  .c-group-logo__lists .c-list-box-logo:not(:first-child) {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-group-logo__header {
    padding: 3rem;
  }
  .c-group-logo__body {
    padding: 5rem 3rem;
  }
  .c-group-logo__title-text {
    font-size: 1.8rem;
  }
  .c-group-logo__lists {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
  }
}
/*---------- GROUP LOGO VERSION 2 ----------*/
/*---------- GROUP LOGO VERSION 2 ----------*/
@media only screen and (min-width: 768px) {
  .c-group-logo--v2 .c-box-logo:not(:first-child) {
    margin-top: 4rem;
  }
  .c-group-logo--v2 .c-box-logo--v1 .c-box-logo__item,
  .c-group-logo--v2 .c-box-logo--v4 .c-box-logo__item {
    display: flex;
    align-items: center;
  }
  .c-group-logo--v2 .c-box-logo--v4 .c-box-logo__item:first-child {
    min-height: 11.3rem;
  }
  .c-group-logo--v2 .c-box-logo--v4 .c-box-logo__item:last-child {
    min-height: 10.5rem;
  }
  .c-group-logo--v2 .c-box-logo--v1 .c-box-logo__title {
    display: flex;
    align-items: end;
    justify-content: center;
    min-height: 5.7rem;
  }
  .c-group-logo--v2 .c-box-logo--v4 .c-box-logo__body {
    min-height: 31.5rem;
  }
  .c-group-logo--v2 .c-box-logo--v5 .c-box-logo__body {
    min-height: 16rem;
  }
}
/*---------- HEADING CHILD ----------*/
.c-heading-child {
  position: relative;
  padding: 0.6rem 1rem;
  background-color: #006eb6;
}
.c-heading-child::before {
  position: absolute;
  content: "";
  left: 50%;
  bottom: -2.2rem;
  transform: translateX(-50%);
  border-inline: 2.2rem solid transparent;
  border-block-start: 2.3rem solid #006eb6;
}
.c-heading-child__title {
  color: #ffffff;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-heading-child__title {
    font-size: 2rem;
  }
  .c-heading-child__title strong {
    font-size: 3.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-child__title {
    font-size: 3rem;
  }
  .c-heading-child__title strong {
    font-size: 4.5rem;
  }
}
/*---------- HEADING MAIN ----------*/
.c-heading-main__outer {
  display: flex;
  justify-content: center;
}
.c-heading-main__inner {
  border-radius: 3rem;
  border: 2px solid #006eb6;
  background-color: #ffffff;
  text-align: center;
}
.c-heading-main__title {
  line-height: 1.5;
  font-weight: 600;
}
.c-heading-main .c-text-note {
  text-align: right;
}

@media only screen and (max-width: 767px) {
  .c-heading-main__inner {
    min-width: 18rem;
    padding: 0.8rem 3.5rem;
  }
  .c-heading-main__title {
    font-size: 2rem;
  }
  .c-heading-main .c-text-note {
    margin-top: 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-main__inner {
    min-width: 19rem;
    padding: 0.8rem 4.5rem;
  }
  .c-heading-main__title {
    font-size: 2.4rem;
  }
}
/*---------- CARD HOSPITAL ----------*/
.c-card-hospital {
  padding: 1rem 1rem 1.5rem 1rem;
  border-radius: 2rem;
  border: 1px solid #006eb6;
  background-color: #e8f4fd;
}
.c-card-hospital__img img {
  width: 100%;
  border-radius: 1rem;
}
.c-card-hospital__title {
  margin-top: 1.5rem;
  color: #006eb6;
  font-weight: 600;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-card-hospital__title {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-hospital__title {
    font-size: 1.8rem;
  }
}
/*---------- LIST CARD HOSPITAL ----------*/
.c-list-card-hospital {
  display: grid;
}

@media only screen and (max-width: 767px) {
  .c-list-card-hospital {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-hospital {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
/*---------- GROUP HOSPITAL ----------*/
.c-group-hospital {
  max-width: 61rem;
  margin-inline: auto;
}

/*---------- PANEL CHILD ----------*/
.c-panel-child:nth-child(odd) {
  background-color: #f0f8fd;
}
.c-panel-child__title {
  margin-inline: -0.5rem;
}
.c-panel-child__title img {
  width: auto;
}
.c-panel-child__title-text, .c-panel-child__title-logo {
  display: block;
  text-align: center;
}
.c-panel-child__title-text {
  line-height: 1.5;
  font-weight: 600;
}
.c-panel-child .c-text-section {
  text-align: center;
}
.c-panel-child__btn {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-panel-child {
    padding-bottom: 5rem;
  }
  .c-panel-child .c-heading-child {
    margin-bottom: 3rem;
  }
  .c-panel-child__title {
    margin-bottom: 2.5rem;
  }
  .c-panel-child__title-text {
    margin-bottom: 1rem;
    font-size: 1.6rem;
  }
  .c-panel-child__title-logo--v1 img {
    max-height: 2.5rem;
  }
  .c-panel-child__title-logo--v2 img {
    max-height: 6.5rem;
  }
  .c-panel-child__title-logo--v3 img {
    max-height: 5.5rem;
  }
  .c-panel-child__title-logo--v4 img {
    max-height: 2.6rem;
  }
  .c-panel-child__title-logo--v5 img {
    max-height: 8rem;
  }
  .c-panel-child__btn, .c-panel-child__btns {
    margin-top: 3.5rem;
  }
  .c-panel-child__btns {
    text-align: center;
  }
  .c-panel-child__btns .c-btn:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-panel-child {
    padding-bottom: 10rem;
  }
  .c-panel-child .c-heading-child {
    margin-bottom: 6rem;
  }
  .c-panel-child__title {
    margin-bottom: 4rem;
  }
  .c-panel-child__title-text {
    margin-bottom: 2rem;
    font-size: 2.4rem;
  }
  .c-panel-child__title-logo--v1 img {
    max-height: 3.7rem;
  }
  .c-panel-child__title-logo--v2 img {
    max-height: 8.4rem;
  }
  .c-panel-child__title-logo--v3 img {
    max-height: 7rem;
  }
  .c-panel-child__title-logo--v4 img {
    max-height: 2.8rem;
  }
  .c-panel-child__title-logo--v5 img {
    max-height: 9.2rem;
  }
  .c-panel-child__btn, .c-panel-child__btns {
    margin-top: 7rem;
  }
  .c-panel-child__btns {
    display: flex;
    justify-content: center;
    gap: 4rem;
  }
}
/*---------- CARD CHILD ----------*/
.c-card-child__title, .c-card-child__subtitle, .c-card-child__desc {
  text-align: center;
}
.c-card-child__title, .c-card-child__subtitle {
  line-height: 1.5;
  font-weight: 600;
}
.c-card-child__title {
  color: #006eb6;
}
.c-card-child__item {
  position: relative;
  padding-left: 2rem;
  font-size: 1.3rem;
  line-height: 1.7;
}
.c-card-child__item:not(:first-child) {
  margin-top: 0.3rem;
}
.c-card-child__item::before {
  position: absolute;
  content: "";
  top: 0.4rem;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  background: url("../images/common_img/c-icon-check-blue.webp") no-repeat center center/100% auto;
}
.c-card-child__img {
  text-align: center;
}
.c-card-child__img img {
  width: 100%;
}

@media only screen and (min-width: 576px) {
  .c-card-child {
    display: grid;
    grid-template-rows: subgrid;
  }
}
@media only screen and (max-width: 767px) {
  .c-card-child__title, .c-card-child__subtitle {
    margin-bottom: 1.2rem;
  }
  .c-card-child__title {
    font-size: 1.9rem;
  }
  .c-card-child__subtitle {
    font-size: 1.5rem;
  }
  .c-card-child__img {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-child__title, .c-card-child__subtitle {
    margin-bottom: 1.5rem;
  }
  .c-card-child__title {
    font-size: 2.4rem;
  }
  .c-card-child__subtitle {
    font-size: 1.8rem;
  }
  .c-card-child__img {
    margin-top: 2rem;
  }
}
/*---------- CARD CHILD ----------*/
.c-card-child--white {
  border: 1px solid #e3e3e3;
  background-color: #ffffff;
}

@media only screen and (min-width: 576px) {
  .c-card-child--white {
    grid-row: span 3;
  }
}
@media only screen and (max-width: 767px) {
  .c-card-child--white {
    padding: 2rem 1.5rem 1.5rem 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-child--white {
    padding: 2rem;
  }
}
/*---------- CARD CHILD BLUE ----------*/
.c-card-child--light-blue {
  border: 1px solid #e3e3e3;
  background-color: #f5fdff;
}

@media only screen and (min-width: 576px) {
  .c-card-child--light-blue {
    grid-row: span 4;
  }
}
@media only screen and (max-width: 767px) {
  .c-card-child--light-blue {
    padding: 2rem 1.5rem 1.5rem 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-child--light-blue {
    padding: 3rem;
  }
}
/*---------- CARD CHILD ----------*/
.c-list-card-child {
  display: grid;
}

/*---------- CARD CHILD ----------*/
@media only screen and (max-width: 575px) {
  .c-list-card-child .c-card-child:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-card-child--2col {
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 3rem;
  }
}
/*---------- CARD CHILD ----------*/
.c-list-card-child--4col {
  grid-column-gap: 2rem;
}

@media only screen and (max-width: 575px) {
  .c-list-card-child--4col .c-card-child:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-card-child--4col {
    grid-template-columns: repeat(2, 1fr);
  }
  .c-list-card-child--4col .c-card-child:not(:first-child):not(:nth-child(2)) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-child--4col {
    grid-template-columns: repeat(4, 1fr);
  }
  .c-list-card-child--4col .c-card-child:not(:first-child):not(:nth-child(2)):not(:nth-child(3)):not(:nth-child(4)) {
    margin-top: 2rem;
  }
}
/*---------- VIDEO YOUTUBE ----------*/
.c-video-youtube__wrap {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.c-video-youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*---------- CARD FACTORY ----------*/
.c-card-factory {
  position: relative;
  padding: 0 2rem 2rem 2rem;
  border: 1px solid #ececec;
  background-color: #f5fdff;
}
.c-card-factory:not(:last-child)::before {
  position: absolute;
  content: "";
}
.c-card-factory__tag {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -1.5rem;
  margin-bottom: 2rem;
  background-color: #006eb6;
}
.c-card-factory__tag-text {
  color: #ffffff;
  line-height: 1;
  font-weight: 600;
}
.c-card-factory__title {
  margin-bottom: 2rem;
  color: #006eb6;
  font-weight: 600;
}
.c-card-factory__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 3rem;
  background-color: #ffffff;
  border: 2px solid #006eb6;
  color: #006eb6;
  line-height: 1.5;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .c-card-factory:not(:last-child)::before {
    left: 50%;
    bottom: -2rem;
    transform: translateX(-50%);
    border-inline: 2rem solid transparent;
    border-top: 2rem solid #000000;
  }
  .c-card-factory__tag {
    width: 5.5rem;
    height: 5.5rem;
  }
  .c-card-factory__tag-text {
    font-size: 2.4rem;
  }
  .c-card-factory__title {
    font-size: 1.9rem;
  }
  .c-card-factory__item {
    height: 5rem;
    font-size: 1.4rem;
  }
  .c-card-factory__item:not(:first-child) {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-factory {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
  .c-card-factory:not(:last-child)::before {
    top: 50%;
    right: -2rem;
    transform: translateY(-50%);
    border-top: 2rem solid transparent;
    border-left: 2rem solid #000000;
    border-bottom: 2rem solid transparent;
  }
  .c-card-factory__tag {
    width: 6rem;
    height: 6rem;
  }
  .c-card-factory__tag-text {
    font-size: 3rem;
  }
  .c-card-factory__title {
    font-size: 2.4rem;
  }
  .c-card-factory__item {
    height: 6rem;
    font-size: 1.6rem;
  }
  .c-card-factory__item:not(:first-child) {
    margin-top: 2rem;
  }
}
/*---------- CARD FACTORY ----------*/
@media only screen and (max-width: 767px) {
  .c-list-card-factory .c-card-factory:not(:first-child) {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-factory {
    display: grid;
    column-gap: 2.5rem;
    grid-template-columns: repeat(3, 1fr);
  }
  .c-list-card-factory .c-card-factory:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) {
    margin-top: 2.5rem;
  }
}
/*---------- CHART FACTORY ----------*/
.c-chart-factory__text, .c-chart-factory__item {
  font-weight: 600;
}
.c-chart-factory__text {
  margin-bottom: 2rem;
}

@media only screen and (max-width: 767px) {
  .c-chart-factory__item {
    font-size: 1.7rem;
    line-height: 1.7;
  }
}
@media only screen and (min-width: 768px) {
  .c-chart-factory__item {
    font-size: 2rem;
  }
}
/*---------- CHART HOSPITAL ----------*/
.c-chart-hospital {
  max-width: 40rem;
}
.c-chart-hospital .c-title-char {
  margin-bottom: 0.7rem;
}
.c-chart-hospital__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0.5rem;
}
.c-chart-hospital__title {
  color: #006eb6;
  line-height: 1.3;
  font-weight: 600;
}
.c-chart-hospital__note {
  line-height: 1.5;
}
.c-chart-hospital__row {
  display: flex;
}
.c-chart-hospital__left {
  width: 47%;
}
.c-chart-hospital__right {
  flex: 1;
  padding-top: 1rem;
}
.c-chart-hospital__item-heading {
  padding: 0.5rem;
  border-radius: 2rem;
  background-color: #f53f00;
  text-align: center;
}
.c-chart-hospital__item-title {
  color: #ffffff;
  font-weight: 600;
}
.c-chart-hospital__item-body {
  position: relative;
  display: flex;
  justify-content: center;
  padding-top: 1rem;
}
.c-chart-hospital__item-text {
  position: relative;
  line-height: 1.35;
  font-weight: 600;
  text-align: left;
}
.c-chart-hospital__item-text::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: url("./../images/hospital/c-chart-hospital-arrow.svg") no-repeat center center/100% auto;
}
.c-chart-hospital__item-text strong {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-chart-hospital {
    margin-inline: auto;
  }
  .c-chart-hospital__heading {
    min-height: 5.5rem;
    border: 3px solid #006eb6;
  }
  .c-chart-hospital__title {
    font-size: 2rem;
  }
  .c-chart-hospital__desc {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-chart-hospital__heading {
    min-height: 10rem;
    border: 5px solid #006eb6;
  }
  .c-chart-hospital__title {
    font-size: 2.6rem;
  }
  .c-chart-hospital__desc {
    margin-bottom: 2rem;
  }
}
/*---------- CHART HOSPITAL VERSION 1 ----------*/
@media only screen and (max-width: 767px) {
  .c-chart-hospital--v1 .c-chart-hospital__item-title {
    font-size: 1.5rem;
  }
  .c-chart-hospital--v1 .c-chart-hospital__item-text {
    padding-left: 3rem;
    font-size: 2rem;
  }
  .c-chart-hospital--v1 .c-chart-hospital__item-text::before {
    width: 2rem;
    height: 3.5rem;
  }
  .c-chart-hospital--v1 .c-chart-hospital__item-text strong {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-chart-hospital--v1 .c-chart-hospital__item-title {
    font-size: 1.8rem;
  }
  .c-chart-hospital--v1 .c-chart-hospital__item-text {
    padding-left: 4rem;
    font-size: 2.5rem;
  }
  .c-chart-hospital--v1 .c-chart-hospital__item-text::before {
    width: 2.6rem;
    height: 4rem;
  }
  .c-chart-hospital--v1 .c-chart-hospital__item-text strong {
    font-size: 3.5rem;
  }
}
/*---------- CHART HOSPITA VERSION 2 ----------*/
@media only screen and (max-width: 767px) {
  .c-chart-hospital--v2 .c-chart-hospital__item-title {
    font-size: 1.1rem;
  }
  .c-chart-hospital--v2 .c-chart-hospital__item-text {
    padding-left: 3.8rem;
    font-size: 1.3rem;
  }
  .c-chart-hospital--v2 .c-chart-hospital__item-text::before {
    width: 3.2rem;
    height: 5.2rem;
  }
  .c-chart-hospital--v2 .c-chart-hospital__item-text strong {
    font-size: 2.2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-chart-hospital--v2 .c-chart-hospital__item-title {
    font-size: 1.3rem;
  }
  .c-chart-hospital--v2 .c-chart-hospital__item-text {
    padding-left: 4.7rem;
    font-size: 1.4rem;
  }
  .c-chart-hospital--v2 .c-chart-hospital__item-text::before {
    width: 3.8rem;
    height: 6rem;
  }
  .c-chart-hospital--v2 .c-chart-hospital__item-text strong {
    font-size: 2.4rem;
  }
}
/*---------- GROUP CHILD ----------*/
.c-group-child__row {
  display: grid;
}
.c-group-child__desc p {
  text-wrap: balance;
}
.c-group-child__subtitle, .c-group-child__text {
  font-weight: 600;
}
.c-group-child__subtitle {
  letter-spacing: 0.05em;
}
.c-group-child__text strong {
  color: #22529c;
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .c-group-child__row {
    gap: 2.5rem;
  }
  .c-group-child__right {
    grid-row: 1/1;
    grid-column: 1/1;
  }
  .c-group-child__arrow {
    text-align: center;
    margin-bottom: 1rem;
  }
  .c-group-child__arrow img {
    width: 3rem;
  }
  .c-group-child__subtitle, .c-group-child__text {
    text-align: center;
  }
  .c-group-child__desc p:not(:first-child) {
    margin-top: 1.8rem;
  }
  .c-group-child__subtitle {
    font-size: 1.8rem;
  }
  .c-group-child__text {
    font-size: 1.8rem;
  }
  .c-group-child__text strong {
    font-size: 3.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-group-child__row {
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem;
  }
  .c-group-child__desc {
    max-width: 45rem;
    margin-left: auto;
  }
  .c-group-child__desc p:not(:first-child) {
    margin-top: 3rem;
  }
  .c-group-child__subtitle {
    font-size: 2.4rem;
  }
  .c-group-child__text {
    font-size: 3rem;
  }
  .c-group-child__text p {
    position: relative;
    display: inline-block;
    padding-left: 11rem;
  }
  .c-group-child__text p::before {
    position: absolute;
    content: "";
    top: 1.5rem;
    left: 0;
    width: 11.9rem;
    height: 28.6rem;
    background: url("../images/hospital/c-group-child-arrow.webp") no-repeat center center/100% auto;
  }
  .c-group-child__text strong {
    font-size: 5rem;
  }
}
/*---------- GROUP CHILD VERSION 2 ----------*/
@media only screen and (min-width: 768px) {
  .c-group-child--v2 .c-group-child__row {
    align-items: start;
  }
}
/*---------- ITEM CHILD ----------*/
.c-item-child {
  display: flex;
  align-items: center;
}
.c-item-child__left {
  flex: 1;
}
.c-item-child__right {
  width: 14.5rem;
  text-align: center;
}
.c-item-child__title {
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-item-child__title {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-item-child__title {
    font-size: 2.4rem;
  }
}
/*---------- LIST ITEM CHILD ----------*/
.c-list-item-child {
  max-width: 36.5rem;
}

@media only screen and (max-width: 767px) {
  .c-list-item-child {
    margin-inline: auto;
  }
  .c-list-item-child .c-item-child:not(:first-child) {
    margin-top: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-item-child {
    margin-left: auto;
  }
  .c-list-item-child .c-item-child:not(:first-child) {
    margin-top: 5rem;
  }
}
/*---------- BOX CHILD ----------*/
.c-box-child {
  text-align: center;
  border: 2px solid #b7b7b7;
}
.c-box-child__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 1.5rem;
}
.c-box-child .c-btn {
  margin-top: 2rem;
  min-height: 6rem;
}

@media only screen and (max-width: 575px) {
  .c-box-child {
    padding: 2.5rem 2rem 2rem 2rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-box-child {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    padding: 3.5rem 2rem 2rem 2rem;
  }
}
/*---------- LIST BOX CHILD ----------*/
@media only screen and (max-width: 575px) {
  .c-list-box-child .c-box-child:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
  .c-list-box-child {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
  }
  .c-list-box-child .c-box-child:not(:first-child):not(:nth-child(2)) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 576px) {
  .c-list-box-child {
    display: grid;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-box-child {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 4rem;
  }
  .c-list-box-child .c-box-child:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) {
    margin-top: 4rem;
  }
}
/*---------- CARD PAGE ----------*/
.c-card-page {
  border-radius: 1rem;
  background-color: #e9f5f8;
}
.c-card-page__figure {
  position: relative;
  margin-bottom: 1.5rem;
  overflow: hidden;
  background-color: #ffffff;
}

.c-card-page__img {
  width: 100%;
  border-radius: 0.6rem;
}
.c-card-page__cap {
  position: absolute;
  top: 0;
  left: 0;
  color: #0067ac;
  line-height: 1;
  font-weight: 600;
}
.c-card-page__cap::before {
  position: absolute;
  content: "";
  border-radius: 10rem;
  background-color: #e9f5f8;
}
.c-card-page__cap span {
  position: relative;
  z-index: 2;
}
.c-card-page__title {
  position: relative;
  color: #0067ac;
  text-align: center;
  width: 90%;
  margin: 0 auto;
  font-size: 2.5rem;
  margin-top: 1rem;
}
.c-card-page__title .c-card-page__title-number {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(15%);
  font-size: 2rem !important;
}
.c-card-page__desc {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  height: 465px;
  justify-content: space-between;
}

@media only screen and (max-width: 767px) {
  .c-card-page {
    padding: 1rem;
  }
  .c-card-page__cap {
    font-size: 1.5rem;
  }
  .c-card-page__cap::before {
    top: -3rem;
    left: -3rem;
    width: 6rem;
    height: 6rem;
  }
  .c-card-page__desc {
    height: auto;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-page {
    padding: 1.5rem;
  }
  .c-card-page__cap {
    font-size: 1.8rem;
  }
  .c-card-page__cap::before {
    top: -3.5rem;
    left: -3.5rem;
    width: 7rem;
    height: 7rem;
  }
}
/*---------- LIST CARD PAGE ----------*/
@media only screen and (max-width: 767px) {
  .c-list-card-page .c-card-page:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-page {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3rem;
  }
  .c-list-card-page .c-card-page {
    width: calc(33.333% - 2rem);
  }
}
/*---------- GROUP PAGE ----------*/
.c-group-page {
  background-color: #ffffff;
}
.c-group-page__header {
  text-align: center;
}
.c-group-page__heading {
  display: inline-block;
  border-radius: 0.6rem;
  background-color: #22529c;
}
.c-group-page__title, .c-group-page__subtitle {
  font-weight: 600;
  line-height: 1.5;
}
.c-group-page__title {
  color: #ffffff;
}
.c-group-page__subtitle, .c-group-page__img {
  text-align: center;
}
.c-group-page__subtitle strong {
  color: #22529c;
  line-height: 1;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .c-group-page {
    padding: 3rem 1.5rem 1.5rem 1.5rem;
  }
  .c-group-page__heading {
    padding: 1rem 1.5rem;
  }
  .c-group-page__title {
    font-size: 2rem;
  }
  .c-group-page__subtitle small {
    font-size: 1.6rem;
  }
  .c-group-page__subtitle span {
    font-size: 2.2rem;
    border-bottom: 4px solid #f18301;
  }
  .c-group-page__subtitle strong {
    font-size: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-group-page {
    padding: 6rem;
  }
  .c-group-page__heading {
    padding: 1.4rem 3rem;
  }
  .c-group-page__title, .c-group-page__subtitle {
    letter-spacing: 0.1em;
  }
  .c-group-page__title {
    font-size: 3rem;
  }
  .c-group-page__subtitle small {
    font-size: 2.4rem;
  }
  .c-group-page__subtitle span {
    font-size: 3rem;
    border-bottom: 6px solid #f18301;
  }
  .c-group-page__subtitle strong {
    font-size: 5rem;
  }
}
/*---------- HEADING INQUIRY ----------*/
.c-heading-inquiry {
  text-align: center;
}
.c-heading-inquiry__title, .c-heading-inquiry__text {
  font-weight: 600;
}
.c-heading-inquiry__title {
  letter-spacing: 0.1em;
}
.c-heading-inquiry__title strong {
  color: #006eb6;
  line-height: 1;
  letter-spacing: normal;
}

@media only screen and (max-width: 767px) {
  .c-heading-inquiry__left {
    margin-bottom: 1.5rem;
  }
  .c-heading-inquiry__left img {
    width: 12rem;
  }
  .c-heading-inquiry__title {
    font-size: 2rem;
  }
  .c-heading-inquiry__title strong {
    font-size: 4.9rem;
  }
  .c-heading-inquiry__text {
    margin-top: 0.5rem;
    font-size: 1.4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-heading-inquiry {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
  }
  .c-heading-inquiry__title {
    font-size: 4rem;
  }
  .c-heading-inquiry__title strong {
    font-size: 8.9rem;
  }
  .c-heading-inquiry__text {
    font-size: 2rem;
  }
}
/*---------- BLOCK CHILD ----------*/
.c-block-inquiry {
  background-color: #ffffff;
}
.c-block-inquiry__header {
  text-align: center;
}
.c-block-inquiry__heading {
  position: relative;
  display: inline-block;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  background-color: #f9a01b;
  border-radius: 0.6rem;
}
.c-block-inquiry__heading::after {
  content: "";
  position: absolute;
  bottom: -1rem;
  left: 50%;
  width: 0;
  height: 0;
  border-inline: 1rem solid transparent;
  border-top: 1rem solid #f9a01b;
  transform: translateX(-50%);
}
.c-block-inquiry__left {
  font-weight: 600;
  text-align: center;
}
.c-block-inquiry__item {
  text-align: center;
}
.c-block-inquiry__item .c-btn {
  min-height: 6rem;
}
.c-block-inquiry__item .c-btn:hover::before {
  border-color: #76b41c;
}
.c-block-inquiry__item .c-btn:hover .c-btn__text {
  color: #76b41c;
}
.c-block-inquiry__item .c-btn .c-btn__text.R-problem {
  margin-top: 7px;
}

@media only screen and (max-width: 767px) {
  .c-block-inquiry {
    padding: 2.5rem 1.5rem;
  }
  .c-block-inquiry__header {
    margin-top: -2.3rem;
  }
  .c-block-inquiry__heading {
    padding: 1rem;
    font-size: 1.4rem;
  }
  .c-block-inquiry__left {
    margin-bottom: 2rem;
    line-height: 1.7;
  }
  .c-block-inquiry__item:not(:first-child) {
    margin-top: 1.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-block-inquiry {
    padding: 7rem 5rem;
  }
  .c-block-inquiry__header {
    margin-top: -3rem;
  }
  .c-block-inquiry__heading {
    padding: 1.2rem 4.5rem 1.2rem 4.5rem;
    font-size: 2rem;
  }
  .c-block-inquiry__row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5rem;
  }
  .c-block-inquiry__left {
    font-size: 1.7rem;
    line-height: 2.2;
    letter-spacing: 0.05em;
  }
  .c-block-inquiry__item:not(:first-child) {
    margin-top: 2rem;
  }
  .c-block-inquiry__item .c-btn {
    width: 35rem;
  }
}
/*---------- SECTION CHILD INQUIRY ----------*/
.p-child-inquiry {
  background-color: #f1f6fe;
}

/*---------- CARD INQUIRY ----------*/
.c-card-inquiry {
  background-color: #ffffff;
  text-align: center;
}
.c-card-inquiry__title--has-icon::before {
  position: absolute;
  content: "";
  width: 3.6rem;
  height: 3.8rem;
  background: url("../images/common_img/c-icon-question-blue.webp") no-repeat center center/100% auto;
}
.c-card-inquiry__title, .c-card-inquiry__desc {
  font-weight: 600;
}
.c-card-inquiry__title {
  position: relative;
  display: inline-block;
  margin-bottom: 1rem;
  line-height: 1.5;
}
.c-card-inquiry__btn {
  margin-top: 2rem;
}

@media only screen and (max-width: 767px) {
  .c-card-inquiry {
    padding: 2.5rem 2rem 2rem 2rem;
  }
  .c-card-inquiry__title {
    margin-bottom: 1.5rem;
    font-size: 2rem;
  }
  .c-card-inquiry__title--has-icon::before {
    top: -2rem;
    right: -3.5rem;
    transform: scale(0.85);
  }
  .c-card-inquiry__desc {
    font-size: 1.2rem;
  }
  .c-card-inquiry__btn .c-btn {
    max-width: 24rem;
  }
  .c-card-inquiry__btn .c-btn__text {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-inquiry {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    padding: 3.5rem 2rem 2rem 2rem;
  }
  .c-card-inquiry__heading {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .c-card-inquiry__title {
    font-size: 2.4rem;
  }
  .c-card-inquiry__title--has-icon::before {
    top: -2.5rem;
    right: -4rem;
  }
  .c-card-inquiry__desc {
    font-size: 1.4rem;
  }
  .c-card-inquiry__btn .c-btn {
    max-width: 29rem;
    min-height: 6rem;
    background-color: #e56d03;
    color: #ffffff;
    border: 1px solid #e56d03;
  }
  .c-card-inquiry__btn .c-btn:hover {
    background-color: #ffffff;
  }
  .c-card-inquiry__btn .c-btn:hover::before {
    border-color: #e56d03;
  }
  .c-card-inquiry__btn .c-btn:hover .c-btn__text {
    color: #e56d03;
  }
  .c-card-inquiry__btn .c-btn__text {
    font-size: 1.8rem;
  }
}
/*---------- CARD INQUIRY BLUE ----------*/
.c-card-inquiry--blue .c-card-inquiry__title {
  color: #006eb6;
}

/*---------- LIST CARD INQUIRY ----------*/
@media only screen and (max-width: 767px) {
  .c-list-card-inquiry .c-card-inquiry:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-inquiry {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 4rem;
  }
  .c-list-card-inquiry .c-card-inquiry:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) {
    margin-top: 4rem;
  }
}
/*---------- TAGE CASE ----------*/
.c-tag-case {
  display: grid;
  align-items: start;
  font-weight: 600;
}
.c-tag-case__label {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background-color: #006eb6;
  text-align: center;
}
.c-tag-case__label p {
  color: #ffffff;
  line-height: 1;
}
.c-tag-case__title {
  line-height: 1.5;
}

@media only screen and (max-width: 767px) {
  .c-tag-case {
    grid-template-columns: 8rem 1fr;
    gap: 1rem;
  }
  .c-tag-case__label {
    height: 3.5rem;
  }
  .c-tag-case__label p {
    font-size: 1.6rem;
  }
  .c-tag-case__title {
    font-size: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-tag-case {
    grid-template-columns: 10rem 1fr;
    gap: 2rem;
  }
  .c-tag-case__label {
    height: 4rem;
  }
  .c-tag-case__label p {
    font-size: 2rem;
  }
  .c-tag-case__title {
    font-size: 3rem;
  }
}
/*---------- POST CASE ----------*/
.c-post-case {
  display: flex;
}
.c-post-case__img img {
  width: 100%;
}
.c-post-case__title {
  color: #006eb6;
  font-weight: 600;
}
.c-post-case__table table {
  width: 100%;
  table-layout: fixed;
}
.c-post-case__table th,
.c-post-case__table td {
  border: 1px solid #cccccc;
}
.c-post-case__table th {
  width: 35%;
  background-color: #f7f7f7;
}

@media only screen and (max-width: 767px) {
  .c-post-case {
    flex-direction: column-reverse;
  }
  .c-post-case__right {
    margin-bottom: 2rem;
  }
  .c-post-case__table th,
  .c-post-case__table td {
    padding: 1rem;
  }
  .c-post-case .c-title-block {
    margin-bottom: 1.5rem;
  }
  .c-post-case__title {
    margin-bottom: 1rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-post-case {
    flex-wrap: wrap;
    gap: 3.5rem;
  }
  .c-post-case__left {
    flex: 1;
  }
  .c-post-case__right {
    width: 50%;
  }
  .c-post-case__table th,
  .c-post-case__table td {
    padding: 1.5rem;
  }
  .c-post-case .c-title-block {
    margin-bottom: 2rem;
  }
  .c-post-case__title {
    margin-bottom: 1.2rem;
    font-size: 2rem;
  }
}
/*---------- LIST POST CASE ----------*/
@media only screen and (max-width: 767px) {
  .c-list-post-case .c-post-case:not(:first-child) {
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-post-case .c-post-case:not(:first-child) {
    margin-top: 3rem;
  }
}
/*---------- PANEL CASE ----------*/
.c-panel-case__title {
  font-weight: 600;
  color: #006eb6;
}

@media only screen and (max-width: 767px) {
  .c-panel-case__header {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
  }
  .c-panel-case__title {
    margin-top: 1rem;
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-panel-case__header {
    margin-bottom: 3.5rem;
    padding-bottom: 2rem;
  }
  .c-panel-case__title {
    margin-top: 1.5rem;
    font-size: 2.4rem;
  }
}
/*---------- LIST PANEL CASE ----------*/
@media only screen and (max-width: 767px) {
  .c-list-panel-case .c-panel-case:not(:first-child) {
    margin-top: 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-panel-case .c-panel-case:not(:first-child) {
    margin-top: 8rem;
  }
}
/*---------- BLOCK CHILD ----------*/
.c-block-child {
  text-align: center;
}
.c-block-child__title, .c-block-child__subtitle {
  font-weight: 600;
}
.c-block-child__title {
  margin-bottom: 1rem;
  letter-spacing: 0.1em;
}
.c-block-child__title strong {
  color: #006eb6;
  line-height: 1;
  letter-spacing: normal;
}

@media only screen and (max-width: 767px) {
  .c-block-child__title {
    font-size: 2rem;
  }
  .c-block-child__title strong {
    font-size: 4.9rem;
  }
  .c-block-child__subtitle {
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .c-block-child__subtitle small {
    font-size: 1.4rem;
  }
  .c-block-child__btn {
    margin-top: 3rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-block-child__title {
    font-size: 4rem;
  }
  .c-block-child__title strong {
    font-size: 8.9rem;
  }
  .c-block-child__subtitle {
    font-size: 3rem;
    line-height: 2;
  }
  .c-block-child__subtitle small {
    font-size: 2.4rem;
  }
  .c-block-child__btn {
    margin-top: 6rem;
  }
}
/*---------- ITEM HOSPITAL ----------*/
.c-item-hospital {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.c-item-hospital__arrow {
  width: 6.1rem;
  line-height: 1;
}
.c-item-hospital__text {
  flex: 1;
  min-width: 1px;
  font-weight: 600;
}
.c-item-hospital__text p {
  margin-bottom: 0 !important;
  text-align: left !important;
}

/*---------- LIST HOSPITAL ----------*/
@media only screen and (max-width: 767px) {
  .c-list-hospital .c-item-hospital:not(:first-child) {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-hospital {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 2.5rem;
  }
}
/*====================================================================================
AIRPORATOR PAGE
====================================================================================*/
/*---------- TABLE AIRPORATOR ----------*/
.c-table-airporator table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-style: hidden;
}
.c-table-airporator thead tr {
  border-top: 2px solid #898989;
}
.c-table-airporator thead th:first-child {
  width: 15%;
}
.c-table-airporator thead th:nth-child(3) {
  border-left: 1px solid #ffffff;
}
.c-table-airporator thead th:last-child {
  width: 30%;
}
.c-table-airporator tbody th,
.c-table-airporator tbody td {
  border-top: 1px solid rgba(150, 150, 150, 0.75);
}
.c-table-airporator tbody td {
  border-left: 1px solid rgba(150, 150, 150, 0.75);
}
.c-table-airporator__outer {
  padding-top: 1.5rem;
}
.c-table-airporator__inner {
  border: 2px solid #898989;
  border-radius: 0.6rem 0 0.6rem 0.6rem;
}
.c-table-airporator__heading {
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
}
.c-table-airporator__heading--v1, .c-table-airporator__heading--v2 {
  padding: 0.8rem;
}
.c-table-airporator__heading--v1 {
  background-color: rgba(150, 150, 150, 0.15);
}
.c-table-airporator__heading--v2 {
  background-color: #898989;
  color: #ffffff;
  border-top: 2px solid #898989;
}
.c-table-airporator__heading--v3 {
  position: relative;
  z-index: 2;
  vertical-align: top;
  background-color: #006eb6;
  color: #ffffff;
}
.c-table-airporator__heading--v3::before {
  position: absolute;
  content: "";
  top: -1.9rem;
  left: -2px;
  right: -2px;
  bottom: -1px;
  border-radius: 1rem 1rem 0 0;
  background-color: #006eb6;
}
.c-table-airporator__heading--v3 p {
  position: relative;
  z-index: 2;
  margin-top: -0.3rem;
}
.c-table-airporator__heading--v4 {
  background-color: rgba(150, 150, 150, 0.15);
}
.c-table-airporator__box {
  line-height: 1.5;
  text-align: center;
}
.c-table-airporator__box--v2 {
  position: relative;
  background-color: #fffcdc;
  border-left: 3px solid #006eb6 !important;
}
.c-table-airporator__box--v2::before {
  position: absolute;
  content: "";
  top: -3px;
  right: -2px;
  width: 3px;
  height: calc(100% + 3px);
  background-color: #006eb6;
}
.c-table-airporator__box--last {
  border-bottom-right-radius: 0.6rem;
}
.c-table-airporator__box--last::after {
  position: absolute;
  content: "";
  left: -3px;
  bottom: -2px;
  width: calc(100% + 5px);
  height: 3px;
  background-color: #006eb6;
}
.c-table-airporator__box-icon {
  margin-bottom: 0.5rem;
}
.c-table-airporator__box-icon img {
  width: auto;
}
.c-table-airporator__box-text {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-table-airporator__outer {
    width: 84rem;
  }
  .c-table-airporator__heading--v1 {
    font-size: 1.4rem;
  }
  .c-table-airporator__heading--v2 {
    font-size: 1.6rem;
  }
  .c-table-airporator__heading--v3 {
    font-size: 2rem;
  }
  .c-table-airporator__box {
    font-size: 1.4rem;
    padding: 1rem 0.5rem;
  }
  .c-table-airporator__box-img img {
    max-width: 10rem;
    max-height: 10rem;
  }
  .c-table-airporator__box-icon img {
    height: 2.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-table-airporator__heading--v1 {
    font-size: 1.6rem;
  }
  .c-table-airporator__heading--v2 {
    font-size: 1.8rem;
  }
  .c-table-airporator__heading--v3 {
    font-size: 2.4rem;
  }
  .c-table-airporator__box {
    font-size: 1.6rem;
    padding: 1.5rem 1rem;
  }
  .c-table-airporator__box-icon img {
    height: 3.5rem;
  }
}
/*====================================================================================
OTHER PAGE
====================================================================================*/
/*---------- BANNER OTHER ----------*/
.c-bnr-other {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-bnr-other img {
    height: 16rem;
    object-fit: cover;
  }
}
/*---------- POST OTHER ----------*/
.c-post-other__title {
  margin-bottom: 1.5rem;
  font-weight: 600;
  text-align: center;
}
.c-post-other__desc {
  margin-top: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .c-post-other__title {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-post-other__title {
    font-size: 2rem;
  }
}
/*---------- LIST POST OTHER ----------*/
.c-list-post-other {
  display: grid;
  gap: 2rem;
}

@media only screen and (min-width: 768px) {
  .c-list-post-other {
    grid-template-columns: repeat(3, 1fr);
  }
}
/*====================================================================================
FACTORY PAGE
====================================================================================*/
.p_factory .ttl-page {
  background: url("../images/factory/bg_ttl.webp") no-repeat center center/cover;
}

/*====================================================================================
SEARCH PAGE
====================================================================================*/
.p_search2 .ttl-page {
  background: url("../images/search2/bg_ttl.webp") no-repeat center center/cover;
}

/*---------- BOX SEARCH ----------*/
.c-box-search__title {
  font-weight: 600;
}
.c-box-search__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.c-box-search__item {
  padding: 0.2rem 1.1rem;
  background-color: #e9f6fe;
  color: #006eb6;
  font-size: 1.4rem;
  line-height: 1.5;
  font-weight: 400;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .c-box-search__title {
    margin-bottom: 0.5rem;
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-box-search__title {
    margin-bottom: 0.7rem;
    font-size: 1.8rem;
  }
}
/*---------- LIST BOX SEARCH ----------*/
.c-list-box-search .c-box-search:not(:first-child) {
  margin-top: 1.7rem;
}

/*---------- CARD SEARCH ----------*/
.c-card-search {
  border: 2px solid #b7b7b7;
}
.c-card-search__link {
  text-decoration: none;
}
.c-card-search__title {
  color: #006eb6;
  font-weight: 600;
}
.c-card-search__img {
  overflow: hidden;
}
.c-card-search__img img {
  width: 100%;
}
.c-card-search__footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.c-card-search__footer .c-card-search__btn:only-child {
  grid-column: 1 / -1;
  justify-self: center;
  width: calc((100% - 1rem) / 2);
}
.c-card-search__footer .c-btn {
  height: 100%;
}
.c-card-search__footer .c-btn::before {
  right: 1rem;
}

@media only screen and (max-width: 767px) {
  .c-card-search {
    padding: 2.5rem 1.5rem 2.5rem 1.5rem;
  }
  .c-card-search__title {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
  .c-card-search__img {
    margin-bottom: 2rem;
  }
  .c-card-search__footer {
    gap: 1rem;
    margin-top: 2.5rem;
  }
  .c-card-search__footer .c-btn {
    min-height: 5rem;
    padding: 0.5rem 2rem 0.5rem 0.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-card-search {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    padding: 4rem 3rem 4rem 3rem;
  }
  .c-card-search__link:hover img {
    opacity: 1;
    transform: scale(1.05);
  }
  .c-card-search__title {
    margin-right: -1rem;
    margin-bottom: 3rem;
    font-size: 2.3rem;
  }
  .c-card-search__footer {
    gap: 2rem;
  }
  .c-card-search__footer .c-card-search__btn:only-child {
    width: calc((100% - 2rem) / 2);
  }
  .c-card-search__footer .c-btn {
    min-height: 6rem;
    padding: 1rem 2rem 1rem 1rem;
  }
}
/*---------- LIST CARD SEARCH ----------*/
.c-img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*---------- LIST CARD SEARCH ----------*/
.c-list-card-search {
  display: grid;
}

@media only screen and (max-width: 767px) {
  .c-list-card-search {
    gap: 2.5rem;
  }
}
@media only screen and (min-width: 768px) {
  .c-list-card-search {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.5rem;
  }
}