@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Outfit:wght@500;600&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp_s.css?display=swap");
author {
  author-name: micci;
  last-update: 20250618;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
  overflow-y: scroll;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

:where(:not(h1,h2,h3,h4,h5,div,span,p,th,td,li,dt,dd,a)) {
  line-height: 1;
}

:where(audio, canvas, video) {
  display: inline-block;
}

:where(div,section,article,main,aside,nav,header,footer,
video,canvas,audio,
h1,h2,h3,h4,h5,
p,a,span,address,time,
img,figure,figcaption,
li,dl,dt,dd,
form,fieldset,textarea,input,
iframe,blockquote,q,
table,caption,tbody,tfoot,thead,th,td) {
  border: 0;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  color: black;
  font-family: YakuHanJPs, "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: 400;
  font-size: clamp(1.5rem, 0.508rem + 1.154vw, 1.8rem);
  overflow-wrap: anywhere;
  text-align: justify;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

picture {
  display: block;
  font-size: 0;
}

fieldset, img {
  border: 0;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

caption, em, address {
  font-style: normal;
}

sup, sub {
  position: relative;
  margin: 0 1px 0 0;
  font-size: 0.75em;
  line-height: 0;
}

input[type=text],
input[type=email],
input[type=tel],
button, textarea, select, option {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
  max-width: 100%;
}

:where(button, [type="button"], [type="reset"], [type="submit"]) {
  touch-action: manipulation;
}

a {
  background: transparent;
  color: #008092;
  outline: 0;
}
@media (any-hover: hover) {
  a:hover {
    text-decoration: none;
  }
}
a:focus-visible {
  box-shadow: 0 0 3px #008092;
}
a.exWindow {
  background-image: url("data:image/svg+xml,%3Csvg height='256' viewBox='0 0 512 512' width='256' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%230c44c3'%3E%3Cpath d='m96 0v416h416v-416zm376 376h-336v-336h336z'/%3E%3Cpath d='m40 472v-176-160-40h-40v416h416v-40h-40z'/%3E%3Cpath d='m232.812 312.829 117.859-117.86v84.797h40v-153.078h-153.077v40h84.796l-117.859 117.859z'/%3E%3C/g%3E%3C/svg%3E");
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 14px auto;
  padding-right: 16px;
}
@media screen and (min-width: 768px) {
  a.exWindow {
    background-size: 16px auto;
    padding-right: 18px;
  }
}
@media (any-hover: hover) {
  a.exWindow:hover {
    text-decoration: underline;
  }
}
a.exWin, a.exPdf {
  background-position: right center;
  background-repeat: no-repeat;
  margin-right: 6px;
  padding-right: 20px;
}
a.exWin {
  background-image: url("/resources/images/icon/ico_window.svg");
  background-size: 13px auto;
}
a.exPdf {
  background-image: url("/resources/images/icon/ico_pdf.svg");
  background-size: 11px auto;
}

@media screen and (min-width: 768px) {
  .indnt_link {
    display: inline-block;
    padding-left: 2em;
    text-indent: -2em;
  }
}

header {
  background-color: white;
  border-top: 8px solid #008092;
  padding: 10px 16px 18px;
}
@media screen and (min-width: 768px) {
  header {
    border-top-width: 5px;
    padding-block: 30px;
  }
}
@media screen and (min-width: 768px) {
  header .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 20px;
    max-width: 1120px;
    margin-inline: auto;
  }
}

.header_logo {
  background: url("/resources/images/common/logo_ej.svg") no-repeat;
  background-size: contain;
  width: 287px;
  height: 31px;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .header_logo {
    width: 444px;
    height: 47px;
    margin-top: 0;
  }
}

.header_des {
  background: url("/resources/images/common/logo_des.svg") no-repeat;
  background-size: contain;
  width: 149px;
  height: 11px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .header_des {
    width: 170px;
    height: 11px;
    margin-top: 0;
  }
}

.header_catch {
  font-weight: 700;
  font-size: 1.2rem;
  white-space: nowrap;
  line-height: 1.5;
}

footer {
  position: relative;
  background-color: black;
  margin-top: 168px;
  padding-block: 0 16px;
  color: #969696;
}
@media screen and (min-width: 768px) {
  footer {
    margin-top: 0;
    padding-block: 0 30px;
  }
}
footer .inner {
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: 16px;
  padding-top: 0.1px;
}
@media screen and (min-width: 768px) {
  footer .inner {
    padding-inline: 0;
  }
}
footer .flex {
  flex-direction: column;
  gap: 2em;
}
@media screen and (min-width: 768px) {
  footer .flex {
    justify-content: space-between;
    flex-direction: row;
  }
}
footer a {
  color: #969696;
  text-decoration-line: none;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  footer a {
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  footer a:hover {
    text-decoration-line: underline;
  }
}
footer h2 {
  background: url("/resources/images/common/logo_dowahd.svg") no-repeat;
  background-size: contain;
  width: 210px;
  height: 53px;
  margin: 45px auto 40px;
}
@media screen and (min-width: 768px) {
  footer h2 {
    width: 240px;
    height: 58px;
    margin-block: 50px;
  }
}
footer ul {
  display: flex;
  flex-direction: column;
  gap: 0.75em;
}
@media screen and (min-width: 768px) {
  footer ul {
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 2em;
  }
}

small {
  font-size: 1rem;
}

.pagetop_area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  background-color: white;
  width: 100%;
  min-height: 105px;
  font-family: "Outfit", "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
}
@media screen and (max-width: 767.99px) {
  .pagetop_area {
    padding-block: 30px;
    z-index: 1;
  }
}

.pagetop {
  display: flex;
  align-items: center;
  position: relative;
  width: 120px;
  height: 28px;
  padding-left: 45px;
  color: black;
  font-size: 1.4rem;
  transition: opacity 0.2s;
}
.pagetop::before, .pagetop::after {
  display: block;
  content: "";
  position: absolute;
}
.pagetop::before {
  left: 0;
  background-color: #008092;
  border-radius: 50%;
  width: 28px;
  height: 28px;
}
.pagetop::after {
  top: 12px;
  left: 10px;
  border-top: 1px solid white;
  border-left: 1px solid white;
  width: 7px;
  height: 7px;
  transform: rotate(45deg);
}
@media (any-hover: hover) {
  .pagetop:hover {
    opacity: 0.5;
  }
}

.sp_cta {
  display: flex;
  gap: 10px;
  width: 100%;
  padding-inline: 8px;
}
@media screen and (min-width: 768px) {
  .sp_cta {
    display: none;
  }
}
.sp_cta a {
  justify-content: flex-start;
  width: 50%;
  margin-block: 30px 0;
}
.sp_cta a:hover {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .column_side_cta {
    background-color: white;
    padding-block: 8px 12px;
  }
  .column_side_cta .btn {
    margin-block: 16px;
  }
  .column_side_cta .btn.whitepaper {
    padding-inline: 10px 25px;
  }

  .column_side form {
    background-color: white;
    border-top: 1px dashed #969696;
    padding-block: 36px;
    text-align: center;
  }
  .column_side form input[type=search] {
    border: 1px solid #969696;
    width: auto;
    max-width: 260px;
    height: 50px;
  }
  .column_side form input[type=submit] {
    right: 20px;
    height: 50px;
  }

  .column_side_links {
    padding: 16px 40px 40px;
  }
  .column_side_links .btn {
    justify-content: flex-start;
    background-color: white;
    border-radius: 10px;
    height: 50px;
    margin-block: 20px;
    padding-inline: 0 30px;
    color: #008092;
    font-weight: 500;
    font-size: 1.4rem;
  }
  .column_side_links .btn i {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
  }
  .column_side_links .btn_arrow::after {
    right: 20px;
    border-top-color: #008092;
    border-right-color: #008092;
    border-top-width: 1px;
    border-right-width: 1px;
    width: 8px;
    height: 8px;
  }

  .column_side_links h3 {
    border-bottom: 2px solid white;
    margin-block: 4em 1em;
    padding-bottom: 1em;
    font-size: 1.6rem;
  }
  .column_side_links .column_side_theme a,
.column_side_links .column_side_tag a {
    display: inline-block;
    color: #454545;
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 2;
  }
  .column_side_links .column_side_theme a:hover,
.column_side_links .column_side_tag a:hover {
    text-decoration: underline;
  }
  .column_side_links .column_side_theme li::before {
    display: inline-block;
    content: "";
    background-color: #454545;
    width: 0.3em;
    height: 2px;
    margin-right: 0.2em;
    vertical-align: middle;
  }
  .column_side_links .column_side_tag {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25em 1em;
  }
}
.column_wrapper {
  display: flex;
  justify-content: space-between;
  column-gap: 70px;
  max-width: 1120px;
  margin-inline: auto;
  margin-top: 32px;
}
@media screen and (min-width: 768px) {
  .column_wrapper {
    margin-top: 72px;
  }
}
.column_wrapper:has(.column_narrow, .column_wide, .column_other) {
  justify-content: center;
}
@media screen and (max-width: 767.99px) {
  .column_wrapper:has(.column_narrow, .column_wide, .column_other) {
    padding-bottom: 32px;
    padding-inline: 16px;
  }
}
@media screen and (min-width: 768px) {
  .column_wrapper:has(.column_narrow, .column_wide, .column_other) {
    margin-bottom: 72px;
  }
}
@media screen and (min-width: 768px) {
  .column_wrapper:has(.column_narrow) {
    width: 750px;
  }
}
@media screen and (min-width: 768px) {
  .column_wrapper:has(.column_wide) {
    width: 900px;
  }
}
@media screen and (min-width: 768px) {
  .column_wrapper:has(.column_other) {
    width: 750px;
  }
}

.column_main {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .column_main {
    max-width: 750px;
  }
}
.column_main > :first-of-type {
  margin-top: 0;
}

.column_side {
  display: none;
}
@media screen and (min-width: 768px) {
  .column_side {
    flex-shrink: 0;
    display: block;
    background-color: #f0f4f1;
    width: 300px;
  }
  main.top .column_side {
    margin-top: 23px;
  }
  main.top .column_side .article_space {
    padding-top: 0;
  }
}
.column_side:not(:has(.article_space)) {
  border-top: 1px solid #969696;
}

.column_narrow,
.column_wide {
  width: 100%;
}

.column_narrow {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .column_narrow {
    width: 750px;
  }
}

.column_wide {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .column_wide {
    width: 900px;
  }
}

form {
  position: relative;
  margin-inline: auto;
}
.sp_menu_body form {
  position: relative;
  margin-block: 32px;
}

.form_top {
  background-color: #f0f4f1;
  padding-block: 0.1px;
}
.form_top form {
  max-width: 414px;
  margin-block: 28px;
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .form_top form {
    margin-block: 40px;
  }
}
.form_top form input[type=submit] {
  right: 16px;
}

form input[type=search] {
  background: white url("/resources/images/icon/ico_search.png") right 20px center no-repeat;
  border-radius: 10px;
  width: 100%;
  height: 60px;
  padding-inline: 20px 56px;
  font-family: inherit;
  font-size: 1.6rem;
}
form input[type=submit] {
  position: absolute;
  right: 0;
  background-color: transparent;
  width: 56px;
  height: 60px;
  font-size: 0rem;
  cursor: pointer;
}
form.prev_list_search {
  width: 100%;
  max-width: 400px;
  margin-inline: auto;
}
form.prev_list_search input[type=search] {
  background-image: url("/resources/images/icon/ico_search_gray.png");
  border: 1px solid #969696;
  font-size: 1.8rem;
}
form.prev_list_search input[type=search]::placeholder {
  color: #969696;
}

.sp_menu {
  display: none;
}
@media screen and (max-width: 767.99px) {
  .sp_menu {
    display: block;
  }
}
.sp_menu a {
  color: white;
  text-decoration: none;
}

.label_menuSwitch {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  background-color: #008092;
  width: 70px;
  height: 70px;
  cursor: pointer;
  z-index: 10;
  transform: translate3d(0, 0, 10px);
}

.input_menuSwitch[type=checkbox] + label.label_menuSwitch::before {
  content: none;
}

.input_menuSwitch[type=checkbox] + label.label_menuSwitch::after {
  content: none;
}

.menuSwitch_line {
  background-color: white;
  position: absolute;
  left: 21px;
  right: 21px;
  height: 2px;
  transition: all 0.25s ease-out;
}
.menuSwitch_line:nth-of-type(1) {
  top: 24px;
}
.menuSwitch_line:nth-of-type(2) {
  top: 33px;
}
.menuSwitch_line:nth-of-type(3) {
  top: 42px;
}

.input_menuSwitch {
  position: fixed;
  top: 0;
  left: -100%;
}
.input_menuSwitch:focus ~ .label_menuSwitch {
  outline: none;
}
.input_menuSwitch:checked ~ .label_menuSwitch .menuSwitch_line:not(:first-child):not(:last-child) {
  opacity: 0;
}
.input_menuSwitch:checked ~ .label_menuSwitch .menuSwitch_line:first-child,
.input_menuSwitch:checked ~ .label_menuSwitch .menuSwitch_line:last-child {
  background-color: white;
}
.input_menuSwitch:checked ~ .label_menuSwitch .menuSwitch_line:first-child {
  transform: translateY(9px) rotate(215deg);
}
.input_menuSwitch:checked ~ .label_menuSwitch .menuSwitch_line:last-child {
  transform: translateY(-9px) rotate(-215deg);
}

.toggleNav {
  position: fixed;
  top: 0;
  right: 0;
  min-width: 100vw;
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  opacity: 0;
  z-index: -1;
  transition: all 0.2s linear;
}
.toggleNav.active {
  background-color: #008092;
  opacity: 1;
  z-index: 3;
}

:root:has(body.active) {
  overflow: hidden;
}

.sp_menu_title {
  display: flex;
  align-items: center;
  position: fixed;
  z-index: 1;
  background-color: white;
  border-top: 8px solid #008092;
  width: 100%;
  height: 72px;
}
.sp_menu_title h2 {
  background: url("/resources/images/common/logo_ej.svg") no-repeat;
  background-size: contain;
  width: 270px;
  height: 29px;
  margin-block: 0;
  margin-left: 16px;
}
.sp_menu_title h2 a {
  display: block;
}

.sp_menu_body {
  padding: 80px 16px 0;
}

.sp_menu_body form {
  position: relative;
  margin-block: 32px;
}
.sp_menu_body input[type=search] {
  background: white url("/resources/images/icon/ico_search.png") right 20px center no-repeat;
  border-radius: 10px;
  width: 100%;
  height: 60px;
  padding-inline: 20px 56px;
  font-family: inherit;
  font-size: 1.6rem;
}
.sp_menu_body input[type=submit] {
  position: absolute;
  right: 0;
  background-color: transparent;
  width: 56px;
  height: 60px;
  font-size: 0rem;
  cursor: pointer;
}

.sp_menu_subtitle {
  display: flex;
  align-items: center;
  position: relative;
  border-top: 1px solid #dddddd;
  height: 68px;
  font-weight: 700;
  font-size: 2rem;
}

.sp_menu_theme,
.wp-tag-cloud,
.sp_menu_tag {
  padding-left: 32px;
  font-weight: 500;
  font-size: 1.6rem;
}

.sp_menu_theme li {
  margin-block: 1.5em 1.65em;
}
.sp_menu_theme li a {
  display: block;
  position: relative;
}
.sp_menu_theme li a::after {
  border-top-width: 1px;
  border-right-width: 1px;
}

.wp-tag-cloud,
.sp_menu_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em 1em;
  padding-block: 1.5em;
  padding-right: 48px;
}

.sp_menu_related_link {
  background-color: #f0f4f1;
  margin-inline: -16px;
  margin-top: 50px;
  padding: 0.1px 16px;
}
.sp_menu_related_link a {
  display: flex;
  align-items: center;
  position: relative;
  background-color: white;
  border-radius: 10px;
  height: 60px;
  margin-block: 22px;
  color: #008092;
  font-weight: 500;
  font-size: 1.6rem;
}
.sp_menu_related_link a::after {
  border-top-color: #008092;
  border-right-color: #008092;
}
.sp_menu_related_link i {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 60px;
}

.link_ecopedia i {
  background-image: url("/resources/images/icon/ico_ecopedia.png");
  height: 29px;
}

.link_archive i {
  background-image: url("/resources/images/icon/ico_file.png");
  height: 23px;
}

.sp_menu_cta {
  background-color: white;
  margin-inline: -16px;
  padding-block: 24px;
}
.sp_menu_cta .sp_cta {
  padding-inline: 16px;
}
.sp_menu_cta .sp_cta a {
  margin-block: 0;
}
.sp_menu_cta .btn.contact {
  height: 60px;
  margin-block: 24px 0;
}
.sp_menu_cta .btn.contact::after {
  right: 30px;
}

@media screen and (max-width: 767.99px) {
  .grid_toggle {
    display: grid;
    grid-template-rows: 67px 0fr;
    transition: grid-template-rows 0.2s ease;
    border-top: 1px solid #dddddd;
    width: 100%;
    margin-inline: auto;
    color: white;
  }
  .grid_toggle + .grid_toggle {
    border-bottom: 1px solid #dddddd;
  }
  .grid_toggle.open {
    grid-template-rows: 67px 1fr;
  }

  .toggle_contents {
    overflow-y: hidden;
  }

  .toggle_button {
    display: flex;
    align-items: center;
    position: relative;
    font-weight: 700;
    font-size: 2rem;
  }
  .toggle_button::after {
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
    content: "";
    border-top: 2px solid white;
    border-right: 2px solid white;
    width: 10px;
    height: 10px;
    margin-left: 10px;
    transform: rotate(135deg);
  }
}
@media screen and (max-width: 767.99px) and (min-width: 768px) {
  .toggle_button::after {
    right: 30px;
  }
}
@media screen and (max-width: 767.99px) {
  .grid_toggle.open .toggle_button::after {
    transform: rotate(-45deg);
  }
}
@media screen and (max-width: 767.99px) {
  .toggle_contents_inner {
    padding-bottom: 1em;
  }
}
.text_test {
  margin: 50px auto;
  max-width: 750px;
}
@media screen and (max-width: 767.99px) {
  .text_test {
    padding-inline: 16px;
  }
}

hgroup {
  white-space: nowrap;
}
hgroup h2 {
  margin-block: 11px 0;
  font-size: 2.6rem;
}
hgroup h2::before {
  display: block;
  content: "";
  background-color: #969696;
  width: 100%;
  height: 1px;
  margin-bottom: 14px;
}
hgroup p {
  color: #008092;
  font-family: "Outfit", "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.2rem;
}

article p,
article dl,
article ul,
article ol,
article th,
article td {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767.99px) {
  article p,
article dl,
article ul,
article ol,
article th,
article td {
    line-height: 1.75;
  }
}
article p,
article dl,
article ul,
article ol {
  margin-top: 32px;
}

.note {
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .note {
    font-size: 1.4rem;
  }
}

ul.default,
ol.default {
  padding-left: 2em;
}
@media screen and (max-width: 767.99px) {
  ul.default li,
ol.default li {
    line-height: 1.5;
  }
}
ul.default ul.default,
ul.default ol.default,
ol.default ul.default,
ol.default ol.default {
  margin-top: 0.25em;
}
@media screen and (max-width: 767.99px) {
  ul.default ul.default,
ul.default ol.default,
ol.default ul.default,
ol.default ol.default {
    padding-left: 1em;
  }
}

ul.default {
  list-style: disc;
}

ol.default {
  list-style: decimal;
}

.article_contents dt :first-child,
.article_contents dd :first-child {
  margin-top: 0;
}
.article_contents dt :last-child,
.article_contents dd :last-child {
  margin-bottom: 0;
}

dl::after {
  content: "";
  display: block;
  clear: both;
}
dl.dl2em dt {
  float: left;
  clear: left;
}
dl.dl2em dt.taJ {
  width: 2em;
}
dl.dl2em dd {
  padding-bottom: 5px;
  padding-left: 2.5em;
}
dl.dd2em dd {
  padding-bottom: 3px;
  padding-left: 2em;
}
dl.dl3em dt {
  float: left;
  clear: left;
}
dl.dl3em dt.taJ {
  width: 3em;
}
dl.dl3em dd {
  padding-bottom: 5px;
  padding-left: 3.5em;
}
dl.dd3em dd {
  padding-bottom: 3px;
  padding-left: 3em;
}
dl.dl4em dt {
  float: left;
  clear: left;
}
dl.dl4em dt.taJ {
  width: 4em;
}
dl.dl4em dd {
  padding-bottom: 5px;
  padding-left: 4.5em;
}
dl.dd4em dd {
  padding-bottom: 3px;
  padding-left: 4em;
}
dl.dl5em dt {
  float: left;
  clear: left;
}
dl.dl5em dt.taJ {
  width: 5em;
}
dl.dl5em dd {
  padding-bottom: 5px;
  padding-left: 5.5em;
}
dl.dd5em dd {
  padding-bottom: 3px;
  padding-left: 5em;
}
dl.dl6em dt {
  float: left;
  clear: left;
}
dl.dl6em dt.taJ {
  width: 6em;
}
dl.dl6em dd {
  padding-bottom: 5px;
  padding-left: 6.5em;
}
dl.dd6em dd {
  padding-bottom: 3px;
  padding-left: 6em;
}
dl.dl7em dt {
  float: left;
  clear: left;
}
dl.dl7em dt.taJ {
  width: 7em;
}
dl.dl7em dd {
  padding-bottom: 5px;
  padding-left: 7.5em;
}
dl.dd7em dd {
  padding-bottom: 3px;
  padding-left: 7em;
}
dl.dl8em dt {
  float: left;
  clear: left;
}
dl.dl8em dt.taJ {
  width: 8em;
}
dl.dl8em dd {
  padding-bottom: 5px;
  padding-left: 8.5em;
}
dl.dd8em dd {
  padding-bottom: 3px;
  padding-left: 8em;
}
dl.dl9em dt {
  float: left;
  clear: left;
}
dl.dl9em dt.taJ {
  width: 9em;
}
dl.dl9em dd {
  padding-bottom: 5px;
  padding-left: 9.5em;
}
dl.dd9em dd {
  padding-bottom: 3px;
  padding-left: 9em;
}

.article_contents .qaBox {
  padding-top: 5px;
}
.article_contents .qaBox dt {
  position: absolute;
}
.article_contents .qaBox dd {
  padding: 0 0.3em 0.8em 2em;
}

.txt_underline {
  background: linear-gradient(transparent 0%, transparent 70%, rgba(255, 255, 69, 0.85) 70%, rgba(255, 255, 69, 0.85) 100%);
}

.indnt {
  padding-left: 1em;
  text-indent: -1em;
}

.nowrap {
  white-space: nowrap;
}

.txBold {
  font-weight: 700;
}

.fwB {
  font-weight: 700;
}

.taL {
  text-align: left;
}

.taR {
  text-align: right;
}

.taC {
  text-align: center;
}

.taJ {
  text-align-last: justify;
}

em {
  color: #d00;
}

.article_contents figure {
  display: table;
  margin-block: 32px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .article_contents figure {
    margin-block: 2em;
  }
}
.article_contents figure.flex {
  gap: 8px;
}
.article_contents figure.flex figcaption {
  display: block;
}
.article_contents figcaption {
  display: table-caption;
  caption-side: bottom;
  margin-top: 18px;
  font-size: 1.2rem;
  line-height: 1.5;
}
.article_contents p:has(.flL, .flR) img.flL,
.article_contents p:has(.flL, .flR) img.flR {
  margin-top: 0.5em;
}
.article_contents .flL,
.article_contents .imgLeft {
  float: left;
  margin-right: 1em;
  margin-bottom: 1em;
}
.article_contents .flR,
.article_contents .imgRight {
  float: right;
  margin-left: 1em;
  margin-bottom: 1em;
}
.article_contents p img.flL,
.article_contents p img.imgLeft,
.article_contents p img.flR,
.article_contents p img.imgRight {
  padding-top: 4px;
}
.article_contents p img.flL, .article_contents p img.imgLeft, .article_contents p img.flR, .article_contents p img.imgRight {
  padding-top: 4px;
}
.article_contents p.flL, .article_contents p.imgLeft, .article_contents p.flR, .article_contents p.imgRight {
  margin-block: 0.5em;
}
.article_contents .flN {
  float: none;
}
.article_contents p.flL,
.article_contents p.flR {
  width: auto;
}
@media screen and (max-width: 767.99px) {
  .article_contents p.imgRight,
.article_contents p.imgLeft,
.article_contents img.flL,
.article_contents .imgLeft,
.article_contents img.imgLeft,
.article_contents img.flR,
.article_contents .imgRight,
.article_contents img.imgRight,
.article_contents p img.flL,
.article_contents p img.imgLeft,
.article_contents p img.flR,
.article_contents p img.imgRight {
    max-width: 40%;
  }
}

.frame {
  border-radius: 10px;
  margin-block: 32px;
  padding: 12px 16px;
}
@media screen and (min-width: 768px) {
  .frame {
    padding: 24px 32px;
  }
}
.frame > :first-child {
  margin-top: 0;
}
.frame.border {
  border: 1px solid #008092;
}
.frame.bg {
  background-color: #008092;
  color: white;
}
.frame.bg a {
  color: white;
}
.frame.shadow {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
}

.ranking {
  background-color: #1294ce;
  padding-block: 54px 60px;
}
@media screen and (min-width: 768px) {
  .ranking {
    padding-bottom: 90px;
  }
}
.ranking hgroup {
  max-width: 1120px;
  margin-inline: auto;
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .ranking hgroup {
    padding-inline: 0;
  }
}
.ranking hgroup h2,
.ranking hgroup p {
  color: white;
}
.ranking hgroup h2::before {
  background-color: white;
}

.ranking_badge {
  position: absolute;
  top: -10px;
  left: 0;
  background-color: #5c5843;
  width: 75px;
  height: 21px;
  color: white;
  text-align: center;
  font-family: "Outfit", "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.4rem;
  line-height: 21px;
  z-index: 1;
}
.ranking_badge.no01 {
  background-color: #b9a222;
}
.ranking_badge.no02 {
  background-color: #8d8d8d;
}
.ranking_badge.no03 {
  background-color: #ad6918;
}
.ranking_badge.no04 {
  background-color: #19846c;
}
.ranking_badge.no05 {
  background-color: #266bba;
}

.slider_ranking {
  position: relative;
  padding-inline: 16px;
  padding-block: 32px 72px;
}
@media screen and (min-width: 768px) {
  .slider_ranking {
    max-width: 1840px;
    margin-top: -22px;
    padding-block: 90px 0;
  }
}
.slider_ranking .article_card_dt {
  margin-top: 8px;
  color: #dddddd;
}
.slider_ranking .article_card_dt a {
  color: inherit;
}
.slider_ranking .article_card_title {
  margin-top: 12px;
  color: white;
  font-size: 1.6rem;
  line-height: 1.375;
}
.slider_ranking .article_card_title a {
  color: inherit;
}

.slider_ranking .swiper-horizontal > .swiper-pagination-bullets,
.slider_ranking .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 16px;
}
.slider_ranking .swiper-pagination {
  padding-left: 14px;
  text-align: left;
  font-size: 0rem;
}
.slider_ranking .swiper-pagination-bullet {
  background-color: #606060;
  border-radius: unset;
  width: 17px;
  height: 7px;
  opacity: 1;
}
.slider_ranking .swiper-pagination-bullet-active {
  background-color: white;
}
.slider_ranking .swiper-button-prev,
.slider_ranking .swiper-button-next {
  border: 2px solid white;
  border-radius: 50%;
  top: calc(100% - 20px);
  left: unset;
  right: 16px;
  width: 40px;
  height: 40px;
  color: white;
}
@media screen and (min-width: 768px) {
  .slider_ranking .swiper-button-prev,
.slider_ranking .swiper-button-next {
    top: 22px;
  }
}
.slider_ranking .swiper-button-prev::before,
.slider_ranking .swiper-button-next::before {
  display: block;
  content: "";
  border-top: 2px solid white;
  border-right: 2px solid white;
  width: 10px;
  height: 10px;
}
.slider_ranking .swiper-button-prev {
  right: 72px;
}
@media screen and (min-width: 768px) {
  .slider_ranking .swiper-button-prev {
    right: calc(50% - 500px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1120px) {
  .slider_ranking .swiper-button-prev {
    right: 56px;
  }
}
.slider_ranking .swiper-button-prev::before {
  transform: rotate(-135deg);
}
.slider_ranking .swiper-button-next {
  right: 16px;
}
@media screen and (min-width: 768px) {
  .slider_ranking .swiper-button-next {
    right: calc(50% - 556px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1120px) {
  .slider_ranking .swiper-button-next {
    right: 0;
  }
}
.slider_ranking .swiper-button-next::before {
  transform: rotate(45deg);
}

.cta_contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  row-gap: 32px;
  max-width: 860px;
  margin-inline: auto;
  margin-block: 40px 50px;
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .cta_contact {
    flex-direction: row;
    justify-content: space-between;
    margin-block: 48px 32px;
    padding-inline: 0;
  }
}
.cta_contact .btn {
  width: 280px;
  height: 60px;
  margin: 0;
}
.cta_contact img {
  width: 260px;
}
@media screen and (min-width: 768px) {
  .cta_contact img {
    width: auto;
  }
}
.cta_contact hgroup {
  align-self: flex-start;
  margin-top: 10px;
}
.cta_contact hgroup h2::before {
  width: 55px;
}

.banner_area {
  background-color: #efefef;
  padding-block: 20px;
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .banner_area {
    padding-block: 50px;
  }
}
.banner_area ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 8px;
  max-width: 900px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .banner_area ul {
    gap: 25px;
  }
}
.banner_area li {
  width: calc(50% - 4px);
}
@media screen and (min-width: 768px) {
  .banner_area li {
    width: 200px;
  }
}
.banner_area a {
  display: block;
  background-color: white;
  border-radius: 10px;
  width: 100%;
  aspect-ratio: 2/1;
  overflow: hidden;
}
.banner_area a img {
  min-width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.2s ease;
}
@media (any-hover: hover) {
  .banner_area a:hover img {
    transform: scale(1.1);
  }
}

.column_narrow > :first-child,
.column_wide > :first-child {
  margin-top: 0;
}
.column_narrow h2,
.column_wide h2 {
  margin-block: 2em;
  font-weight: 500;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .column_narrow h2,
.column_wide h2 {
    font-size: 2rem;
  }
}
.column_narrow p,
.column_wide p {
  margin-block: 1em;
  font-size: 1.4rem;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .column_narrow p,
.column_wide p {
    font-size: 1.6rem;
  }
}
.column_narrow .fs_small,
.column_wide .fs_small {
  font-size: 1.2rem;
}

.column_other > :first-child {
  margin-top: 0;
}
.column_other h2,
.column_other h3 {
  font-size: 1.8rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .column_other h2,
.column_other h3 {
    font-size: 2rem;
  }
}
.column_other ul.default,
.column_other ol.default {
  margin-top: 0;
}
.column_other .btn_arrow_back {
  margin-top: 64px;
}
@media screen and (min-width: 768px) {
  .column_other .btn_arrow_back {
    margin-top: 96px;
  }
}

.heading_line {
  border-bottom: 1px solid #dddddd;
  margin-top: 40px;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .heading_line {
    margin-top: 96px;
  }
}

body {
  opacity: 0;
  animation: loadPage 0.1s linear forwards;
}

@keyframes loadPage {
  0% {
    opacity: 0;
  }
  35% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
main:has(article.article_contents) {
  border-top: 1px solid rgba(150, 150, 150, 0.7);
}

main:has(.archive_title.new, .other_title.mail) {
  border-top: unset;
}

.column_wrapper:has(article.article_contents) {
  margin-top: 0;
}

.column_article {
  flex-shrink: 0;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .column_article {
    max-width: 750px;
  }
}

.article_space {
  display: none;
  height: 0;
}
@media screen and (min-width: 768px) {
  .article_space {
    box-sizing: content-box;
    display: block;
    background-color: white;
    border-bottom: 1px solid #969696;
    padding-top: 55px;
  }
}

.article_body {
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .article_body {
    padding-inline: 0;
  }
}
.article_body .entry-content {
  padding-bottom: 60px;
}

.article_title {
  border-bottom: 1px solid rgba(150, 150, 150, 0.7);
  margin-bottom: 20px;
  padding-bottom: 20px;
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .article_title {
    margin-bottom: 32px;
    padding-bottom: 30px;
    padding-inline: 0;
  }
}

.article_contents {
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .article_contents {
    padding-top: 24px;
  }
}
@media screen and (max-width: 767.99px) {
  .article_contents .article_card_dt {
    margin-top: 0;
  }
}
.article_contents .article_card_title {
  display: block;
  margin-top: 12px;
  font-size: 2.2rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .article_contents .article_card_title {
    font-size: 2.8rem;
    line-height: 1.4285;
  }
}
.article_contents .article_card_title span {
  font-size: 75%;
}
.article_contents .article_card_tag {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .article_contents .article_card_tag {
    margin-top: 24px;
  }
}

.heading_plane {
  margin-block: 32px;
  font-size: 2.2rem;
}

.article_contents h2 {
  margin-block: 64px 32px;
}
@media screen and (min-width: 768px) {
  .article_contents h2 {
    letter-spacing: 1px;
  }
}
.article_contents h3,
.article_contents h4,
.article_contents h5 {
  margin-block: 32px;
}
@media screen and (min-width: 768px) {
  .article_contents h3,
.article_contents h4,
.article_contents h5 {
    letter-spacing: 1px;
  }
}
.article_contents h2,
.article_contents .heading_bg {
  display: flex;
  align-items: center;
  background-color: #f0f4f1;
  margin-inline: -16px;
  padding: 16px;
  color: #008092;
  font-size: 2.2rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .article_contents h2,
.article_contents .heading_bg {
    min-height: 70px;
    margin-inline: unset;
    padding: 12px 25px;
  }
}
.article_contents h3,
.article_contents .heading_line_btm {
  background-color: transparent;
  border-bottom: 2px solid black;
  padding: 0 0 10px;
  color: black;
  font-size: 2rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .article_contents h3,
.article_contents .heading_line_btm {
    min-height: unset;
  }
}
.article_contents h4,
.article_contents .heading_bdr_left {
  position: relative;
  background-color: transparent;
  border-bottom: unset;
  padding: 0 0 0 21px;
  color: black;
  font-size: 1.8rem;
  line-height: 1.55;
}
@media screen and (min-width: 768px) {
  .article_contents h4,
.article_contents .heading_bdr_left {
    min-height: unset;
  }
}
.article_contents h4::before,
.article_contents .heading_bdr_left::before {
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  content: "";
  background-color: black;
  width: 5px;
  height: 22px;
}
.article_contents h5,
.article_contents .heading_line_btm_lite {
  background-color: transparent;
  border-bottom: 1px solid #707070;
  padding: 0 0 8px;
  color: #535353;
  font-size: 1.6rem;
  line-height: 1.625;
}
@media screen and (min-width: 768px) {
  .article_contents h5,
.article_contents .heading_line_btm_lite {
    min-height: unset;
  }
}

.article_contents blockquote {
  border-top: 1px solid #969696;
  border-bottom: 1px solid #969696;
  margin-block: 1em;
  padding-block: 1em;
}
.article_contents blockquote > :first-child {
  margin-top: 0;
}
.article_contents blockquote > :last-child {
  margin-bottom: 0;
}
.article_contents blockquote + p.capt {
  margin-top: 0;
}

.article_contents p,
.article_contents dl,
.article_contents ul,
.article_contents ol {
  margin-top: 2em;
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .article_contents p,
.article_contents dl,
.article_contents ul,
.article_contents ol {
    letter-spacing: 0.75px;
    line-height: 2;
  }
}
.article_contents ul,
.article_contents ol {
  padding-left: 2em;
}
.article_contents ul.noMark,
.article_contents ol.noMark {
  list-style: none;
  padding-left: 1em;
}
.article_contents ul ul,
.article_contents ul ol,
.article_contents ol ul,
.article_contents ol ol {
  margin-top: 0;
}
.article_contents ul {
  list-style: disc;
}
.article_contents ol {
  list-style: decimal;
}
.article_contents .capt {
  font-size: 1.2rem;
}

.article_contents .sonomichiq {
  padding-left: 1em;
  text-indent: -1em;
  color: #008092;
}
.article_contents .sonomichiq::before {
  content: "■";
}
.article_contents .borderLineTop {
  border-top: 1px solid #dddddd;
}

.article_contents table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-block: 16px 4px;
}
.article_contents table caption {
  margin-bottom: 0.5em;
  text-align: left;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .article_contents table caption {
    font-size: 1.6rem;
  }
}
.article_contents table th,
.article_contents table td {
  border: 1px solid #969696;
  padding: 6px 8px;
  font-size: 1.4rem;
  vertical-align: top;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .article_contents table th,
.article_contents table td {
    font-size: 1.6rem;
  }
}
.article_contents table th {
  background-color: #efefef;
  text-align: center;
  font-weight: 400;
}
.article_contents table ol,
.article_contents table ul {
  margin-block: 0;
  padding-left: 1.5em;
}
.article_contents table ol,
.article_contents table ul,
.article_contents table dl,
.article_contents table p {
  line-height: 1.5;
}
.article_contents .thLeft th {
  text-align: left;
}
.article_contents .tdCenter td,
.article_contents td.tdCenter {
  text-align: center;
}
.article_contents .tdRight td,
.article_contents td.tdRight {
  text-align: right;
}
.article_contents .tvCenter th,
.article_contents .tvCenter td,
.article_contents .thvCenter th,
.article_contents .tdvCenter td {
  vertical-align: middle;
}

.article_contents figure {
  display: table;
  margin-block: 20px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .article_contents figure {
    margin-block: 32px;
  }
}
.article_contents figure.article_main_image img {
  border-radius: 10px;
}
.article_contents figure.imgRight, .article_contents figure.imgLeft {
  margin-block: 0.5em;
}
.article_contents .post-thumbnail {
  margin-block: 20px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .article_contents .post-thumbnail {
    margin-block: 32px;
  }
}
.article_contents .post-thumbnail img {
  border-radius: 10px;
  height: auto;
}
.article_contents figcaption {
  display: table-caption;
  caption-side: bottom;
  margin-block: 0.5em;
  font-size: 0.875em;
  line-height: 1.25;
}
.article_contents p:has(.flL, .flR) img.flL,
.article_contents p:has(.flL, .flR) img.flR {
  margin-top: 0.5em;
}

.article_contents.narrow img {
  border-radius: 8px;
}
.article_contents.narrow img.square {
  border-radius: 0;
}

.article_contents p:has(img) {
  margin-bottom: 0.5em;
}
.article_contents p:has(img) + p.capt {
  margin-top: 0.5em;
}

.innerImg {
  width: 100%;
  margin-top: 1em;
  overflow: hidden;
}
.innerImg .text {
  width: auto;
  overflow: hidden;
}
@media screen and (max-width: 767.99px) {
  .innerImg .text {
    overflow: visible;
  }
}
.innerImg .text > :first-child {
  margin-top: 0;
}
.innerImg .text > :last-child {
  margin-bottom: 0;
}

.article_contents iframe[src^="https://www.youtube.com/"] {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.textBox {
  border: 1px solid #dddddd;
  margin-block: 16px;
  padding: 0.6em 1em;
}
@media screen and (min-width: 768px) {
  .textBox {
    margin-block: 30px;
  }
}
.textBox > :first-child {
  margin-top: 0;
}
.textBox > :last-child {
  margin-bottom: 0;
}

.borderBox {
  border: 1px solid #dddddd;
  margin-block: 1em;
}

.dowaBox {
  border: 1px solid #008092;
  border-radius: 10px;
  margin-block: 30px;
  padding: 1em;
  color: #008092;
}
.dowaBox :first-child {
  margin-top: 0;
}
.dowaBox :last-child {
  margin-bottom: 0;
}

.article_contents .avatar {
  border: 1px solid rgba(150, 150, 150, 0.7);
  margin-top: 60px;
  padding: 8px;
}
@media screen and (min-width: 768px) {
  .article_contents .avatar {
    margin-top: 80px;
    padding: 10px 15px;
  }
}
.article_contents .avatar p {
  display: flex;
  align-items: center;
  gap: 36px;
  margin-block: 0;
  letter-spacing: initial;
  line-height: 1.75;
}
@media screen and (max-width: 767.99px) {
  .article_contents .avatar p {
    gap: 18px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767.99px) {
  .article_contents .avatar p:has(img:nth-of-type(3)) {
    flex-wrap: wrap;
  }
}
.article_contents .avatar p .imgRight {
  padding-top: 0;
  margin: 0;
}

.toggleMenu {
  border: 1px solid #dddddd;
  margin: 30px 0;
  padding: 7px 10px 5px;
  text-align: center;
}
.toggleMenu p {
  display: inline-block;
  margin: 0;
  text-align: center;
  font-weight: bold;
  font-size: clamp(1.2rem, 1.071rem + 0.357vw, 1.3rem);
}
.toggleMenu p + p {
  color: #008092;
  cursor: pointer;
}
.toggleMenu a:link,
.toggleMenu a:visited {
  color: #008092;
  text-decoration: none;
}
.toggleMenu a:hover {
  text-decoration: underline;
}
.toggleMenu .crnt a {
  font-weight: 700;
  text-decoration: none;
  color: black;
  pointer-events: none;
}
.toggleMenu .crnt a:hover {
  text-decoration: underline;
}
.toggleMenu ul.series li,
.toggleMenu dl.series dt,
.toggleMenu dl.series dd {
  font-size: clamp(1.3rem, 1.054rem + 0.385vw, 1.4rem);
}
.toggleMenu a.arrow {
  position: relative;
  background-position: left center;
  background-repeat: no-repeat;
  padding-left: 1em;
}
.toggleMenu a.arrow::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0.25em;
  background-color: #007b96;
  width: 0.75em;
  height: 0.75em;
  clip-path: polygon(0 0, 0% 100%, 65% 50%);
}

ul.series {
  list-style: none;
  margin: 5px 0 0;
  padding-left: 0;
  text-align: left;
}
ul.series li {
  border-top: 1px dotted #dddddd;
  padding: 6px 0 3px;
}

dl.series {
  margin-top: 5px;
  text-align: left;
}
dl.series dt {
  float: left;
  clear: left;
  padding-top: 6px;
}
dl.series dd {
  border-top: 1px dotted #dddddd;
  padding: 6px 0 3px 8.5em;
}

@media screen and (max-width: 767.99px) {
  .toggleMenu {
    margin: 30px 10px;
    padding: 10px 10px 5px;
    text-align: left;
  }
  .toggleMenu p {
    display: inline-block;
    margin: 0;
    font-weight: bold;
  }
  .toggleMenu p + p {
    color: #008092;
    cursor: pointer;
  }

  ul.series {
    list-style: none;
    margin: 5px 0 0;
    text-align: left;
  }
  ul.series li {
    border-top: 1px dotted #dddddd;
    padding: 6px 0 3px;
  }
  ul.series li a:visited {
    color: #008092;
  }
  ul.series li.crnt a {
    text-decoration: none;
    color: black;
  }
  ul.series li.crnt a:hover {
    text-decoration: underline;
  }

  dl.series dt {
    float: none;
    border-top: 1px dotted #dddddd;
  }
  dl.series dd {
    border-top: none;
    padding: 0 0 3px 0;
  }
}
.article_contents .article_related_links {
  margin-block: 60px;
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .article_contents .article_related_links {
    margin-block: 80px;
    padding-inline: 0;
  }
}
.article_contents .article_related_links h2 {
  background-color: transparent;
  min-height: unset;
  margin: unset;
  padding: 0;
  color: #008092;
  font-size: 2.2rem;
  line-height: 1;
}
.article_contents .article_related_links ul {
  list-style: none;
  margin-top: 14px;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  .article_contents .article_related_links ul {
    margin-top: 20px;
  }
}
.article_contents .article_related_links li + li {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .article_contents .article_related_links li + li {
    margin-top: 20px;
  }
}
.article_contents .article_related_links .article_card {
  display: grid;
  column-gap: 20px;
  grid-template-areas: "image text" "image title";
  background-color: whitesmoke;
  padding: 10px 20px 10px 10px;
}
.article_contents .article_related_links .article_card .article_card_image {
  grid-area: image;
}
.article_contents .article_related_links .article_card .article_card_dt {
  grid-area: text;
}
.article_contents .article_related_links .article_card .article_card_title {
  grid-area: title;
}
.article_contents .article_related_links .article_card_image {
  max-width: 160px;
  aspect-ratio: 16/9;
}
@media screen and (min-width: 768px) {
  .article_contents .article_related_links .article_card_image {
    width: 144px;
  }
}
.article_contents .article_related_links .article_card_dt {
  line-height: 1;
}
@media screen and (max-width: 767.99px) {
  .article_contents .article_related_links .article_card_dt {
    margin-top: 0;
  }
  .article_contents .article_related_links .article_card_dt .article_card_date {
    display: block;
    margin-bottom: 6px;
  }
  .article_contents .article_related_links .article_card_dt .article_card_theme {
    margin-inline: 0;
    font-size: 1rem;
  }
  .article_contents .article_related_links .article_card_dt .article_card_theme::before {
    content: none;
  }
  .article_contents .article_related_links .article_card_dt .article_card_theme + .article_card_theme {
    margin-left: 1em;
  }
}
.article_contents .article_related_links .article_card_title {
  display: -webkit-box;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .article_contents .article_related_links .article_card_title {
    font-size: 1.6rem;
    line-height: 1.625;
  }
}

.article_contents section[id^=section] {
  margin-block: 32px 64px;
}
@media screen and (min-width: 768px) {
  .article_contents section[id^=section] {
    display: grid;
    grid-template-columns: 300px auto;
    grid-template-rows: repeat(3, auto);
    grid-template-areas: "title title" "place place" "image text";
    column-gap: 16px;
  }
}
.article_contents section[id^=section] h2 {
  grid-area: title;
  margin-block: 0;
  margin-inline: 0;
}
.article_contents section[id^=section] h2 + p {
  grid-area: place;
  margin-block: 8px;
}
.article_contents section[id^=section] .image {
  grid-area: image;
  border-radius: 10px;
  margin-block: 8px 12px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .article_contents section[id^=section] .image {
    margin-bottom: 0;
  }
}
.article_contents section[id^=section] .image img {
  border-radius: 10px;
}
.article_contents section[id^=section] .text {
  grid-area: text;
  margin-block: 0;
}
.article_contents section[id^=section] .text p {
  margin-block: 1em;
}
.article_contents section[id^=section] .text > :first-child {
  margin-top: 0;
}
.article_contents section[id^=section] .text > :last-child {
  margin-bottom: 0;
}
.article_contents ul.break {
  list-style: none;
  padding-left: 0;
}
.article_contents .wdh10per {
  width: 10% !important;
}
.article_contents .wdh20per {
  width: 20% !important;
}
.article_contents .wdh30per {
  width: 30% !important;
}
.article_contents .wdh40per {
  width: 40% !important;
}
.article_contents .wdh50per {
  width: 50% !important;
}
.article_contents .wdh60per {
  width: 60% !important;
}
.article_contents .wdh70per {
  width: 70% !important;
}
.article_contents .wdh80per {
  width: 80% !important;
}
.article_contents .wdh90per {
  width: 90% !important;
}
.article_contents .wdh100per {
  width: 100% !important;
}
.article_contents .wdh1em {
  width: 1em !important;
}
.article_contents .wdh2em {
  width: 2em !important;
}
.article_contents .wdh3em {
  width: 3em !important;
}
.article_contents .wdh4em {
  width: 4em !important;
}
.article_contents .wdh5em {
  width: 5em !important;
}
.article_contents .wdh6em {
  width: 6em !important;
}
.article_contents .wdh7em {
  width: 7em !important;
}
.article_contents .wdh8em {
  width: 8em !important;
}
.article_contents .wdh9em {
  width: 9em !important;
}
.article_contents .wdh10em {
  width: 10em !important;
}

.borderLineBtm {
  border-bottom: 1px solid #969696;
  padding-bottom: 14px;
}

.article_card_image {
  display: block;
  border-radius: 10px;
  max-width: 400px;
  margin-inline: auto;
  overflow: hidden;
}
.article_card_image img {
  height: auto;
  transition: transform 0.2s;
}
@media (any-hover: hover) {
  .article_card_image:hover img {
    transform: scale(1.05);
  }
}
.article_card_image:empty {
  background-color: #efefef;
  width: 100%;
  aspect-ratio: 16/9;
}

.article_card_title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 10px;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.65;
}
@media screen and (min-width: 768px) {
  .article_card_title {
    margin-top: 6px;
  }
}
.article_card_title a {
  color: black;
  text-decoration: none;
}
.article_card_title a:hover {
  text-decoration: underline;
}

.article_card_dt {
  margin-top: 16px;
  font-weight: 500;
  color: #008092;
}
.article_card_dt a {
  text-decoration: none;
}
.article_card_dt a:hover {
  text-decoration: underline;
}
.article_card_dt a + a {
  margin-left: 1em;
}
@media screen and (min-width: 768px) {
  .article_card_dt {
    margin-top: 0;
  }
}

.article_card_date {
  font-family: "Outfit", "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .article_card_date {
    font-size: 1.2rem;
  }
}

.article_card_theme {
  margin-left: 0.5em;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .article_card_theme {
    font-size: 1rem;
  }
}
.article_card_theme::before {
  content: "|";
  margin-right: 0.5em;
}

.article_card_tag {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .article_card_tag {
    gap: 10px;
  }
}

.category_article_list {
  margin-block: 48px;
}
@media screen and (min-width: 768px) {
  .category_article_list {
    margin-block: 48px;
  }
}
.category_article_list .article_card {
  border-bottom: 1px solid #dddddd;
  margin-inline: 16px;
  padding: 20px 4px 18px;
}
@media screen and (min-width: 768px) {
  .category_article_list .article_card {
    display: grid;
    grid-template-columns: minmax(auto, 272px) auto;
    grid-template-rows: auto auto 1fr;
    grid-template-areas: "image date" "image title" "image theme";
    align-items: start;
    column-gap: 32px;
    margin-inline: 0;
    padding: 30px 0;
  }
  .category_article_list .article_card .article_card_image {
    grid-area: image;
  }
  .category_article_list .article_card .article_card_dt {
    grid-area: date;
  }
  .category_article_list .article_card .article_card_tag {
    grid-area: theme;
  }
  .category_article_list .article_card .article_card_title {
    grid-area: title;
  }
}
.category_article_list .article_card:first-of-type {
  border-top: 1px solid #dddddd;
}

body:not(.top) .category_article_list .article_card:first-of-type {
  border-top-color: #969696;
}

main:has(.archive_title) .column_side .article_space {
  padding-top: 0;
}

.archive_title,
.contact_title,
.prev_list_title,
.prev_article_title,
.other_title {
  display: grid;
  place-items: center;
  min-height: 120px;
}
@media screen and (min-width: 768px) {
  .archive_title,
.contact_title,
.prev_list_title,
.prev_article_title,
.other_title {
    height: 214px;
  }
}
.archive_title .inner,
.contact_title .inner,
.prev_list_title .inner,
.prev_article_title .inner,
.other_title .inner {
  max-width: 1120px;
  margin-inline: auto;
}
.archive_title h1,
.contact_title h1,
.prev_list_title h1,
.prev_article_title h1,
.other_title h1 {
  font-size: 2.2rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .archive_title h1,
.contact_title h1,
.prev_list_title h1,
.prev_article_title h1,
.other_title h1 {
    font-size: 2.8rem;
  }
}
.archive_title p,
.contact_title p,
.prev_list_title p,
.prev_article_title p,
.other_title p {
  font-size: 1.4rem;
  line-height: 1.86;
}
@media screen and (min-width: 768px) {
  .archive_title p,
.contact_title p,
.prev_list_title p,
.prev_article_title p,
.other_title p {
    line-height: 2.14;
  }
}

.archive_title.new {
  background-color: #f0f4f1;
}
.archive_title.new hgroup {
  display: inline-block;
}
.archive_title.new h1 {
  margin-top: 6px;
}
.archive_title.new h1::before {
  display: block;
  content: "";
  background-color: #969696;
  width: 100%;
  height: 1px;
  margin-bottom: 6px;
}
.archive_title.new p {
  text-align: center;
  font-size: 1.2rem;
}

.archive_title.theme {
  background-color: #f0f4f1;
}
@media screen and (max-width: 767.99px) {
  .archive_title.theme {
    padding: 20px 16px 16px;
  }
}
.archive_title.theme .inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-template-areas: "image title" "text text";
  justify-content: center;
  align-items: center;
  column-gap: 16px;
  row-gap: 22px;
}
@media screen and (min-width: 768px) {
  .archive_title.theme .inner {
    grid-template-columns: minmax(auto, 300px) auto;
    grid-template-areas: "image title" "image text";
    justify-content: start;
    column-gap: 40px;
    row-gap: 0;
    max-width: 1120px;
    width: 100%;
  }
}
.archive_title.theme .inner img {
  grid-area: image;
}
.archive_title.theme .inner h1 {
  grid-area: title;
}
.archive_title.theme .inner p {
  grid-area: text;
}
.archive_title.theme h1 {
  color: #008092;
}

