:root {
  /* 網站主色調 */
  --main-bg-color: #e4fce6;
  --main-font-color-for-bg-color: #525252;
  /* -------- */
  /* コントラスト比は７：１がおすすめ */
  --main-font-color: rgba(63, 177, 63, 0.767);
  /* 字體主色調 rgb(76, 204, 76)  */
  --line-font-color: #06c755;
  --main-border-color: #e4fce6;
  --menu-change-font-size: calc(20px + 30 * (100vw - 400px) / 1700);
  --box-border: solid 1px gray;
  --h2-color: #016a3a;
  --link-color: #25a02f;
  --font-default-color: #595959;
}

body {
  margin: 0 auto;
  width: 1080px;
  max-width: 100vw;
  font-family: "Noto Sans JP", "Helvetica", "Arial", "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: normal;
  color: var(--font-default-color);
  line-height: 1.85;
  text-align: justify;
}

a {
  color: var(--link-color);
  text-decoration: none;
}

.greenUnderline {
  text-decoration: var(--link-color) underline;
  text-decoration-thickness: 3px;
}

a:hover,
.underline {
  text-decoration: underline;
}

img {
  max-width: 100%;
}

.content_img {
  display: block;
}

@media (max-width: 900px) {
  body {
    max-width: 100vw;
  }

  body p::before {
    content: "　";
  }
}

section,
h3,
h4,
h5,
table {
  transition: background-color 1s;
}

h1 {
  color: var(--main-font-color);
}

h4 {
  font-size: 19px;
}

h5 {
  font-size: 18px;
  border-left: solid 2px;
  border-color: var(--h2-color);
  padding-left: 5px;
}

section {
  padding-top: 20px;
  margin-top: -20px;
}

table caption {
  /* padding: 1.65rem 2rem; */
  font-size: large;
  font-weight: bold;
  background-color: var(--main-border-color);
  border-radius: 10px 10px 0 0;
}

header {
  display: flex;
  justify-content: space-between;
  background-color: var(--main-bg-color);
  box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
}

header .logo {
  margin: auto 0;
}

header .logo p {
  white-space: nowrap;
  font-size: clamp(0px, 3.5vw, 30px);
  /* font-size: calc(25px + 20 * (100vw - 400px) / 1900); */
  margin: 0;
  padding: 0 20px;
}

header .logo a {
  text-decoration: none;
  color: black;
}

@media (max-width: 900px) {
  header {
    flex-direction: column;
    /* position: sticky;
        position: -webkit-sticky;
        top: 0;
        transition: .5s;
        z-index: 100; */
  }

  .hide {
    transform: translateY(-100%);
    /* 上に消えるようにする */
  }

  .logo {
    text-align: center;
  }
}

header .menu #menu_button {
  display: none;
}

header .menu #menu_button::before {
  content: "☰　MENU";
}

header .menu a {
  display: inline;
  /* font-size: calc(12px + 15 * (100vw - 400px) / 1900); */
  font-size: clamp(0px, 3.5vw, 18px);
  line-height: 60px;
  font-weight: 700;
  color: black;
  text-align: center;
  width: 100%;
  padding: 10px;
}


@media (max-width: 900px) {
  header .menu #menu_button {
    text-align: center;
    display: block;
    margin-bottom: 10px;
  }

  header .menu a {
    display: block;
    padding: 0px;
    line-height: 40px;
  }

  header .menu #menu_son {
    display: none;
  }
}

@media (min-width: 900px) {
  #support_front_page {
    display: none;
  }
}

main {
  display: flex;
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
  padding: 20px;
}

main .contents {
  width: 640px;
}

@media (max-width: 900px) {
  main .contents {
    width: 100%;
  }
}

.language_change {
  text-align: right;
  margin: 0;
  padding: 0;
  font-family: "microsoft yahei", "微软雅黑";
}

.side_menu .language_change {
  display: none;
  text-align: left;
}

@media (max-width: 900px) {
  .side_menu .language_change {
    display: block;
    margin-left: 10px;
    margin-top: 10px;
  }
}

