/*
Theme Name: KIZASHI
Theme URI: https://preparations.kizashi-co.jp/
Author: KIZASHI
Author URI: https://preparations.kizashi-co.jp/
Description: Donations: 経営者・担当者のパートナーとなり、支援企業様の事業に貢献。申請件数6,000件以上、お取引社数250社以上の実績で、補助金申請を完全サポート。アウトソーシングのプロとして、事業作りのお手伝いをさせて頂きます。
Tags: KIZASHI, 導入補助金
Version: 2023
Requires at least: 5.2
Tested up to: 6.1
Requires PHP: 7.0
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: KIZASHI
*/

/* reset.css */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
    font-family: 'Noto Sans JP', sans-serif;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
    cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
    list-style: none;
}

/* For images to not be able to exceed their container */
img {
    max-width: 100%;
}

/* removes spacing between cells in tables */
table {
    border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
    -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
    white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
    -webkit-appearance: revert;
    appearance: revert;
}

/* reset default text opacity of input placeholder */
::placeholder {
    color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
    display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
    -webkit-user-drag: element;
}

/* common */
html {scroll-behavior: smooth;}
body {
    background: #f9f9f9;
}
:root {
    --main-primary: #009D92;
    --main-secondary: #36495C;
    --main-text: #313131;
	 --main-danger: #E20000;
}
p {line-height: 200%; letter-spacing: 2.16px; color: var(--main-text); word-wrap: break-word; font-size: 1rem;}
a {transition: 0.3s ease-in-out;}

::placeholder {
    color: #ccc;
}

/* common conponents */
a.primaryBtn {
    display: flex;
    width: 340px;
    height: 70px;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    background: var(--main-primary, #009D92);
    box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
    overflow: hidden;
    position: relative;
}
a.secondaryBtn {
    display: flex;
    width: 340px;
    height: 70px;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    background: var(--main-secondary, #36495C);
    box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, 0.25);
    color: #fff;
    font-weight: 600;
    font-size: 1.2rem;
    overflow: hidden;
    position: relative;
}
a.primaryBtn:before, a.secondaryBtn:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-image: linear-gradient( 130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
    animation: shine 6s infinite;
  }

a.primaryBtn:hover, a.secondaryBtn:hover {
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}
a.primaryBtn:after, a.secondaryBtn:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    opacity: 0.6;
    font-size: 1.2rem;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
}

/* common animetion */
@keyframes fadeIn {
    0% {
      opacity: 0;
      transform: translateY(30px);
    }
    100% {
      opacity: 1;
    }
}
@keyframes shine {
    33% {
      left: 100%;
    }
    100% {
      left: 100%;
    }
}

/* top */
main#topmodal {
    border-radius: 6px;
    background: rgba(49, 49, 49, 0.20);
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
.topmodal__inner {
    width: 100%;
    max-width: 850px;
    border-radius: 8px;
    border: 1px solid #DDD;
    background: #FFF;
    box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.17);
    padding: 50px;
    display: flex;
    flex-direction: column;
    gap: 35px;
    animation: fadeIn 1.1s ease 0s 1 normal;
}
.topmodal__inner--heading h1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--main-text);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 3.16px;
    font-size: 2.4rem;
    gap: 12px;
}
.topmodal__inner--heading h1 span {
    font-size: 1.2rem;
    font-weight: 400;
    color: #707070;
}
.topmodal__inner--middle p {
    width: 100%;
    max-width: 650px;
    margin: 0 auto;
}
.topmodal__inner--bottom {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 45px;
    align-items: center;
    flex-wrap: wrap;
}

/* main */
main.corporation, main.person {
    padding-top: 80px;
    padding-bottom: 40px;
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
	 flex-wrap: wrap;
}