@media screen and (max-width: 767.99px) {
  .archive_title {
    padding: 30px 16px;
  }
}
.archive_title.search {
  background-color: #008092;
}
.archive_title.search form {
  max-width: 400px;
}

.archive_title.tag {
  border-top: 4px solid #f0f4f1;
  border-bottom: 4px solid #f0f4f1;
  padding-block: 20px;
}
.archive_title.tag .inner {
  padding-inline: 18px;
}
@media screen and (min-width: 768px) {
  .archive_title.tag .inner {
    padding-inline: 24px;
  }
}
@media screen and (max-width: 1120px) {
  .archive_title.tag .inner {
    width: 100%;
  }
}
@media screen and (min-width: 1120px) {
  .archive_title.tag .inner {
    width: 1120px;
    margin-inline: auto;
  }
}
.archive_title.tag hgroup {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .archive_title.tag hgroup {
    flex-direction: row;
    align-items: center;
  }
}
.archive_title.tag h1::before {
  content: "";
  background-color: #969696;
  display: block;
  width: 28px;
  height: 1px;
  margin-block: 4px 6px;
}
@media screen and (min-width: 768px) {
  .archive_title.tag h1::before {
    display: inline-block;
    width: 1px;
    height: 1em;
    margin-block: 0;
    margin-inline: 20px;
  }
}