.language_change #enCh::before {
  content: 'Eng';
}

.language_change #simCh::before {
  content: '简';
}

.language_change #traCh::before {
  content: '繁';
}

.language_change #jap::before {
  content: '日本語';
}

.language_change .sla::before {
  content: '｜';
}

/* .daily-news {
    width: 70%;
    height: 250px;
    border: solid 1px darkgray;
    padding: 10px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, .15);
    overflow: hidden;
    overflow-y: scroll;
}
@media(min-width:900px) {
    .daily-news {
        width: 90%;
        height: 300px;
    }
} */

.service_area {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.service_box {
  text-decoration: none;
  background-color: #f2f2f2;
  border-radius: 10px;
  margin: 12px 6px;
  margin-top: 0;
  width: 48%;
}

.service_box h2 {
  text-align: center;
  font-size: 25px;
}

.service_box img {
  display: block;
  margin: auto;
  height: 150px;
}

.service_box .price {
  text-align: center;
  font-size: 20 px;
  color: var(--main-font-color);
  font-weight: bolder;
}

.service_box .present {
  color: #4f4f4f;
  margin: 20px 15px;
  margin-top: 0;
  height: 70px;
}

.service_box a {
  display: block;
  margin: 15px;
  margin-top: 0;
  text-align: center;
  padding: 10px 0;
  border: solid 2px var(--h2-color);
  border-radius: 5px;
  font-weight: bolder;
  font-size: 20px;
}

.service_box a:hover {
  background-color: #d9d9d9;
  text-decoration: none;
}

@media (max-width: 900px) {
  .service_box {
    width: 100%;
  }
}

.list_one li {
  margin: 10px auto;
}

.link_mark {
  text-decoration: underline;
}

/* ----------dlの設定（開始）---------- */

dl {
  display: flex;
  flex-wrap: wrap;
  width: 80%;
  border: var(--box-border);
  border-top: none;
}

dt {
  background-color: var(--main-bg-color);
  text-align: center;
  font-weight: bold;
  width: 35%;
  padding: 20px 0;
  box-sizing: border-box;
  border-top: var(--box-border);
  align-items: center;
}

dd {
  width: 65%;
  text-align: right;
  padding: 20px 0;
  margin: 0;
  border-top: var(--box-border);
  border-left: var(--box-border);
  padding-right: 10px;
  background-color: white;
  box-sizing: border-box;
}

dt:hover,
dd:hover {
  background-color: rgba(0, 0, 0, 0.15);
}

dd::after {
  display: block;
  content: "";
}

.thead {
  text-align: center;
  font-weight: bold;
  padding-right: 0;
}

/* ----------dlの設定（終了）---------- */

/* ----------目次（開始）---------- */

main .contents .mokuzi {
  border: solid 1px rgba(128, 128, 128, 0.384);
  width: 50%;
  min-width: fit-content;
  padding: 0 20px;
}

@media (max-width: 900px) {
  main .contents .mokuzi {
    width: 85%;
    margin-right: auto;
    margin-left: auto;
  }
}

main .contents .mokuzi .button {
  display: flex;
}

.button h3 {
  margin: auto;
}

main .contents #mokuzi_button::before {
  content: "☰";
}

.mokuzi ol li,
.mokuzi ul li {
  padding: 1.5px 0;
}

.mokuzi ol a,
.mokuzi ul a {
  text-decoration: none;
}

.mokuzi ol a:hover,
.mokuzi ul a:hover {
  text-decoration: underline;
}

/* 以下、數字的目錄會變成1.1 1.2之類 */

.contents .mokuzi ol {
  counter-reset: count;
  list-style-type: none;
}

.contents .mokuzi ol li::before {
  counter-increment: count;
  content: counters(count, ".") ". ";
}

.side_menu .mokuzi ol {
  list-style-type: none;
}

/* 以下 ">" 代表只對它指向的子層有效，對孫層無效 */

#side_menu_mokuzi_link {
  width: 80%;
}

