@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
body { margin: 0; }
.cotoel-content, .cotoel-content * { box-sizing: border-box; }
.cotoel-content { color: #101b48; font-family: "Noto Sans JP", sans-serif; font-size: 14px; line-height: 1.65; background: #fff; }
.cotoel-content h1, .cotoel-content h2, .cotoel-content h3, .cotoel-content p { margin: 0; }
.cotoel-banner { padding: 18px 20px; text-align: center; background: linear-gradient(110deg,#008dff 0%,#6256fc 60%,#a83ff1 100%); color: #fff; }
.cotoel-banner h1 { font-size: 36px; font-weight: 700; letter-spacing: .055em; line-height: 1.4; }
.cotoel-section { position: relative; overflow: hidden; padding: 22px max(24px, calc((100% - 880px) / 2)); }
.cotoel-section > * { position: relative; z-index: 1; }
.cotoel-section h2 { font-size: 30px; line-height: 1.4; font-weight: 700; }
.cotoel-section h2::after { content: ""; display: block; width: 31px; height: 3px; margin: 5px 0 4px; background: linear-gradient(90deg,#009aff,#7451ff); }
.cotoel-intro { color: #34436b; font-size: 17px; font-weight: 500; }
.cotoel-card { background: #fff; border: 1px solid #edf3fc; border-radius: 8px; box-shadow: 0 1px 10px #dfeaf8; }
.cotoel-feature { display: grid; grid-template-columns: 236px minmax(0,1fr); gap: 16px; margin-top: 19px; padding: 12px; }
.cotoel-art { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 5px; }
.cotoel-feature .cotoel-picture { aspect-ratio: 236 / 201; align-self: center; }
.cotoel-copy { display: flex; flex-direction: column; min-width: 0; }
.cotoel-meta { display: flex; align-items: center; gap: 30px; margin: 4px 0 12px; font-size: 12px; color: #34436b; }
.cotoel-tag { padding: 1px 13px; border-radius: 20px; background: #dcecff; color: #4668f7; font-weight: 600; }
.cotoel-feature h3 { font-size: 20px; line-height: 1.5; margin-bottom: 8px; }
.cotoel-description { color: #34436b; font-size: 17px; }
.cotoel-link { display: flex; align-items: center; justify-content: center; position: relative; min-height: 38px; padding: 7px 35px; border: 1px solid #354166; border-radius: 30px; text-decoration: none; color: #101b48; font-size: 16px; font-weight: 700; line-height: 1.5; }
.cotoel-link span { position: absolute; right: 18px; font-size: 17px; font-weight: 400; }
.cotoel-link:focus-visible { outline: 3px solid #1784ff; outline-offset: 3px; }
.cotoel-feature .cotoel-link { align-self: flex-end; min-width: 152px; margin-top: auto; }
.cotoel-resources { padding-top: 29px; padding-bottom: 22px; background: #f0f8ff; }
.cotoel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.cotoel-resource { display: grid; grid-template-columns: 40% minmax(0,1fr); gap: 15px; padding: 11px; }
.cotoel-resource .cotoel-picture { min-height: 200px; }
.cotoel-resource time { color: #34436b; font-size: 16px; margin: 2px 0 5px; }
.cotoel-resource h3 { font-size: 15px; line-height: 1.6; margin-bottom: 11px; }
.cotoel-resource .cotoel-description { font-size: 16px; line-height: 1.65; margin-bottom: 8px; }
.cotoel-resource .cotoel-link { margin-top: auto; }
@media (max-width: 760px) {
 .cotoel-banner h1 { font-size: 28px; }
 .cotoel-section { padding-left: 20px; padding-right: 20px; }
 .cotoel-section h2 { font-size: 26px; }
 .cotoel-feature { grid-template-columns: 30% minmax(0,1fr); }
 .cotoel-feature h3 { font-size: 18px; }
 .cotoel-feature .cotoel-link { margin-top: 12px; }
 .cotoel-grid { grid-template-columns: 1fr; }
 .cotoel-resource { grid-template-columns: 164px minmax(0,1fr); }
}
@media (max-width: 480px) {
 .cotoel-feature { grid-template-columns: 1fr; }
 .cotoel-feature .cotoel-picture { width: 100%; max-width: 280px; justify-self: center; }
 .cotoel-feature h3 br { display: none; }
 .cotoel-resource { grid-template-columns: 1fr; }
 .cotoel-resource .cotoel-picture { width: 164px; height: 200px; justify-self: center; }
 .cotoel-resource .cotoel-link { margin-top: 8px; }
}