.contact_title {
  background-color: #f0f4f1;
}
.contact_title .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 40px 20px 20px;
}
@media screen and (min-width: 768px) {
  .contact_title .inner {
    width: 750px;
    margin-inline: auto;
    padding: 0;
    padding-right: 50px;
  }
}
.contact_title h1::before {
  display: block;
  content: "";
  background-color: #969696;
  width: 4.5em;
  height: 1px;
  margin-block: 2px 4px;
}
@media screen and (min-width: 768px) {
  .contact_title h1::before {
    width: 6em;
  }
}
.contact_title img {
  max-height: 80px;
}
@media screen and (min-width: 768px) {
  .contact_title img {
    max-height: 160px;
  }
}

.prev_list_title,
.prev_article_title {
  background-color: #008092;
  padding-inline: 16px;
}
.prev_list_title .inner,
.prev_article_title .inner {
  width: 100%;
  max-width: 900px;
}
.prev_list_title h1,
.prev_article_title h1 {
  max-width: 900px;
  margin-inline: auto;
  font-size: 2.2rem;
  color: white;
}
@media screen and (min-width: 768px) {
  .prev_list_title h1,
.prev_article_title h1 {
    font-size: 3rem;
  }
}

.prev_article_title {
  min-height: unset;
  height: 54px;
}
@media screen and (min-width: 768px) {
  .prev_article_title {
    height: 108px;
  }
}
.prev_article_title h1 {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .prev_article_title h1 {
    font-size: 2.6rem;
  }
}