#mokuzi_link>ol {
  padding-left: 0;
  font-weight: bolder;
  /* ↑先把全部ol的內容變成粗體，再用li>ol把其後的內容變回非粗體，就可變成只有第一層的ol li是粗體 */
}

#mokuzi_link li>ol {
  font-weight: normal;
}

#mokuzi_link ol li::before,
#side_menu_mokuzi_link ol li::before {
  content: counters(count, ".") " ";
  display: inline-block;
  background-color: var(--main-bg-color);
  color: #878787;
  padding: 0 3px;
  margin-right: 8px;
}

#side_menu_mokuzi_link ol li::before {
  content: none;
}

#side_menu_mokuzi_link .active {
  color: var(--font-default-color);
  font-weight: bold;
  border-left: 3px solid var(--h2-color);
}

/* @media (max-width: 900px) { */
#mokuzi_link ol,
#side_menu_mokuzi_link ol {
  padding-left: 20px;
}

/* #mokuzi_link > ol,
  #side_menu_mokuzi_link > ol {
    padding-left: 0;
  } */
/* } */

/* ----------------------- */

/* ----------目次（終了）---------- */

main .contents h2 {
  color: var(--h2-color);
}

@media (max-width: 900px) {
  main {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}

.small-size {
  font-size: 0.8em;
  color: rgb(163, 163, 163);
  width: 80%;
}

.marker {
  background: linear-gradient(transparent 60%, #fdd2d8 60%);
  color: #000;
}

/* ----------事務所概要ページのCSS---------- */

main #office-info-table .menu-two {
  margin: 0px;
  padding-left: 0px;
}

main #office-info-table .menu-two .job-another,
main #office-info-table .menu-two h2 {
  display: none;
}

main .info-table tr:nth-child(odd) {
  background-color: #efefef;
}

main .info-table td {
  padding: 5px 10px;
}

.important_matter p,
.important_matter li {
  font-size: 14px;
}

.profile_person_firstcol {
  width: 20%;
}

.profile_office_firstcol {
  width: 20%;
}

@media (max-width: 900px) {
  .profile_person_firstcol {
    width: 32px;
  }

  .profile_office_firstcol {
    width: 64px;
  }
}

/* ----------事務所概要ページのCSS終わり---------- */

/* ----------サイトメニューページのCSS---------- */

#phoneButton {
  display: none;
}

@media (max-width: 900px) {
  #phoneButton {
    display: inline-block;
    padding: 20px 0 0 10px;
  }
}

.side_menu {
  width: 300px;
}

/* @media (min-width: 900px) {
    .side_menu { */

/* 固定BAR */

/* position: -webkit-sticky;
        position: sticky;
        top: 10px;
        height: 100%; */

/* 高度是關鍵 */

/* }
} */

.side_menu h3 {
  margin: 20px 0 0 0;
  padding: 10px 0 10px 5px;
  width: 80%;
  background-color: rgba(128, 128, 128, 0.116);
  text-align: center;
}

.side_menu>a {
  display: block;
  width: 80%;
  text-decoration: none;
  color: var(--main-font-color-for-bg-color);
  background-color: rgba(0, 255, 0, 0.03);
  padding: 10px 0 10px 5px;
  border-bottom: solid 1px rgba(128, 128, 128, 0.384);
}
.side_menu>a.long-text-item {
  font-size: 0.85em;
}
.side_menu>a:hover {
  background-color: rgba(0, 0, 0, 0.15);
}

/* ----------サイトメニューページのCSS終わり---------- */

/* 主要內容（開始） */

.main_content h3 {
  background-color: var(--main-bg-color);
  padding: 3px 0;
  padding-left: 5px;
  color: var(--main-font-color-for-bg-color);
}

.main_content h4 {
  border-bottom: solid 2px;
  border-color: var(--h2-color);
  width: fit-content;
  min-width: 40%;
}

/* 'h5+div'裡的'＋'代表只適用於h5之後出現的div, 而不是其子元素˝ */

