@media screen and (min-width: 768px) {
	.mimamori-hero .mimamori-cta__button {
		top: 343px;
		left: 144px;
	}
}
.mimamori-support__service-contents { display: flex; gap: 20px;margin-bottom: 20px; align-items: flex-start; }
.mimamori-support__service-contents-image { flex: 1; }
.mimamori-support__service-contents-image img { border-radius: 20px; height: 100%; width: 100%; object-fit: cover; }
.mimamori-support__service-contents .icon-box,
.mimamori-support__service-contents-list { flex: 1; }
.mimamori-support__service-contents-list ul { display: flex; flex-direction: column; gap: 5px; }
.mimamori-support__service-contents-list li { padding: 10px; background-color: #fff; border-radius: 10px; border-left: 5px solid #fa6400; }
.mimamori-support__service-contents-list li span { display: block; font-size: 22px; font-weight: 700; color: #1d50a2; }
@media screen and (max-width: 767px) {
	.mimamori-support__service-contents { flex-direction: column; gap: 10px; }
	.mimamori-support__service-contents-list li { font-size: 14px; }
	.mimamori-support__service-contents-list li span { font-size: 18px; }
}
.mimamori-section[data-bg=blue].mimamori-step { background: #1d50a2;}
.mimamori-section[data-bg=blue].mimamori-step:before { content: none; }
.mimamori-section[data-bg=blue].mimamori-step .mimamoriri-heading-l { text-align: center; color: #fff; border-bottom: none; position: relative; }
.mimamori-section[data-bg=blue].mimamori-step .mimamoriri-heading-l::after { content: ""; position: absolute; width: 60px; height: 4px; background: #fff; bottom: 0; left: 50%; transform: translateX(-50%); }
.mimamori-section[data-bg=blue].mimamori-step .mimamori-section-lead { text-align: center; color: #fff; }
.mimamori-section[data-bg=blue].mimamori-step .mimamori-section-lead .dash { display: inline-block; width: 40px; height: 2px; background: #fff; margin: 0 10px; vertical-align: middle; }
.mimamori-section__step { display: flex; gap: 20px; flex-direction: column;}
.mimamori-section__step-element { display: flex; gap: 10px; background: #fff; padding: 20px 50% 40px 20px; border-radius: 10px; flex-direction: column; align-items: flex-start; position: relative; overflow: hidden;}
.mimamori-section__step-element .tag { color: #fff; background-color: #1d50a2; padding: 5px 10px 3px; border-radius: 5px; font-weight: 700; }
.mimamori-section__step-element .ttl { font-size: 24px; font-weight: 700; color: #1d50a2; }
.mimamori-section__step-element img { position: absolute; top: 0; right: 0; width: 50%; height: 100%; object-fit: cover; clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%); }
@media screen and (max-width: 767px) {
	.mimamori-section__step-element { padding: 15px 20px;}
	.mimamori-section__step-element img { position: static; width: 80%; height: auto; clip-path: none; display: block; margin: 10px auto 0; border-radius: 5px;}
	.mimamori-choice .mimamori-section__table { border-collapse:separate; min-width: 600px; }
	.mimamori-choice .mimamori-section__table th:nth-child(1), .mimamori-choice .mimamori-section__table td:nth-child(1) { position: sticky; left: 0; top: 0; width: 60px!important; z-index: 2; padding: 10px 5px;}
	.mimamori-choice .mimamori-section__table th:nth-child(2), .mimamori-choice .mimamori-section__table td:nth-child(2) { width: 150px!important;}
	.mimamori-choice .mimamori-section__table th:nth-child(3), .mimamori-choice .mimamori-section__table td:nth-child(3) { width: calc(100% - 210px)!important;}
}


.mimamori-section__table thead th span { background-color: #fa6400; color: #fff; display: inline-block; padding: 5px 15px; border-radius: 30px; line-height: 1; font-size: 12px; }
.mimamori-section__table tbody td .note { display: block; font-size: 14px; margin-top: 5px; }
.mimamori-choice .mimamori-section__table th:last-child { border-top: 3px solid #fa6400; border-right: 3px solid #fa6400; border-left: 3px solid #fa6400; }
.mimamori-choice .mimamori-section__table td:last-child { border-right: 3px solid #fa6400; border-left: 3px solid #fa6400; }
.mimamori-choice .mimamori-section__table tr:last-child td:last-child { border-bottom: 3px solid #fa6400; }


.icon-box { display: flex; flex-wrap: wrap; gap: 10px; }
.icon-box__element { display: flex; flex-direction: column; padding: 20px; background-color: #fff; border-radius: 12px; }
.icon-box.col2 .icon-box__element { width: calc((100% - 10px) / 2); }
.icon-box.col3 .icon-box__element { width: calc((100% - 20px) / 3); border: 1px solid #ddd; }
.icon-box__icon { text-align: center; }
.icon-box__title { font-size: 22px; color: #1d50a2; font-weight: 700; text-align: center; }
.icon-box__desc { letter-spacing: -0.5px; }
@media screen and (max-width: 767px) {
	.icon-box__element { padding: 15px 10px; width: calc((100% - 10px) / 2)!important; }
	.icon-box__title { font-size: 16px; letter-spacing: -0.5px; }
}


.acc-btn details { margin-top: 30px; overflow: hidden; }
.acc-btn summary { display: block; list-style: none; position: relative; padding: 20px 50px 20px 20px; font-weight: bold; cursor: pointer; background-color: #ebf0f7; transition: background-color 0.3s ease; color: #1d50a2; font-size: 18px; }
.acc-btn summary::-webkit-details-marker { display: none; }
.acc-btn summary:hover { background-color: rgb(235, 240, 247, 0.7); }
.acc-btn details > div { margin-top: 15px; }
.acc-btn summary::before,
.acc-btn summary::after { content: ""; position: absolute; right: 25px; top: 50%; width: 16px; height: 2px; background-color: #1d50a2; transition: transform 0.3s ease; }
.acc-btn summary::after {transform: translateY(-50%) rotate(90deg);}
.acc-btn details[open] summary::after { transform: translateY(-50%) rotate(0deg); }
.acc-btn details[open] summary::before { transform: translateY(-50%) rotate(180deg); }
.acc-btn details[open] > div { animation: fadeIn 0.4s ease-out; }
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-5px); /* 少し上から下に落ちてくる動き */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


@media screen and (min-width: 768px) {
	.mimamori-nav__element a { padding: 18px 30px; background-position: center right 15px; }
}