.other_title.mail, .other_title.wppr {
  border: 1px solid transparent;
  border-radius: 10px;
  margin-top: 4px;
  margin-inline: 16px;
}
@media screen and (min-width: 768px) {
  .other_title.mail, .other_title.wppr {
    width: 750px;
    height: 165px;
    margin-top: 48px;
    margin-inline: auto;
  }
}
.other_title.mail h1, .other_title.wppr h1 {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .other_title.mail h1, .other_title.wppr h1 {
    font-size: 2.6rem;
  }
}
.other_title.mail h1::before, .other_title.wppr h1::before {
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  margin-block: 6px 4px;
}
.other_title.mail p, .other_title.wppr p {
  font-size: 1.2rem;
}
.other_title.mail {
  border-color: #ea5a5a;
}
.other_title.mail h1::before {
  background-color: #ea5a5a;
}
.other_title.mail p {
  color: #ea5a5a;
}
.other_title.wppr {
  border-color: #369ad8;
}
.other_title.wppr h1::before {
  background-color: #369ad8;
}
.other_title.wppr p {
  color: #369ad8;
}
.other_title hgroup {
  text-align: center;
}

.other_title.common {
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
}
.other_title.common .inner {
  width: 100%;
  padding-inline: 16px;
}
@media screen and (min-width: 768px) {
  .other_title.common .inner {
    width: 750px;
    padding-inline: 0;
  }
}