#naturalization h5+div,
.border_list {
  padding: 15px 20px;
  background-color: rgb(247, 247, 247);
  border-radius: 4px;
  margin: 0 10px;
}

.border_list ol {
  padding-left: 20px;
}

.oklist,
.notoklist {
  list-style: none;
  padding-left: 0;
}

.oklist li::before {
  content: "◯ ";
}

.notoklist li::before {
  content: "× ";
}

.targetTitle_HighLight {
  background-color: yellow !important;
  transition: background-color 1s;
}

/* 主要內容（終了） */

/* ----------料金表ページのCSS---------- */

main .pricetable {
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.15);
  border-collapse: collapse;
  max-width: 500px;
  width: 100%;
  margin-bottom: 30px;
}

main .pricetable col {
  background-color: var(--main-border-color);
  width: 35%;
}

@media (max-width: 900px) {
  main .pricetable {
    max-width: 100%;
  }

  main .pricetable col {
    width: 45%;
  }
}

main .pricetable tbody th:hover,
main .pricetable tbody td:hover {
  background-color: rgba(0, 0, 0, 0.15);
}

main .pricetable th,
main .pricetable td {
  padding: 20px 0;
}

main .pricetable tbody td {
  text-align: right;
  padding-right: 10px;
}

main .saibun col {
  width: 40%;
}

th {
  text-align: center;
}

/* ----------料金表ページのCSS終わり---------- */

/* ----------お問合せページのCSS---------- */

main .question td,
main .question-confirm td {
  padding: 10px 0;
}

/* ----------お問合せページのCSS終わり---------- */

footer {
  padding: 0 20px 0 10px;
}

footer p,
footer a {
  font-size: 13px;
}

footer a {
  text-decoration: none;
  color: black;
}

footer .footer_top {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 900px) {
  footer .footer_top {
    display: block;
  }

  footer .footer_qrcode {
    width: 130px;
  }

  footer .footer_qrcode img {
    margin: 10px;
  }
}

@media (min-width: 900px) {
  footer .footer_qrcode img {
    margin-right: 20px;
  }
}

/* ----------フロー図（開始）---------- */



/* ----------フロー図（終了）---------- */

/* ----------綜合按鈕---------- */

#displayButton {
  position: fixed;
  right: 30px;
  bottom: 65px;
  border-radius: 25px;
  overflow: hidden;
  -webkit-overflow-scrolling: hidden;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.15);
  z-index: 98;
}

.littleButton {
  position: relative;
  display: none;
}

.commonButton {
  background-color: var(--main-bg-color);
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  color: var(--main-font-color-for-bg-color);
}

#backtotop::before {
  content: "Top";
}

#menublack {
  display: none;
  animation-name: goDark;
  animation-duration: 0.8s;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 97;
}

@keyframes goDark {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#menuCancel {
  display: none;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 100;
  border-radius: 25px;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.15);
}

#menuCancel::before {
  content: "Ｘ";
  font-size: 30px;
}

@media (max-width: 900px) {
  #menubuttonforphone::before {
    content: "Menu";
  }

  .side_menu {
    position: fixed;
    right: -400px;
    top: 0;
    background-color: #fff;
    overflow-y: auto;
    height: 100%;
    transition: 0.8s ease;
    box-shadow: -1px 5px 10px #000;
    z-index: 99;
  }
}

/* ----------綜合按鈕（終了）---------- */

/* ----------ブログカード---------- */

.card {
  display: flex;
  flex-direction: row;
  border: solid 1px rgba(169, 169, 169, 0.28);
  margin: 15px auto;
}

.card_img {
  width: 30%;
  height: 30%;
}

.card_title {
  font-weight: bolder;
  font-size: 25px;
}

.card_present {
  color: var(--font-default-color);
}

.card_update_date {
  color: rgb(161, 161, 161);
  text-align: right;
}

.card:active,
.card:hover {
  text-decoration: none;
}

@media (max-width: 900px) {
  .card {
    display: block;
    padding: 10px;
  }

  .card_img {
    width: 100%;
    height: 100%;
  }
}