/* header */
article.post {
    display: flex;
    width: 825px;
    padding: 50px 55px;
    flex-direction: column;
    gap: 32px;
    border-radius: 8px;
    background: #FFF;
}
/* important */
article section:last-child {
    padding-bottom: 0 !important;
    border-bottom: none !important;
}
/* important */
.post__top {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding-bottom: 30px;
    border-bottom: solid 1px #ddd;
}
.post__top h1 {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
    color: var(--main-txt, #313131);
    font-size: 2rem;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 1.6px;
}

span.number {
    border-radius: 9999px;
    background: var(--main-primary, #009D92);
    display: flex;
    width: 42px;
    height: 42px;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-family: Roboto;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
}

ul.post__top--tag {
    display: flex;
    gap: 30px;
    align-items: center;
}
ul.post__top--tag li {
    display: flex;
    min-width: 180px;
    padding: 10px 14px 12px 14px;
    justify-content: center;
    align-items: center;
    gap: 14px;
    flex-direction: row;
}
li.guideline {
    border-radius: 6px;
    background: var(--main-danger, #E20000);
}
li.guideline i {
    color: var(--main-danger, #E20000);
}
li.progress {
    border-radius: 6px;
    background: var(--main-txt, #313131);
}
.post__top--tagIcon {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}
.post__top--tagIcon i {
    display: flex;
    width: 42px;
    height: 42px;
    padding: 10px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 9999px;
    font-size: 1.2rem;
}
p.post__top--tagText {
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.3;
}
p.post__top--tagText span {
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: 0.5px;
}
.post__top--img {
    display: flex;
    padding: 15px 0px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border-radius: 8px;
    border: 1px solid #DDD;
    background: #F9F9F9;
	 animation: fadeIn 1.1s ease 0s 1 normal;
}

/* flow */
section#flow {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding-bottom: 30px;
    border-bottom: solid 1px #ddd;
}
article.post h2 {
    color: var(--main-txt, #313131);
    font-family: "Noto Sans JP";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    letter-spacing: 1.4px;
}
ul.flow__timeline {
    display: flex;
    padding: 25px;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 6px;
    border: 1px solid #DDD;
}
ul.flow__timeline li {
    width: 100%;
}
p.flow__timeline--heading {
    position: relative;
    font-size: 0.9rem;
    color: var(--main-primary, #009D92);
    font-family: "Noto Sans JP";
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.7px;
    padding-left: 30px;
}
p.flow__timeline--heading:before {
    content: "";
    width: 13px;
    height: 13px;
    background: var(--main-primary, #009D92);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 9999px;
}

.flow__timeline--inner {
    position: relative;
    display: flex;
    padding: 15px 14px 30px 30px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    flex: 1 0 0;
}
.flow__timeline--inner:before {
    content: "";
    left: 6px;
    top: 0;
    position: absolute;
    background: #ddd;
    width: 2px;
    height: 100%;
}
ul.flow__timeline li:last-child .flow__timeline--inner:before {
    content: none;
}
.flow__timeline--inner h3 {
    color: var(--main-txt, #313131);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 210%;
    letter-spacing: 1.2px;
}
.flow__timeline--innerHtml {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.flow__timeline--innerHtml a {
    display: inline-flex;
    padding: 4px 24px 8px 40px;
    align-items: center;
    gap: 10px;
    border-radius: 5px;
    background: var(--main-primary, #009D92);
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.25);
    color: #fff;
    line-height: 200%;
    letter-spacing: 2.16px;
    width: fit-content;
    position: relative;
}
.flow__timeline--innerHtml a:hover {
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
	 opacity: 0.8;
}
.flow__timeline--innerHtml a:before {
    content: "\f0c1";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
	 opacity: 0.5;
}
.flow__timeline--innerHtml p b {
    font-weight: 600;
}

/* attention */
section#attention {
    display: flex;
    flex-direction: column;
    gap: 5px;
    background: #f9f9f9;
    padding: 20px 35px;
}
ul.attention__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
ul.attention__list li {
    position: relative;
    padding-left: 28px;
    color: var(--main-danger, #E20000);
    font-weight: 500;
    font-size: 1.1rem;
    line-height: 200%;
    letter-spacing: 2.16px;
}
ul.attention__list li:before {
    content: "\f071";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 19px;
    transform: translateY(-50%);
    color: var(--main-danger, #E20000);
    opacity: 0.6;
    font-size: 1.2rem;
}
/* memo */
.memo {
    margin: 15px 0px;
}
.memo h4 {
    display: inline-flex;
    padding: 5px 20px 8px 20px;
    justify-content: center;
    align-items: center;
    border-radius: 5px 5px 0px 0px;
    background: #AAA;
    color: #fff;
    letter-spacing: 2.16px;
}
.memo__inner {
    display: flex;
    padding: 16px 25px 25px 25px;
    align-items: flex-start;
    gap: 6px;
    flex-direction: column;
    border-radius: 0px 5px 5px 5px;
    border: 2px solid #AAA;
    background: #FFF;
}
.memo__inner ul {
    list-style: disc;
    padding: 0 26px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.memo__inner ul li {
    line-height: 200%;
    letter-spacing: 2.16px;
}

/* side */
aside {
    display: flex;
    width: 360px;
    padding-bottom: 6px;
    flex-direction: column;
    align-items: flex-start;
    flex-shrink: 0;
}
.sideNavi {
    position: sticky;
    top: 40px;
    border-radius: 8px;
    background: #FFF;
    box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.10);
    width: 100%;
	 animation: fadeIn 1.1s ease 0s 1 normal;
}
.select {
    display: flex;
    padding: 10px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    border-radius: 8px 8px 0px 0px;
    border-bottom: 1px solid #DDD;
    background: #F9F9F9;
}
.choices {
    width: 100%;
}
.choices__list--single {
    padding: 0;
}
.undefined.undefined {
    display: flex;
    align-items: center;
    font-size: 1.2rem;
    gap: 10px;
	 letter-spacing: 1.46px;
}
.choices__inner {
    background: #fff;
    display: flex;
    justify-content: flex-start;
    width: 100%;
	 border-radius: 6px;
}
.choices[data-type*=select-one] .choices__inner {
    padding: 0;
}
.select .undefined.undefined {
    color: #707070;
	 padding: 12px 20px;
	 transition: 0.2s ease-in-out;
}
.select .undefined.undefined:hover {
    background: #f9f9f9;
}
.select .choices__list.choices__list--single .undefined.undefined {
    color: var(--main-primary, #009D92);
}
.select .choices__list.choices__list--single .undefined.undefined i {
    opacity: 0.5;
}

.sideHeading {
    display: flex;
    padding: 10px 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
}
.sideHeading h2 {
    display: flex;
    padding: 7px 15px 10px 16px;
    align-items: center;
    gap: 10px;
    flex: 1 0 0;
    background: #f9f9f9;
    border-radius: 6px;
    color: #707070;
    font-family: "Noto Sans JP";
    font-size: 1.1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 1.54px;
}
ul.sideMenu {
    counter-reset: li;
    display: flex;
    flex-direction: column;
    border-bottom: solid 1px #ddd;
}
ul.sideMenu li a {
    display: flex;
    padding: 15px 30px 15px 55px;
    align-items: flex-start;
    gap: 10px;
    color: #999;
    font-size: 1rem;
    line-height: 140%;
    letter-spacing: 1px;
    position: relative;
}
ul.sideMenu li a:hover {
    background: #f9f9f9;
    color: var(--main-text);
}
ul.sideMenu li a:before {
    counter-increment: li;
    content: counter(li);
    width: 22px;
    text-align: center;
    font-family: 'Avenir Next', 'Helvetica Neue', Arial, 'Meiryo','Yu Gothic', san-serif;
    font-weight: 400;
    color: #fff;
    position: absolute;
    left: 24px;
    top: 17px;
    background: #999;
    border-radius: 9999px;
    font-size: 0.9rem;
    height: 22px;
}

aside.corporation ul.sideMenu li.active a {
    background: var(--main-primary);
}

aside.corporation ul.sideMenu li.active a {
    background: #ddd;
    color: var(--main-text);
    font-weight: 600;
}
aside.corporation ul.sideMenu li.active a:before {
    background: var(--main-primary);
}
ul.sideMenu li.active a:after {
    content: "";
    position: absolute;
    top: 50%;
    left: -30px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #ddd;
}

.sideBottom a {
    display: flex;
    padding: 15px 30px 15px 55px;
    align-items: flex-start;
    gap: 10px;
    color: var(--main-primary);
    font-size: 1.1rem;
    line-height: 140%;
    letter-spacing: 1px;
    position: relative;
    font-weight: 600;
}
.sideBottom a:before {
    content: "\f05a";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    opacity: 0.5;
    left: 25px;
    top: 15px;
    font-size: 1.3rem;
}
.sideBottom a:hover {
    background: #f9f9f9;
}
.sideBottom.active a {
    background: #F5FFFE;
}

/* person */
main.person .post__top h1 span {
    background: var(--main-secondary);
}
main.person p.flow__timeline--heading {
    color: var(--main-secondary);
}
main.person p.flow__timeline--heading:before {
	 background: var(--main-secondary);
}

.select.personChoice .choices__list.choices__list--single .undefined.undefined {
    color: var(--main-secondary);
}
aside.person ul.sideMenu li a:hover {
    background: #f9f9f9;
    color: var(--main-text);
}
aside.person ul.sideMenu li.active a {
    background: #ddd;
    color: var(--main-text);
    font-weight: 600;
}
aside.person ul.sideMenu li.active a:before {
    background: var(--main-secondary);
}
/* footer */
footer#footer {
    display: flex;
    justify-content: center;
    padding: 12px;
}
footer#footer p {
    color: #707070;
    font-size: 0.7rem;
}

/* prevnext */
section#prevnext {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.prevPage a, .nextPage a {
    display: flex;
    width: 280px;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0px 2px 9px 0px rgba(0, 0, 0, 0.15);
    color: #707070;
    font-size: 1.1rem;
    font-weight: 500;
    overflow: hidden;
    position: relative;
    padding: 16px 0 19px;
    letter-spacing: 2px;
    border: solid 1px #ddd;
}
.nextPage a {
    background: var(--main-primary);
    color: #fff;
}
.nextPage a:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    opacity: 0.6;
    font-size: 1.2rem;
    right: 20px;
	 top: 50%;
	 transform: translateY(-50%);
}
.prevPage a:after {
    content: "\f104";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    opacity: 0.6;
    font-size: 1.2rem;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}
main.person .nextPage a {
    background: var(--main-secondary);
}
.prevPage a:before, .nextPage a:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-image: linear-gradient( 130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
    animation: shine 6s infinite;
  }

.prevPage a:hover, .nextPage a:hover {
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

/* accordion */
.acco {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 15px 0;
    gap: 22px;
}
.acc_wrapper {
    border-radius: 6px;
    background: #FFF;
    box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.10);
	 transition: 0.5s ease-in;
}

.acc_wrapper:hover {
    background: #f9f9f9;
}
.accordion {
    display: flex;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    position: relative;
    margin: 0;
    align-items: center;
    padding: 15px 25px 18px;
}
.accordion.active {
    margin-bottom: 0;
	 color: var(--main-primary, #009D92);
}
.panel{
  max-height:0;
  overflow:hidden;
  transition: 0.3s ease-out;
}
.panel__inner {
    padding: 16px 25px 22px;
    position: relative;
    border-top: solid 1px #eee;
}
.panel__inner p {
    font-size: 0.9rem;
}
.panel__inner a {
    text-decoration: underline;
    color: var(--main-primary, #009D92);
    font-size: 0.9rem;
}
.panel__inner br {
    display: block;
    content: "";
    height: 10px;
}
.panel__inner a:hover {
    opacity: 0.6;
}
.accordion:after {
    font-size: 1.3rem;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    content: "\f055";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    color: var(--main-txt, #313131);
    opacity: 0.4;
}
div.accordion.active:after {
    content: "\f056";
	 color: var(--main-primary, #009D92);
	 opacity: 1;
}

/* CSSでサイドバー制御 */
button#modalBtn {
    display: none;
}
span.close {
    display: none;
}
.modal-content {
    position: sticky;
    top: 40px;
}

@media screen and (max-width: 1200px) {
/* ここに1200以下を記述） */
	main.corporation, main.person {
    padding-left: 2%;
    padding-right: 2%;
	}
	article.post {
    width: calc(100% - 380px);
    padding: 2% 3%;
	}
}

@media screen and (max-width: 1024px) {
/* ここに1000以下を記述） */
	main#topmodal {
    padding-left: 4%;
    padding-right: 4%;
	}
	aside {
    width: 280px;
	}
	article.post {
    width: calc(100% - 300px);
	}
}

@media screen and (max-width: 767px) {
/* （ここにモバイル用スタイルを記述） */
	main#topmodal {
    padding: 20px 4% 30px;
    height: 100%;
    min-height: 100vh;
	 border-radius: 0;
	}
	.topmodal__inner {
    padding: 30px 35px;
	}
	.topmodal__inner--heading h1 {
    text-align: center;
    line-height: 1.4;
	}
	main.corporation, main.person {
    padding: 0;
	}
	article.post {
    width: 100%;
    border-radius: 0;
    padding: 20px 4% 60px;
	}
	ul.post__top--tag {
    justify-content: center;
    gap: 20px;
    flex-direction: column;
	}
	.post__top h1 {
    font-size: 1.7rem;
    gap: 8px;
	}
	span.number {
    width: 32px;
    height: 32px;
    min-width: 32px;
	}
	/* sticky時 */
	h1#stickyElement.sticky-active {
    position: fixed;
    top: 0;
    background: var(--main-primary);
    left: 0;
    width: 100%;
    color: #fff;
    font-size: 1rem;
    padding: 5px 13px;
	 z-index: 2;
	 animation: fadeIn 0.8s ease 0s 1 normal;
	}
	h1#stickyElement.sticky-active span.number {
    background: #fff;
    width: 22px;
    height: 22px;
    font-size: 1rem;
    color: var(--main-primary);
    min-width: 22px;
	}
	main.person h1#stickyElement.sticky-active {
	 background: var(--main-secondary);
	}
	main.person h1#stickyElement.sticky-active span.number {
	 color: var(--main-secondary);
	}
	ul.flow__timeline {
    padding: 0;
    border: none;
	}
	/* modal */
	/* モーダルの背景 */
	.modal {
	  display: none; /* デフォルトでは非表示 */
	  position: fixed; /* 画面に固定 */
	  z-index: 3; /* コンテンツの上に表示 */
	  left: 0;
	  top: 0;
	  width: 100%; /* 全幅 */
	  height: 100%; /* 全高さ */
	  overflow: auto; /* 外側をクリックして閉じるため */
	  background-color: rgb(0,0,0); /* 背景色 */
	  background-color: rgba(0,0,0,0.4); /* 黒色、透明度 */
	  animation: fadeIn 0.6s ease 0s 1 normal;
	}

	/* モーダルのコンテンツ */
	.modal-content {
		position: absolute;
		border: 1px solid #888;
		width: 80%;
		display: flex;
		justify-content: center;
		align-items: center;
		left: 50%;
		top: calc(50% + -50px);
		transform: translate(-50%, -50%);
	}

	/* クローズボタンのスタイル */
	.close {
		color: #707070;
		font-size: 1.6rem;
		font-weight: bold;
		position: absolute;
		background: #fff;
		width: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 50px;
		border-radius: 9999px;
		line-height: 50px;
		bottom: -60px;
	}

	.close:hover,
	.close:focus {
	  color: black;
	  text-decoration: none;
	  cursor: pointer;
	}
	ul.sideMenu li.active a:after {
		content: none;
	}
	aside {
		width: 100%;
	}
	button#modalBtn {
    position: fixed;
    bottom: 15px;
    right: 15px;
    display: block;
	}
	button#modalBtn:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.25);
    left: 0;
    top: auto;
    border-radius: 9999px;
    background: var(--main-primary);
	}
	button#modalBtn i {
    font-size: 1.7rem;
    padding: 20px;
    position: relative;
    z-index: 1;
    color: #fff;
	}
	main.person button#modalBtn:after {
    background: var(--main-secondary);
	}
	span.close {
    display: flex;
	}
	/* prev next */
	section#prevnext {
    flex-direction: column-reverse;
    gap: 30px;
	}
	/* accordion */
	.accordion {
    padding: 12px 45px 15px 25px;
    line-height: 1.83;
	}
	section#attention {
    padding: 15px 20px;
	}
	/* モーダルの中 */
	ul.sideMenu li a, .sideBottom a {
    padding: 10px 30px 12px 55px;
	}
	ul.sideMenu li a:before {
    top: 11px;
	}
	.select .undefined.undefined {
    padding: 10px 16px;
	}
}

@media only screen and (min-width: 767px) and (max-width: 1280px) {
/* （ここにタブレット用スタイルを記述） */
	section#prevnext {
    flex-direction: row;
    gap: 30px;
    justify-content: center;
	}
} 


.box1 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    border: solid 3px #000000;
}
.box1 p {
    margin: 0; 
    padding: 0;
}