.wp_dl_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 44px;
}
@media screen and (min-width: 768px) {
  .wp_dl_wrapper {
    gap: 30px;
  }
}

.wp_dl_item {
  background-color: white;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.16);
}
@media screen and (min-width: 768px) {
  .wp_dl_item {
    max-width: 280px;
  }
}
.wp_dl_item a {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  align-items: center;
  height: 100%;
  padding: 20px;
  color: black;
  text-decoration: none;
}
@media (any-hover: hover) {
  .wp_dl_item a:hover {
    text-decoration: underline;
  }
  .wp_dl_item a:hover img {
    transform: scale(1.1);
  }
}

.wp_dl_image {
  overflow: hidden;
}
.wp_dl_image img {
  transition: transform 0.2s;
}

.wp_dl_title {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.75;
}

.wp_dl_text {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .wp_dl_text {
    font-size: 1.4rem;
    line-height: 2;
  }
}

.wp_apply_item {
  display: grid;
  justify-items: center;
  row-gap: 16px;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .wp_apply_item {
    justify-items: start;
    grid-template-columns: 240px auto;
    grid-template-rows: auto 1fr;
    grid-template-areas: "image title" "image text";
    gap: 10px 40px;
    width: 750px;
    margin-inline: auto;
  }
  .wp_apply_item .wp_dl_image {
    grid-area: image;
  }
  .wp_apply_item .wp_dl_title {
    grid-area: title;
  }
  .wp_apply_item .wp_dl_text {
    grid-area: text;
  }
}