/* -----------contactbox----------- */
#contact_box a:active,
#contact_box a:hover {
  text-decoration: none;
}

#phoneNumber {
  font-size: 27px;
  margin: 0;
  color: #000;
}

#contactboxofficename {
  font-size: 25px;
  color: #000;
  font-weight: bold;
}

#openandclose {
  font-size: 11px;
  margin: 0;
}

#contact_method {
  margin: 0 20px;
  font-size: 20px;
}

#contact_method p {
  margin: 3px;
}

#contactboxofficename,
#wechatQRcodeIMG {
  display: none;
  margin-bottom: 4px;
}

#contact_box {
  border: solid 2px var(--main-font-color);
  display: flex;
  justify-content: space-between;
  color: var(--link-color);
  width: 350px;
}

@media (max-width: 900px) {
  #contact_box {
    max-width: 100%;
  }
}

#traditionalContact {
  display: block;
  margin-left: 12px;
}

/* -----------contactbox（終）----------- */

/* -----------contact_form（始）----------- */

.typing {
  display: block;
}

.contact_way {
  margin: 3px;
  color: var(--line-font-color);
}

/* ▼入力チェック結果の表示ボックスの装飾 */
.alertarea {
  color: red;
  /* 文字色(赤色) */
  background-color: #fee;
  /* 背景色(淡い赤色) */
  border-radius: 0.5em;
  /* 角丸(半径0.5文字分) */
  margin-left: 0.5em;
  /* 外側左端の余白(0.5文字分) */
  /* padding: 1px 0.5em 1px 32px; */
  /* 内側の余白(警告アイコンに重ならないよう左端に多めの余白を設ける) */
}

/* -----------contact_form（終）----------- */

/* -----------tech_table（始）----------- */

#big_high_group {
  display: flex;
  justify-content: center;
  min-width: 100%;
}

#big_high_group>label {
  flex-grow: 1;
  text-align: center;
  color: #9b9b9b;
  background-color: rgb(228, 226, 226);
  border-right: 0.5px solid#989898;
}

#big_high_group>label:last-of-type {
  border-right: 0px;
}


#big_high_1:checked~#big_high_1_label,
#big_high_2:checked~#big_high_2_label,
#big_high_3:checked~#big_high_3_label {
  position: relative;
  display: inline-block;
  /* margin: 1.5em 0;
  padding: 7px 10px; */
  min-width: 120px;
  max-width: 100%;
  color: #ffffff;
  font-size: 16px;
  background: var(--line-font-color);
}

#big_high_1:checked~#big_high_1_label:before,
#big_high_2:checked~#big_high_2_label:before,
#big_high_3:checked~#big_high_3_label:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid var(--line-font-color);
}


.big_high {
  display: none;
}

.hightech_table {
  width: 100%;
  border-collapse: collapse;
}

.hightech_table td {
  text-align: center;
}

.hightech_table thead th {
  background-color: var(--main-border-color);
  color: black;
}

.high_table label {
  display: block;
}

.highlySkill_border {
  border-top: 1.4px solid black;
}

.selected_point {
  background-color: rgba(63, 177, 63, 0.767);
  color: black;
}

#groupThatPointSelected_table {
  display: none;
  text-align: center;
  border-collapse: collapse;
  margin: 10px auto;
  min-width: 90%;
}

#groupThatPointSelected_table thead {
  background-color: var(--main-border-color);
}

#groupThatPointSelected_table tbody tr td:first-child {
  border-right: 1px solid;
}

#groupThatPointSelected_table tfoot {
  font-weight: bolder;
  font-size: 20px;
}

/* とかしの設定 */
.baseBox {
  /* --- 親BOXの定義 --------------------------------------------*/
  position: relative;
  /* 親要素               */
  overflow: hidden;
  /* はみ出しは非表示     */
  margin: 0 auto;
  /* BOXの位置(中央寄せ)  */
}

