.atc-way{
--blue:#07539a;--deep:#073e78;--line:#d7e1eb;--pale:#f6f9fc;color:#1d2a36;background:#fff
}
.atc-way *{
box-sizing:border-box}.atc-way__inner{width:min(1120px,calc(100% - 40px));margin:auto
}
.atc-way__hero{
padding:42px 0;background:linear-gradient(110deg,#2e8fd2,#0d5a9c);color:#fff;text-align:center
}
.atc-way__hero h1{
font-size:36px;margin:3px 0
}
.atc-way__hero p{
margin:0;letter-spacing:.12em
}
.atc-way__eyebrow{
font-weight:700
}
.atc-way__breadcrumb{border-bottom:1px solid var(--line);background:#fff;padding:13px 0;font-size:13px}.atc-way__breadcrumb span,.atc-way__breadcrumb a{margin-right:12px}
.atc-way__login-wrap{min-height:520px;padding:70px 20px}.atc-way__login{max-width:720px;margin:auto;padding:48px 70px;border:1px solid var(--line);background:linear-gradient(#fff,#f8fbfe);box-shadow:0 4px 18px rgba(0,40,80,.04)}
.atc-way__lock{text-align:center;font-size:28px}.atc-way__login h2{text-align:center;color:var(--deep);font-size:24px}.atc-way__login>p{text-align:center;line-height:1.9}
.atc-way__login label{display:block;font-weight:700;margin:28px 0 8px}.atc-way__password-row{display:flex;border:1px solid #aebdca;border-radius:3px;overflow:hidden;background:#fff}
.atc-way__password-row input{width:100%;border:0;padding:14px;font-size:16px;outline:none}.atc-way__toggle{border:0;background:#fff;padding:0 16px;cursor:pointer}
/* =========================================
   バックナンバー PDFボタン
========================================= */
.atc-way__card-button {
position: relative;
display: flex !important;
align-items: center;
justify-content: center;
width: 100%;
min-height: 50px;
margin-top: 14px;
padding: 10px 42px !important;
background: #edf5fb !important;
color: #073e78 !important;
border: none !important;
border-radius: 4px;
font-size: 14px;
font-weight: 700;
text-decoration: none !important;
box-sizing: border-box;
}

.atc-way__card-button::after {
content: "›";
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-52%);
color: #073e78;
font-size: 24px;
line-height: 1;
font-weight: 700;
}

.atc-way__card-button:hover {
background: #dcecf7 !important;
color: #073e78 !important;
}

.atc-way__error{color:#b42318!important;font-weight:700}
.atc-way__content{padding:55px 0 75px}.atc-way__intro{text-align:center;margin-bottom:45px}
.atc-way__section{margin-top:42px}

/* =========================================
最新号・バックナンバー 見出し
========================================= */
.atc-way__section > h3 {
display: flex !important;
align-items: flex-end !important;
clear: both;
margin: 5px 0 20px !important;
padding: 0 !important;
color: #fff !important;
font-size: 25px !important;
font-style: oblique;
border-bottom: none !important;
}

.atc-way__section > h3 span {
display: block !important;
width: auto !important;
flex: 0 0 auto !important;
padding: 16px 80px !important;
background-color: #073e78 !important;
color: #fff !important;
font-size: inherit !important;
font-weight: inherit !important;
font-style: inherit !important;
line-height: inherit !important;
}

.atc-way__section > h3::after {
content: "";
display: block;
flex: 1;
height: 2px;
background: #073e78;
}

.atc-way__latest {
display: grid;
grid-template-columns: 300px minmax(0, 1fr) 260px;
gap: 30px;
align-items: center;
width: 100%;
padding: 28px 0;
border: none;
background: #fff;
}

.atc-way__latest-info {
min-width: 0;
}

.atc-way__latest > img {
width: 100%;
height: 180px;
object-fit: cover;
object-position: center top;
border: 1px solid var(--line);
background: #f7f7f7;
box-sizing: border-box;
}

.atc-way__card img {
display: block !important;
width: 100% !important;
height: 260px !important;
object-fit: cover !important;
object-position: center top !important;
border: 1px solid var(--line);
background: #f7f7f7;
box-sizing: border-box;
}

.atc-way__latest h4{
font-size:30px;
color:var(--deep);margin:8px 0
}
.atc-way__badge{
display:inline-block;
background:var(--deep);
color:#fff;
border-radius:14px;
padding:5px 10px;
font-size:11px;
font-weight:700
}

.atc-way__meta{
font-size:13px;color:#52606c
}

.atc-way__button {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
max-width: 260px;
min-height: 58px;
margin: 0;
padding: 12px 40px 12px 20px;
position: relative;
justify-self: end;
background: #fff !important;
color: #07539a !important;
border: 1px solid #07539a;
box-sizing: border-box;
font-weight: 700;
text-decoration: none;
}

.atc-way__button::after {
content: "›";
position: absolute;
right: 18px;
top: 50%;
transform: translateY(-50%);
font-size: 25px;
}

.atc-way__year{font-size:22px;color:var(--deep);border-bottom:2px solid #55a8df;padding-bottom:7px;margin:34px 0 18px}
.atc-way__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.atc-way__card{border:1px solid var(--line);padding:16px;background:#fff}.atc-way__card h5{font-size:17px;color:var(--deep);margin:12px 0 4px}.atc-way__card h5 small{font-size:12px}.atc-way__card p{font-size:12px;margin:0 0 12px}
.atc-way__card-button{display:block;padding:10px}.atc-way__logout{text-align:right;margin-top:30px}
@media(max-width:760px){.atc-way__inner{width:min(100% - 28px,1120px)}.atc-way__login{padding:34px 22px}.atc-way__latest{grid-template-columns:1fr}.atc-way__grid{grid-template-columns:1fr}.atc-way__hero h1{font-size:30px}}

/* =========================================
   最新号 テキスト調整
========================================= */
.atc-way__latest-info {
min-width: 0;
 color: #1f2d3d;
}

.atc-way__latest-info h4 {
margin: 8px 0 10px !important;
color: #06477f !important;
font-size: 30px;
line-height: 1.3;
font-weight: 700;
}

.atc-way__latest-info .atc-way__meta {
margin: 0 0 14px !important;
color: #06477f !important;
font-size: 13px;
line-height: 1.6;
font-weight: 500;
}

.atc-way__latest-info > p:not(.atc-way__meta) {
margin: 0 !important;
font-size: 14px;
line-height: 1.8;
}

@media screen and (max-width: 900px) {
.atc-way__latest {
grid-template-columns: 220px minmax(0, 1fr) !important;
grid-template-areas:
"image info"
"image button";
gap: 10px 24px !important;
align-items: start !important;
}

.atc-way__latest > img {
grid-area: image;
width: 100% !important;
}

.atc-way__latest-info {
grid-area: info;
width: 100%;
}

 .atc-way__latest > .atc-way__button {
grid-area: button;
width: 100% !important;
max-width: none !important;
margin: 8px 0 0 !important;
justify-self: stretch !important;
}
}

@media screen and (max-width: 600px) {
.atc-way__latest {
display: grid !important;
grid-template-columns: 1fr !important;
grid-template-areas:
"image"
"info"
"button" !important;
gap: 18px !important;
width: 100% !important;
padding: 20px 0 30px !important;
}

.atc-way__latest > img {
grid-area: image;
width: 100% !important;
max-width: none !important;
margin: 0 !important;
}

.atc-way__latest-info {
 grid-area: info;
width: 100% !important;
margin: 0 !important;
}

.atc-way__latest-info h4 {
font-size: 25px !important;
margin: 7px 0 8px !important;
}

.atc-way__latest > .atc-way__button {
grid-area: button;
width: 100% !important;
max-width: none !important;
min-height: 55px;
margin: 0 !important;
justify-self: stretch !important;
}
}

@media screen and (max-width: 768px) {
.atc-way__grid {
display: grid !important;
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 16px !important;
}

.atc-way__card {
width: 100% !important;
min-width: 0 !important;
padding: 10px !important;
box-sizing: border-box !important;
}

.atc-way__card img {
width: 100% !important;
height: 220px !important;
object-fit: cover !important;
object-position: center top !important;
}

.atc-way__card h5 {
 font-size: 14px !important;
line-height: 1.4 !important;
margin: 8px 0 3px !important;
}

.atc-way__card h5 small {
font-size: 10px !important;
}

.atc-way__card p {
font-size: 10px !important;
line-height: 1.4 !important;
margin-bottom: 8px !important;
}

.atc-way__card-button {
min-height: 42px !important;
padding: 8px 28px !important;
font-size: 12px !important;
}
}

@media screen and (max-width: 768px) {
main.l-main:has(.atc-way) {
margin-left: 5px !important;
margin-right: 5px !important;
}

.atc-way__inner {
width: 100% !important;
max-width: none !important;
padding-left: 5px !important;
padding-right: 5px !important;
box-sizing: border-box;
}
}

/* =========================================
バックナンバー カードフェードイン
========================================= */
.atc-way__card.atc-card-fade {
opacity: 0;
transform: translateY(50px);
transition:
opacity 1.3s ease,
transform 1.3s ease;
}

.atc-way__card.atc-card-fade.is-show {
opacity: 1;
transform: translateY(0);
}

/* =========================================
最新号 フェードイン
========================================= */
.atc-latest-fade {
opacity: 0;
transform: translateY(50px);
transition:
opacity 1.3s ease,
transform 1.3s ease;
}

.atc-latest-fade.is-show {
opacity: 1;
transform: translateY(0);
}

/* =========================================
社内報 ログイン画面
========================================= */
.atc-way__login-wrap {
width: 100% !important;
padding: 60px 20px 100px !important;
background: #fff !important;
box-sizing: border-box !important;
}


.atc-way__login {
width: 100% !important;
max-width: 900px !important;
margin: 0 auto !important;
padding: 48px 70px 50px !important;
background: #fff !important;
border: 1px solid #d9e1e8 !important;
box-shadow: 0 3px 18px rgba(0, 45, 90, 0.06) !important;
box-sizing: border-box !important;
}

.atc-way__lock {
text-align: center !important;
font-size: 32px !important;
line-height: 1 !important;
margin: 0 0 12px !important;
color: #073e78 !important;
}

.atc-way__login h2 { margin: 0 0 24px !important;
padding: 0 !important;
color: #073e78 !important;
font-size: 25px !important;
font-weight: 700 !important;
line-height: 1.5 !important;
text-align: center !important;
background: none !important;
border: 0 !important;
}


.atc-way__login > p {
max-width: 600px !important;
margin: 0 auto 34px !important;
color: #222 !important;
font-size: 15px !important;
font-weight: 500 !important;
line-height: 2 !important;
text-align: left !important;
}

.atc-way__login form {
width: 100% !important;
max-width: 600px !important;
margin: 0 auto !important;
}

.atc-way__login label {
display: block !important;
margin: 0 0 8px !important;
color: #222 !important;
font-size: 15px !important;
font-weight: 700 !important;
}

.atc-way__password-row {
position: relative !important;
width: 100% !important;
margin-bottom: 18px !important;
}

.atc-way__password-row input {
display: block !important;
width: 100% !important;
height: 54px !important;
padding: 0 65px 0 18px !important;
background: #fff !important;
border: 1px solid #b9c7d5 !important;
border-radius: 3px !important;
color: #222 !important;
font-size: 15px !important;
box-sizing: border-box !important;
}

.atc-way__toggle {
position: absolute !important;    top: 50% !important;
right: 15px !important;
transform: translateY(-50%) !important;
width: auto !important;
height: auto !important;
padding: 5px 8px !important;
background: transparent !important;
border: 0 !important;
color: #52606c !important;
font-size: 13px !important;
cursor: pointer !important;
}

.atc-way__login-button {
display: block !important;
width: 100% !important;
height: 56px !important;
margin: 0 !important;
padding: 0 20px !important;
background: #073e78 !important;
border: 0 !important;
border-radius: 3px !important;
color: #fff !important;
font-size: 16px !important;
font-weight: 700 !important;
text-align: center !important;
cursor: pointer !important;
transition: opacity .3s ease !important;
}

.atc-way__login-button:hover {
    opacity: .82 !important;
}

@media screen and (max-width: 768px) {
.atc-way__login-wrap {
padding: 35px 10px 70px !important;
}

.atc-way__login {
max-width: none !important;
padding: 35px 20px 38px !important;
}

.atc-way__lock {
font-size: 28px !important;
margin-bottom: 10px !important;
}

.atc-way__login h2 {
font-size: 20px !important;
margin-bottom: 20px !important;
}

.atc-way__login > p {
font-size: 13px !important;
line-height: 1.8 !important;
margin-bottom: 28px !important;
}

.atc-way__password-row input {
height: 52px !important;
}

.atc-way__login-button {
height: 54px !important;
}
}

.atc-way__login-title {
display: flex !important;
align-items: center !important;
justify-content: center !important;
gap: 12px !important;
 margin-bottom: 24px !important;
}

.atc-way__login-title .atc-way__lock {
margin: 0 !important;
font-size: 27px !important;
}

.atc-way__login-title h2 {
margin: 0 !important;
}

/* =========================================
   社内報ページ スマホ左右余白を狭く
========================================= */
@media screen and (max-width: 768px) {

    /* 親テーマ側のmain余白を縮める */
    main.l-main:has(.atc-way) {
        margin-left: 3px !important;
        margin-right: 3px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* 社内報ページ本体 */
    .atc-way {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 共通コンテンツ幅 */
    .atc-way__inner {
        width: 100% !important;
        max-width: none !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        box-sizing: border-box !important;
    }

    /* ヒーローも横幅いっぱい */
    .atc-way__hero {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* パンくず */
    .atc-way__breadcrumb {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* ログインエリア */
    .atc-way__login-wrap {
        width: 100% !important;
        padding: 30px 8px 60px !important;
        box-sizing: border-box !important;
    }

    /* ログインカード */
    .atc-way__login {
        width: 100% !important;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 32px 15px 35px !important;
        box-sizing: border-box !important;
    }
}

/* パスワードをお忘れの方 */
.atc-way__forgot {
    margin: 20px 0 0 !important;
    text-align: center !important;
}

.atc-way__forgot a {
    color: #073e78 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

.atc-way__forgot a:hover {
    opacity: .7;
}

@media screen and (max-width: 600px) {
.atc-way__section > h3 span {
 padding: 12px 35px !important;
font-size: 20px !important;
}
}