h1 + pre,
.article_contents > pre {
  font-family: YakuHanJPs, "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  line-height: 1.75;
}
@media screen and (max-width: 767.99px) {
  h1 + pre,
.article_contents > pre {
    white-space: pre-wrap;
    word-break: break-all;
  }
}

.backnumber {
  border-bottom: 1px solid #dddddd;
}
.backnumber > .ttl:first-child {
  border-top-color: #969696;
}
.backnumber .ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  border-top: 1px solid #dddddd;
  min-height: 65px;
  padding-right: 15px;
  font-weight: 500;
  font-size: 1.6rem;
  cursor: pointer;
  line-height: 1.25;
  z-index: 2;
}
.backnumber .ttl::before {
  display: block;
  content: "";
  position: absolute;
  top: 25px;
  right: 30px;
  border-bottom: 2px solid #008092;
  border-right: 2px solid #008092;
  width: 10px;
  height: 10px;
  transform: rotate(-135deg);
}
.backnumber .ttl::after {
  display: block;
  content: "";
  border: 1px solid #dddddd;
  border-radius: 10px;
  width: 40px;
  height: 40px;
}
.backnumber .ttl.arrow::before {
  transform: rotate(45deg);
}
.backnumber .ttl + div {
  display: block;
  margin-bottom: 1em;
}
.backnumber .ttl.close::before {
  transform: rotate(45deg);
}
.backnumber .ttl.close + div {
  display: none;
}
.backnumber .ttl.close.arrow::before {
  transform: rotate(-135deg);
}
.backnumber dt {
  position: relative;
  float: left;
  width: 6em;
  clear: left;
  font-size: 1.4rem;
  line-height: 1.86;
}
.backnumber dd {
  padding: 0 0 0.25em 1em;
  font-size: 1.4rem;
  overflow: hidden;
  line-height: 1.86;
}