/* --- 前面文字の定義 -----------------------------------------*/
.baseBox .frontStr {
  display: inline-block;
  /* インラインブロック化 */
  position: absolute;
  /* 親要素からの相対位置 */
  padding: 20px;
  /* BOX内の余白          */
  border: 2px solid #999;
  /* BOXの枠線            */
  font-size: 18pt;
  /* 前景文字のサイズ     */
  font-weight: bold;
  /* 太字                 */
  top: 0;
  /* 親要素にサイズにする */
  left: 0;
  right: 0;
  bottom: 0;
}

.baseBox .backStr {
  position: absolute;
  /* 親要素からの相対位置 */
  display: inline-block;
  /* インラインブロック化 */
  white-space: nowrap;
  /* 折り返ししない       */
  font-weight: bold;
  /* 太字                 */
  color: rgba(250, 199, 250, 0.3);
  /* 背景透かし文字色     */
  color: var(--main-border-color);
  opacity: 0.5;
  /* 中心寄せ＆角度       */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotatez(335deg);
  z-index: -1;
}

input[type="date"] {
  position: relative;
  /* padding: 0 10px; */
  border: 0;
  background: transparent;
  box-sizing: border-box;
  font-size: 14px;
  color: #999;
}

#date_totalPoint::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

/* -----------hightech_table（終）----------- */

.artic p::before {
  content: "　";
}

#fixTotalPoint {
  display: flex;
  justify-content: space-between;
  position: sticky;
  position: -webkit-sticky;
  align-items: center;
  top: 0;
  padding: 0 10px;
  margin-bottom: 10px;
  background-color: var(--main-bg-color);
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
  z-index: 90;
}

#fixTotalPoint_rightPart {
  display: flex;
  flex-direction: column;
}

#fixTotalPoint_word {
  padding-left: 5px;
}

#totalPoint {
  flex: auto;
}

#sumPoint_button {
  width: fit-content;
  margin-left: auto;
  font-weight: bold;
  font-size: 0.9em;
  letter-spacing: 0.1em;
  text-decoration: none;
  display: inline-block;
  padding: 5px 10px;
  position: relative;
  /* border: 3px solid #60f571; */
  border-radius: 25px;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
}

#fixTotalPoint_officeName {
  /* padding-right: 5px; */
  /* margin-top: auto; */
  color: #dedddd;
}

#fixTotalPoint_officeName::before {
  content: '梁豪輝行政書士事務所';
}

/* -----------Q&A（始）----------- */
.FAQ,
.s_work_flow_step {
  max-width: 500px;
  margin-bottom: 10px;
  border: none;
  border-radius: 25px;
  box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
  background-color: #f8f6f6;
}

.FAQ summary,
.s_work_flow_number {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 2em 1em 3em;
  color: var(--h2-color);
  font-weight: 600;
  cursor: pointer;
}

.FAQ summary::before,
.FAQ p::before,
.s_work_flow_number::before,
.s_work_flow_step p::before {
  position: absolute;
  left: 1em;
  font-weight: 600;
  font-size: 1.3em;
}

.FAQ summary::before {
  color: #75bbff;
  content: "Q";
}

.FAQ summary::after,
.s_work_flow_number::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid var(--link-color);
  border-right: 3px solid var(--link-color);
  content: ' ';
  transition: transform .5s;
}

.FAQ[open] summary::after,
.s_work_flow_step[open] .s_work_flow_number::after {
  transform: rotate(225deg);
}

.FAQ p,
.s_work_flow_step p {
  position: relative;
  transform: translateY(-50px);
  opacity: 0;
  margin: 0;
  padding: .3em 3em 1.5em;
  color: #333;
  transition: transform .5s, opacity .5s;
}

.FAQ[open] p,
.s_work_flow_step[open] p {
  transform: none;
  opacity: 1;
}

.FAQ p::before {
  color: #ff8d8d;
  line-height: 1.2;
  content: "A";
}

summary {
  display: block;
  list-style: none;
}

/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
  display: none;
}



/* -----------Q&A（終）----------- */