.photo-link { width: 100%; max-width: 170px; }
@media screen and (max-width: 750px) { .photo-link { margin: 0 0 0 auto; } }
.photo-link a { display: flex; align-items: center; justify-content: center; text-decoration: none; padding: 20px 10px; background-color: #00adaf; border-radius: 2em; }
@media screen and (max-width: 750px) { .photo-link a { padding-block: 10px; } }
.photo-link a .ico { width: 0.5rem; margin-right: 10px; }
.photo-link a span { font-size: 1.7rem; font-weight: 500; color: #fff; }

._idx .photo-top { margin-bottom: 60px; }
._idx .photo-top .photo-box { display: flex; justify-content: space-between; padding: 40px 60px; background-color: #f1f7fc; border-radius: 20px; gap: 30px 80px; }
@media screen and (max-width: 750px) { ._idx .photo-top .photo-box { flex-direction: column; padding: 30px; } }
._idx .photo-top .photo-box .photo-txt { flex: 1; }
._idx .photo-top .photo-box .photo-txt a { color: #007bff; }
._idx .photo-main { margin-bottom: 130px; }
._idx .photo-main .photo-heading { margin-bottom: 40px; padding-bottom: 15px; border-bottom: 3px dotted #00adaf; font-size: 2.8rem; font-weight: 700; color: #00adaf; }
@media screen and (max-width: 750px) { ._idx .photo-main .photo-heading { font-size: 2.2rem; } }
._idx .photo-main .photo-list { margin-bottom: 60px; }
._idx .photo-main ul { display: flex; flex-wrap: wrap; gap: 80px 2.0833333333%; margin-bottom: 50px; padding-bottom: 50px; border-bottom: 1px solid #c4d9d9; }
@media screen and (max-width: 750px) { ._idx .photo-main ul { gap: 40px 4%; } }
._idx .photo-main ul:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
._idx .photo-main ul li { width: 23.3333333333%; }
@media screen and (max-width: 750px) { ._idx .photo-main ul li { width: 48%; } }
._idx .photo-main ul li a { display: block; text-decoration: none; }
._idx .photo-main ul li dl { margin-top: 20px; }
._idx .photo-main ul li dl dt { margin-bottom: 10px; font-size: 2.2rem; font-weight: 600; }
@media screen and (max-width: 750px) { ._idx .photo-main ul li dl dt { font-size: 1.8rem; } }
._idx .photo-main ul li dl dd { font-size: 1.5rem; }
@media screen and (max-width: 750px) { ._idx .photo-main ul li dl dd { font-size: 1.4rem; } }
._idx .photo-rule { padding: 75px 0 100px; background-color: #edf7f3; }
@media screen and (max-width: 750px) { ._idx .photo-rule { padding: 60px 0; } }
._idx .photo-rule .rule-heading { margin-bottom: 30px; font-size: 3.0rem; font-weight: 500; text-align: center; font-weight: 700; }
@media screen and (max-width: 750px) { ._idx .photo-rule .rule-heading { font-size: 2.2rem; } }
._idx .photo-rule .rule-subheading { margin-bottom: 55px; padding: 5px 20px; background-color: #00adaf; font-size: 2.2rem; font-weight: 500; font-weight: 700; color: #fff; border-radius: 5px; }
@media screen and (max-width: 750px) { ._idx .photo-rule .rule-subheading { margin-bottom: 30px; font-size: 1.8rem; } }
._idx .photo-rule .rule-box { width: 100%; max-width: 1000px; margin: 0 auto; padding: 30px; background-color: #fff; border-radius: 5px; }
._idx .photo-rule .rule-box ol li { margin-bottom: 0.5em; padding-left: 1rem; text-indent: -1rem; line-height: 2; }
._idx .photo-rule .rule-box ol li:last-child { margin-bottom: 0; }

._detail { position: relative; padding-bottom: 140px; }
@media screen and (max-width: 750px) { ._detail { padding-bottom: 100px; } }
._detail::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin-top: 125px; background-color: #dfefed; border-top-left-radius: 4em; border-top-right-radius: 4em; }
@media screen and (max-width: 750px) { ._detail::before { margin-top: 60px; border-top-left-radius: 3em; border-top-right-radius: 3em; } }
._detail .detail-main { position: relative; margin-top: -125px; }
@media screen and (max-width: 750px) { ._detail .detail-main { margin-top: -100px; } }
._detail .detail-main .detail-contents { padding: 40px 20px 90px; background-color: #fff; border-radius: 10px; }
@media screen and (max-width: 750px) { ._detail .detail-main .detail-contents { padding: 40px 4.347826087%; } }
._detail .detail-main .detail-in { width: 100%; max-width: 1000px; margin: 0 auto; }
._detail .detail-main .detail-heading { margin-bottom: 50px; font-size: 2.1rem; font-weight: 500; text-align: center; color: #00adaf; }
@media screen and (max-width: 750px) { ._detail .detail-main .detail-heading { margin-bottom: 40px; font-size: 1.8rem; } }
._detail .detail-main .detail-heading span { padding-bottom: 15px; border-bottom: 1px solid #00adaf; }
@media screen and (max-width: 750px) { ._detail .detail-main .detail-heading span { padding-bottom: 10px; } }
._detail .detail-main .detail-subheading { margin-bottom: 20px; font-size: 3.4rem; font-weight: 500; text-align: center; }
@media screen and (max-width: 750px) { ._detail .detail-main .detail-subheading { font-size: 2.4rem; } }
._detail .detail-top { display: flex; justify-content: space-between; margin-top: 0; margin-bottom: 35px; padding-bottom: 15px; border-bottom: 1px solid #c4d9d9; }
@media screen and (max-width: 750px) { ._detail .detail-top { display: block; } }
._detail .detail-top .detail-record { font-size: 2.0rem; font-weight: 500; }
@media screen and (max-width: 750px) { ._detail .detail-top .detail-record { font-size: 1.6rem; } }
._detail .detail-top .detail-record .detail-record-num { margin: 0 0.2em; font-size: 4.0rem; }
@media screen and (max-width: 750px) { ._detail .detail-top .detail-record .detail-record-num { font-size: 3.0rem; } }
._detail .detail-top .detail-record .detail-record-txt { font-size: 2.2rem; }
@media screen and (max-width: 750px) { ._detail .detail-top .detail-record .detail-record-txt { font-size: 1.8rem; } }
._detail ul { display: flex; flex-wrap: wrap; gap: 38px 3.8%; margin-bottom: 60px; }
@media screen and (max-width: 750px) { ._detail ul { flex-direction: column; } }
._detail ul li { width: 30.8%; padding: 20px 10px; border: 1px solid #c4d9d9; border-radius: 10px; }
@media screen and (max-width: 750px) { ._detail ul li { width: 100%; } }
._detail ul li dl { margin-top: 20px; padding: 0 10px; }
._detail ul li dl dt { margin-bottom: 30px; font-size: 1.3rem; text-align: center; }
._detail ul li dl dd { border-bottom: 2px solid #00adaf; }
._detail ul li dl dd a { display: block; text-decoration: none; padding-bottom: 5px; background: url("../img/common/ico_dl.svg") no-repeat left bottom 10px; background-size: 13px auto; font-size: 1.3rem; text-align: center; }

/*# sourceMappingURL=photo.css.map */