@media screen and (max-width: 767.99px) {
  .backnumber .ttl {
    background-position: right 11px;
    width: auto;
    padding-left: 0;
  }
  .backnumber .ttl + div {
    padding-left: 0.5em;
  }
}
.ecopedia_article .ecopedia_nav ul {
  margin: 0;
  list-style: none;
}

.ecopedia_nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 10px;
  list-style: none;
  margin-left: 0;
}
@media screen and (max-width: 767.99px) {
  .ecopedia_nav li {
    width: calc(20% - 8px);
    max-width: 70px;
  }
}
.ecopedia_nav li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 20px;
  background-color: white;
  border: 1px solid #dddddd;
  border-radius: 10px;
  width: 100%;
  height: 75px;
  color: black;
  font-weight: 500;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .ecopedia_nav li a {
    width: 70px;
    height: 84px;
  }
}
.ecopedia_nav li a::after {
  display: block;
  content: "";
  border-bottom: 2px solid #008092;
  border-right: 2px solid #008092;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
}
.ecopedia_nav li a.active, .ecopedia_nav li a:hover {
  background-color: #008092;
  border-color: #008092;
  color: white;
}
.ecopedia_nav li a.active::after, .ecopedia_nav li a:hover::after {
  border-color: white;
}

.ecopedia_list {
  padding-block: 20px;
}
.ecopedia_list h2 {
  border-bottom: 1px solid #008092;
  margin-block: 12px;
  padding-block: 36px 12px;
  color: #008092;
  font-size: 2.6rem;
}
.ecopedia_list ul {
  list-style: none;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .ecopedia_list ul {
    display: flex;
    flex-wrap: wrap;
    column-gap: 40px;
  }
}
.ecopedia_list li {
  border-bottom: 1px solid #dddddd;
  padding-block: 8px;
}
@media screen and (min-width: 768px) {
  .ecopedia_list li {
    width: calc(50% - 20px);
  }
}
.ecopedia_list li a.ecopedia_list_item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  border: none;
  width: 100%;
  height: auto;
  min-height: 54px;
  padding-right: 10px;
  color: black;
  font-size: 1.6rem;
  text-decoration: none;
  line-height: 1.5;
}
.ecopedia_list li a.ecopedia_list_item::after {
  display: block;
  content: "";
  border-bottom: 2px solid #008092;
  border-right: 2px solid #008092;
  width: 8px;
  height: 8px;
  margin-left: 12px;
  transform: rotate(-45deg);
}
@media (any-hover: hover) {
  .ecopedia_list li a.ecopedia_list_item:hover {
    background-color: unset;
    text-decoration: underline;
  }
}

.ecopedia_article h1 {
  border-bottom: 1px solid #008092;
  padding-bottom: 22px;
  font-size: 2.2rem;
}
@media screen and (min-width: 768px) {
  .ecopedia_article h1 {
    font-size: 2.6rem;
  }
}
.ecopedia_article h2 {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .ecopedia_article h2 {
    font-size: 2.4rem;
  }
}
.ecopedia_article .furigana {
  color: #008092;
  font-size: 1.4rem;
}
.ecopedia_article .furigana + * {
  margin-top: 48px;
}
.ecopedia_article p {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .ecopedia_article p {
    line-height: 2;
  }
}
.ecopedia_article ul {
  margin-left: 2em;
  list-style: disc;
}
.ecopedia_article ol {
  margin-left: 2em;
  list-style: decimal;
}
.ecopedia_article .btn {
  margin-block: 72px 84px;
}
@media screen and (min-width: 768px) {
  .ecopedia_article .btn {
    margin-block: 90px 100px;
  }
}
.ecopedia_article .ecopedia ul,
.ecopedia_article .ecopedia_list ul {
  margin-left: 0;
  list-style: none;
}

.ecopedia .btn_arrow_back:has(+ nav.ecopedia) {
  margin-block: 60px;
}

.ecopedia_list.below_article ul {
  display: none;
}
.ecopedia_list.below_article ul.active {
  display: block;
  border: 2px solid #008092;
  border-radius: 10px;
  padding: 16px 30px;
}
@media screen and (min-width: 768px) {
  .ecopedia_list.below_article ul.active {
    display: flex;
  }
}

.pagination {
  margin-block: 90px;
}
.pagination a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  color: black;
  text-decoration: none;
}
@media (any-hover: hover) {
  .pagination a:hover {
    background-color: #008092;
    color: white;
  }
}
.pagination a[href=""] {
  pointer-events: none;
}
.pagination a[href=""] span {
  border-color: #dddddd;
}
.pagination .current {
  background-color: #008092;
}
.pagination .current a {
  color: white;
}

.pagination_wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.pagination_item {
  border-radius: 10px;
  overflow: hidden;
  font-family: "Outfit", "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.6rem;
}
.pagination_item span {
  display: block;
  border-right: 2px solid black;
  border-bottom: 2px solid black;
  width: 13px;
  height: 13px;
}
.pagination_item:first-child a:hover, .pagination_item:last-child a:hover {
  background-color: transparent;
  opacity: 0.5;
}
.pagination_item:first-child {
  transform: rotate(135deg);
}
.pagination_item:last-child {
  transform: rotate(-45deg);
}

.post-page-numbers {
  border-radius: 10px;
  overflow: hidden;
  font-family: "Outfit", "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  color: black;
  text-decoration: none;
}
@media (any-hover: hover) {
  .post-page-numbers:hover {
    background-color: #008092;
    color: white;
  }
}
.post-page-numbers.current {
  background-color: #008092;
  color: white;
}

.pagination {
  margin-block: 90px;
}
.pagination ul.page-numbers {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.pagination .nav-links li {
  display: grid;
  place-items: center;
  border-radius: 10px;
  width: 48px;
  height: 48px;
  overflow: hidden;
  font-family: "Outfit", "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 1.6rem;
}
.pagination .nav-links a,
.pagination .nav-links span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  color: black;
  text-decoration: none;
}
@media (any-hover: hover) {
  .pagination .nav-links a:hover,
.pagination .nav-links span:hover {
    background-color: #008092;
    color: white;
  }
}
.pagination .nav-links .current {
  color: white;
}
.pagination .nav-links .prev,
.pagination .nav-links .next {
  position: relative;
}
.pagination .nav-links .prev:after,
.pagination .nav-links .next:after {
  display: block;
  content: "";
  position: absolute;
  border-right: 2px solid black;
  border-bottom: 2px solid black;
  width: 13px;
  height: 13px;
}
.pagination .nav-links .prev:hover,
.pagination .nav-links .next:hover {
  background-color: transparent;
}
.pagination .nav-links .prev:hover::after,
.pagination .nav-links .next:hover::after {
  border-color: #008092;
  opacity: 0.5;
}
.pagination .nav-links .prev {
  transform: rotate(135deg);
}
.pagination .nav-links .next {
  transform: rotate(-45deg);
}
.next_article {
  display: flex;
  align-items: center;
  background-color: #f0f4f1;
  min-height: 70px;
  margin-block: 60px 30px;
  padding: 1em 1.5em;
}
.next_article p {
  margin: 0;
  padding-left: 5em;
  text-indent: -5em;
  line-height: 1.5;
}
.next_article p span {
  margin-right: 1em;
}
.next_article p a {
  display: inline;
  color: #008092;
  text-decoration: underline;
}
.next_article p a:hover {
  background-color: unset;
  color: black;
  text-decoration: none;
}

.past_article_list {
  border-top: 1px solid #008092;
  margin-top: 72px;
}
.past_article_list dt,
.past_article_list dd {
  line-height: 1.43;
}
.past_article_list dt {
  display: flex;
  align-items: center;
  margin-top: 18px;
  color: #008092;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .past_article_list dt {
    float: left;
    clear: left;
    border-bottom: 1px solid #dddddd;
    min-height: 70px;
    margin-top: 0;
  }
}
.past_article_list dd {
  border-bottom: 1px solid #dddddd;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .past_article_list dd {
    display: flex;
    align-items: center;
    min-height: 70px;
    padding-left: 75px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767.99px) {
  .past_article_list dd {
    padding-block: 16px;
  }
  .past_article_list dd a {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.past_article_list a {
  color: black;
  text-decoration: none;
}
@media (any-hover: hover) {
  .past_article_list a:hover {
    text-decoration: underline;
  }
}

/*
<nav class="navigation pagination" aria-label=" ">
  <h2 class="screen-reader-text"> </h2>
  <div class="nav-links">
    <ul class="page-numbers">
      <li><a class="prev page-numbers" href="/tag/dowa/page/2">&lt;</a></li>
      <li><a class="page-numbers" href="/tag/dowa/">1</a></li>
      <li><a class="page-numbers" href="/tag/dowa/page/2">2</a></li>
      <li><span aria-current="page" class="page-numbers current">3</span></li>
      <li><a class="page-numbers" href="/tag/dowa/page/4">4</a></li>
      <li><a class="page-numbers" href="/tag/dowa/page/5">5</a></li>
      <li><a class="next page-numbers" href="/tag/dowa/page/4">&gt;</a></li>
    </ul>
  </div>
</nav>

<div class="pagination">
  <ul class="pagination_wrapper">
    <li class="pagination_item"><a href=""><span></span></a></li>
    <li class="pagination_item"><a href="#">1</a></li>
    <li class="pagination_item current"><a href="#">2</a></li>
    <li class="pagination_item"><a href="#">3</a></li>
    <li class="pagination_item"><a href="#">4</a></li>
    <li class="pagination_item"><a href="#">5</a></li>
    <li class="pagination_item"><a href="#"><span></span></a></li>
  </ul>
</div>
*/
.btn {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  position: relative;
  border-radius: 30px;
  max-width: 280px;
  height: 48px;
  margin: 32px auto;
  padding-inline: 20px;
  color: white;
  font-weight: 700;
  font-size: clamp(1.4rem, 0.964rem + 0.568vw, 1.6rem);
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .btn {
    height: 60px;
  }
}
@media (any-hover: hover) {
  .btn {
    transition: opacity 0.2s;
  }
  .btn:hover {
    opacity: 0.5;
  }
}

.btn_arrow::after,
.btn_arrow_back::after {
  position: absolute;
  top: calc(50% - 4px);
  content: "";
  width: 10px;
  height: 10px;
}

.btn_arrow::after {
  right: 20px;
  border-top: 2px solid white;
  border-right: 2px solid white;
  transform: rotate(45deg);
}
@media screen and (min-width: 768px) {
  .btn_arrow::after {
    right: 30px;
  }
}

.btn_arrow_back::after {
  left: 20px;
  border-top: 2px solid #008092;
  border-left: 2px solid #008092;
  transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .btn_arrow_back::after {
    left: 30px;
  }
}

.btn.default {
  background-color: #008092;
  border-color: #008092;
}

.btn.outline {
  background-color: white;
  border-color: #008092;
  color: #008092;
}

.btn.mailmagazine {
  background-color: #ea5a5a;
  max-width: 260px;
  height: 50px;
  font-size: 1.2rem;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .btn.mailmagazine {
    font-size: 1.4rem;
  }
}
.btn.mailmagazine::after {
  right: 20px;
  border-top-width: 1px;
  border-right-width: 1px;
  width: 8px;
  height: 8px;
}

.btn.whitepaper {
  background-color: #369ad8;
  max-width: 260px;
  height: 50px;
  font-size: 1.2rem;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .btn.whitepaper {
    font-size: 1.4rem;
  }
}
.btn.whitepaper::after {
  right: 20px;
  border-top-width: 1px;
  border-right-width: 1px;
  width: 8px;
  height: 8px;
}

.btn.contact {
  background-color: black;
}

.tag_category,
.tag_article {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tag_category_list,
.tag_article_list {
  display: inline-flex;
  align-items: center;
  background-color: white;
  border: 1px solid transparent;
  border-radius: 35px;
  max-width: 256px;
  padding-block: 4px;
  padding-inline: 16px;
  font-weight: 500;
  line-height: 1.25;
}

.tag_category {
  margin-block: 32px;
}
@media screen and (min-width: 768px) {
  .tag_category {
    margin-top: 48px;
  }
}

.tag_category_list {
  border-color: #008092;
  min-height: 35px;
  color: #008092;
  font-size: 1.4rem;
  cursor: pointer;
}
.tag_category_list:hover:not(.is-active) {
  text-decoration: underline;
}
.tag_category_list.is-active {
  background-color: #008092;
  color: white;
}

.tag_article {
  margin-top: 20px;
}

.tag_article_list {
  border-color: #969696;
  min-height: 28px;
  color: #969696;
  font-size: 1.2rem;
  text-decoration: none;
  line-height: 1;
}
.tag_article_list:hover {
  text-decoration: underline;
}

.view_more {
  padding-top: 16px;
  text-align: center;
  font-weight: 700;
  font-size: 1.8rem;
}
.view_more span {
  cursor: pointer;
}
.view_more span::before {
  content: "－";
}
.view_more span.plus::before {
  content: "＋";
}

.tag_category_list.is-hidden {
  display: none;
}

a.logo_text {
  display: block;
  height: 100%;
}
a.logo_text span {
  display: block;
  text-indent: 101%;
  white-space: nowrap;
  overflow: hidden;
}

.flex {
  display: flex;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .flex {
    gap: 20px;
  }
}
.flex.flex_wrap {
  flex-wrap: wrap;
}
.flex.justify_center {
  justify-content: center;
}
.flex.justify_between {
  justify-content: space-between;
}
.flex.align_center {
  align-items: center;
}

.flL {
  float: left;
  margin-right: 1em;
}

.flR {
  float: right;
  margin-left: 1em;
}

.flL,
.flR {
  margin-bottom: 1em;
}
@media screen and (max-width: 760px) {
  .flL,
.flR {
    float: none;
    display: block;
    margin-inline: auto;
  }
}

.clr {
  clear: both;
}

.cf::after {
  content: "";
  display: block;
  clear: both;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.slide_btn {
  cursor: pointer;
}

.slide_content {
  display: block;
  background-color: #fee;
  height: 0;
  overflow: hidden;
  transition: all 0.3s;
}

body .mt0 {
  margin-top: 0;
}
body .ml1em {
  margin-left: 1em;
}
body .ml2em {
  margin-left: 2em;
}
body .ml3em {
  margin-left: 3em;
}
body .ml4em {
  margin-left: 4em;
}
body .ml5em {
  margin-left: 5em;
}
body .mt10 {
  margin-top: 10px;
}
body .mt15 {
  margin-top: 15px;
}
body .mt20 {
  margin-top: 20px;
}
body .mt30 {
  margin-top: 30px;
}
body .mt40 {
  margin-top: 40px;
}
body .mt50 {
  margin-top: 50px;
}
body .pt10 {
  padding-top: 10px;
}
body .pt20 {
  padding-top: 20px;
}
body .pt30 {
  padding-top: 30px;
}
body .pt40 {
  padding-top: 40px;
}
body .pt50 {
  padding-top: 50px;
}

.pi1em {
  padding-inline: 1em;
}

.article_contents .dowaclr {
  color: #007b96 !important;
}
.article_contents .txColor {
  color: #cc6600 !important;
}
.article_contents .txColorRed {
  color: #cc0000 !important;
}
.article_contents .txColorBlk {
  color: #595757 !important;
}
.article_contents .txColorPink {
  color: #ff33ff !important;
}
.article_contents .txColorBlue {
  color: #3366cc !important;
}
.article_contents .txColorGreen {
  color: #009900 !important;
}
.article_contents .txColorSlvr {
  color: #c0c0c0 !important;
}
.article_contents .bgColorBlue {
  background: #dff;
}
.article_contents .bgColorYlw {
  background: #ffd;
}
.article_contents .bgColorOrg {
  background: #fed;
}
.article_contents .bgColorRed {
  background: #fee;
}
.article_contents .bgColorPpl {
  background: #eee8ff;
}
.article_contents .bgColorGrn {
  background: #efe;
}
.article_contents .bgColorGrey {
  background: #f5f5f5;
}
.article_contents span.bgGrey {
  background: #ddd;
  margin: 0 5px;
}
.article_contents .txBorderYlw {
  background: linear-gradient(to bottom, transparent 0%, transparent 60%, #ff9 60%, #ff9 100%);
}

span.sp,
br.sp {
  display: inline;
}

span.pc,
br.pc {
  display: none;
}

@media screen and (min-width: 768px) {
  span.sp,
br.sp {
    display: none;
  }

  span.pc,
br.pc {
    display: inline;
  }
}
@media print {
  body:not(.home) header,
body:not(.home) .column_side,
body:not(.home) .ranking,
body:not(.home) .cta_contact,
body:not(.home) .banner_area,
body:not(.home) footer {
    display: none !important;
  }
}
