:root {
  /* ---- Base ---- */
  --fz-text:      clamp(15px, 1.5vw, 18px);
  --fz-h2:        clamp(28px, 2.5vw, 32px);
  --fz-subhead:   clamp(16px, 1.5384615385vw, 20px);
  --fz-h2-small:  clamp(16px, 1.3846153846vw, 18px);
  --fz-heading-small: clamp(19px, 1.85vw, 24px);

  /* ---- Layout width ---- */
  --w-main: 1300px;
  --w-main-sp: 90%;

  /* ---- Spacing scale ---- */
  --space-sm: clamp(1rem, 0.8rem + 1vw, 1.5rem);
  --space-md: clamp(2rem, 1.6rem + 2vw, 3rem);
  --space-lg: clamp(5rem, 4rem + 3vw, 7rem);

  /* ---- color ---- */
  --color-navy: #1765b1;
  --color-light-blue: #e9eff7;
  --color-beige: #f7f2ea;
  --color-pink: #e66c6c;
  --color-yellow: #fff9a9;
  --color-deeppink: #d84848;
  --color-base:#000;
  --color-gray:#636363;
  --color-right-gray:#f2f2f2;
  --color-sky-blue:#359cef;
  --color-dark-blue:#00325b;


  /* ---- border --- */
  --st-radius: 10px;
  --st-border: 3px solid #1765b1;

  /* ---- Line height ---- */
  --lh-tight: 1.4;
  --lh-base:1.9;

  /* --- Font family --- */
  --ff-heading: "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;
  --ff-body:    "Noto Sans JP", "Hiragino Sans", "Yu Gothic UI", "Meiryo", sans-serif;

  /* --- margin --- */
  --st-margin:30px;

  /* --- shadow --- */
  --box-shadow: 0 6px 0 #ccc;

}


/* ==========================================================================
   common
   ========================================================================== */

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

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

body {
  margin: 0;
  color: var(--color-base);
  background: #fff;
  font-family:var(--ff-body);
  font-weight: 500;
  font-size: var(--fz-text);
  line-height: var(--lh-base);
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
}

main {
  display: block;
}

section {
  position: relative;
}

img,
svg,
video,
iframe {
  display: block;
  max-width: 100%;
}

img,
video,
iframe {
  height: auto;
}

picture {
  display: block;
}

figure,
p,
ul,
ol,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

ul,
ol {
  padding: 0;
  margin:0;
  list-style:none;
}

address {
  font-style: normal;
}

a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================================
   共通
========================================================================== */

main{
    width:100%;
    margin:0 auto;
}

.main-width {
    width:100%;
    max-width: min(var(--w-main), var(--w-main-sp));
    margin-inline: auto;
    position:relative;
}
h1, h2, h3, .fv-heading-title {
    font-family: var(--ff-heading);
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: var(--st-margin);
}
h2{
    border-bottom: var(--st-border);
    text-align: center;
}
h2,
h3,
h4{
    font-size:var(--fz-h2);
    line-height:var(--lh-tight);
}

h2 span,
h3 span,
h4 span{
    font-size:var(--fz-subhead);
    display:block;
    margin-bottom:5px;
}
.flex{
    display:flex;
}

section{
    padding:100px 0;
}
.sp-none{
    display:none;
}
.pc-illust {
    position: absolute;
    bottom: 0;
    width: min(12vw, 200px);
}
.sp-illust{
    display:none;
}
.title-box{
    text-align: center;
    margin-bottom:var(--space-md);
}
.title-box h2{
    margin-bottom:var(--space-sm);
}

h1 br,
h2 br,
h3 br{
    display:none;
}
br.keep {
  display: block;
}
.link-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    padding: 20px;
    background-color: var(--color-pink);
    box-shadow: 0 6px 0 #ccc;
    border-radius: var(--st-radius);
    text-align: center;
    margin: 30px 0;
    width: 100%;
    max-width: 450px;
}
.link-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 28px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: min(1vw,12px) solid transparent;
    border-bottom: min(1vw,12px) solid transparent;
    border-left: min(1.4vw,16px) solid #fff;
}
.pc-none{
    display:none;
}
/* ==========================================================================
   共通ヘッダー
========================================================================== */
.fv-heading {
  width:min(1610px,90%);
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border: var(--st-border);
  margin:50px auto;
}

.fv-heading-image {
  flex: 0 0 40%;
  background: var(--color-beige);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(16px, 2vw, 24px);
  padding-bottom:0;
  box-sizing: border-box;
}

.fv-heading-image img {
  display: block;
}

.fv-heading-title {
  flex: 1;
  margin: 0;
  padding: clamp(24px, 4vw, 44px) clamp(32px, 6vw, 64px);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  gap:0;
  font-size:clamp(30px, 3vw, 42px);
  background:
    url("../../img/02_h_bg.webp") center / cover no-repeat;
}

.fv-heading-title .number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  padding: 5px 16px;
  border-radius: var(--st-radius);
  background: #fff;
  color: var(--color-navy);
  font-size: var(--fz-h2);
}

.fv-heading-title .lead {
  display: block;
}

.fv-heading-title .main {
  display: block;
}

/* ==========================================================================
   カード3枚 + スマホで縦並び
========================================================================== */
.card-wrap{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); 
    column-gap:10px;
    position:relative;
    overflow: visible;
    padding-bottom: 0;
    box-sizing: border-box;
    margin-bottom:var(--space-md);
}
.card-wrap img{
    display:block;
    width:100%;
    object-fit: cover;
}
.card-wrap a{
    display:block;
    width:100%;
}
.card-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    border-radius: var(--st-radius);
    padding: clamp(16px, 4vw, 24px) clamp(16px, 4vw, 24px);
    box-sizing: border-box;
}
.card-content .content-title {
    margin: 0;
    padding:0;
    text-align:center;
    width:100%;
}
.card-content .content-title span {
    color:var(--color-navy);
}

.card-content p {
    flex: 1;
}


/* 画像カード（画像のみ余白なし）*/
.card-wrap.image .card-content{
    background-color: #fff;
    border-radius: var(--st-radius);
    padding:0;
}
.card-wrap.image .card-content img{
    aspect-ratio: 7 / 4;
    border-top-right-radius: var(--st-radius);
    border-top-left-radius: var(--st-radius);
}

@media (max-width: 767px) {
.card-wrap.image .card-content img{
    aspect-ratio: 13 / 6;
  }
}
.card-wrap.image .card-content h3{
    border:none;
}
.card-wrap.image .content-title,
.card-wrap.image .content-text{
    padding: 0 clamp(16px, 4vw, 24px);
}
.card-wrap.image .content-text{
    padding-bottom:clamp(16px, 4vw, 24px);
}


/* ==========================================================================
   check-point
========================================================================== */
.check-point{
    background-color:#fff;
    padding:50px 30px;
    border-radius: var(--st-radius);
    max-width:var(--w-main);
    margin:0 auto;
    width:min(90%,var(--w-main));
}

.check-point h3{
    text-align:center;
    margin-bottom:32px;
    border:none;
}

.check-point h3 br{
    display:none;
}

.check-point ul{
    max-width:900px;
    margin:0 auto;
    padding:0;
    list-style:none;
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap:20px;
    row-gap:20px;
}

.check-point ul li{
    padding-left:40px;
    padding-bottom:5px;
    background:url("../../img/about_img03.webp") left 0.2em / 28px auto no-repeat;    
    font-size:var(--fz-heading-small);
    font-weight: 700;
}

/* ==========================================================================
   number-card-wrap
========================================================================== */
.number-card-wrap{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); 
    column-gap:10px;
    position:relative;
    overflow: visible;
    padding-bottom: 0;
}

.number-card{
    position: relative;
    background: var(--color-light-blue);
    border-radius: var(--st-radius);
    box-sizing: border-box;
}

.number-card .badge {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: clamp(44px, 16vw, 70px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    background-color:var(--color-navy);
    color:#fff;
    border-radius:999px;
    font-size:var(--fz-h2);
}
.number-card .card-content{
    padding: clamp(32px, 7vw, 48px) clamp(16px, 4vw, 24px) clamp(16px, 4vw, 24px);
}


/* ==========================================================================
   illust-onayami
========================================================================== */
.illust-onayami{
    padding-top:70px;
    max-width:900px;
    margin:0 auto;
    justify-content:center;
    align-items:center;
    gap:30px;
}
.illust-onayami>div{
    flex:0 0 40%;
}
.illust-onayami p{
    font-size:var(--fz-heading-small);
    font-weight:700;
}
.illust-onayami p span{
    display:block;
    font-size:var(--fz-subhead);
}

/* ==========================================================================
   relief-title
========================================================================== */
.relief-title{
    position: relative;
    overflow: visible;
    padding-top: clamp(30px, 4vw, 40px);
    background:url("../../img/diagonal_stripe_tile_72.png") repeat;
    background-size:10px 10px;
}
.relief-list-title h3 br{
    display:none;
}

/* 上部にはみ出す吹き出し */
.comment-badge{ 
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}
.comment-badge img{
    display: block;
    height: auto;
    width:100%;
}

.relief-title-content{
    display:flex;
    gap:10px;
    max-width:900px;
    margin:0 auto;
    justify-content:center;
    align-items:center;
}
.relief-title-content>div{
    flex:0 0 30%;
    min-width:120px;
}
.relief-title-content>div img{
    min-width:120px;
}
.relief-title-content h2{
    margin-bottom:0;
    padding-bottom:0;
}
.relief-title-content h2 span{
    color:#fff;
    font-size:var(--fz-heading-small);
}
.relief-title-content h2 span br{
    display:none;
}

/* ==========================================================================
   cta
========================================================================== */
.cta{
    background:url("../../img/diagonal_stripe_tile_72.png") repeat;
    background-size:10px 10px;
}
.cta .flex{
    gap:50px;
    align-items:center;
    justify-content:center;
}
.cta .flex div:nth-child(1){
    flex:0 0 40%;
}
.cta .flex div h2{
    color:#fff;
    text-align:center;
    font-size:clamp(30px, 3vw, 42px);
    border:none;
}
.cta>div>div>ul{
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: grid;
    gap: 20px;
}

.cta>div>div>ul li{
    position: relative;
}

.cta>div>div>ul li > div:first-child{
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    margin-bottom: -18px;
}

.cta>div>div>ul li > div:first-child a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(48px, 5vw, 64px);
    padding: 0 clamp(24px, 4vw, 48px);
    border: var(--st-border);
    border-radius: 999px;
    background: #fff;
    color: var(--color-navy);
    font-size: var(--fz-text);
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}

.cta>div>div>ul li > div:first-child a span{
    display: block;
}

.cta>div>div>ul li > div:last-child a{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(28px, 4vw, 40px) clamp(64px, 8vw, 96px) clamp(24px, 3vw, 32px);
    border-radius: var(--st-radius);
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    box-shadow: 0 12px 0 var(--color-navy);
    transition: transform .2s ease, box-shadow .2s ease;
}

.cta>div>div>ul li > div:last-child a:hover{
    transform: translateY(4px);
    box-shadow: 0 8px 0 var(--color-navy);
}

.cta>div>div>ul li > div:last-child a::after{
    content: "";
    position: absolute;
    top: 50%;
    right: clamp(22px, 3vw, 36px);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-left: 20px solid currentColor;
}

.cta>div>div>ul li:nth-child(1) > div:last-child a{
    background: var(--color-pink);
    color: #fff;
    font-size:var(--fz-heading-small);
}

.cta>div>div>ul li:nth-child(2) > div:last-child a{
    background: var(--color-yellow);
    color: var(--color-navy);
    font-size:var(--fz-heading-small);
}


/* ==========================================================================
   footer
========================================================================== */

footer{
    padding:60px 0 100px;
    text-align:center;
}
footer>div{
    max-width:240px;
    margin:0 auto;
}




/* ==========================================================================
   vol2
========================================================================== */
.about{
    background-color:var(--color-light-blue);
    padding-bottom:0;
}
.about .main-width{
    padding-bottom:100px;
}
.about h2{
    text-align:center;
}
.about h2 span{
    color:var(--color-navy);
}

.about .pc-illust{
    width: min(25vw, 200px);
}
.about .pc-illust.right{
    right:0;
    width: min(12vw, 200px);
}

.case{
    padding-bottom:0;
}
.number-card-wrap-container{
    margin-bottom:var(--space-lg);
}

.number-card-wrap-container .flex{
    flex-direction:row-reverse;
    gap:20px;
    justify-content:center;
    align-items: center;
    margin-bottom:var(--space-md);
}
.number-card-wrap-container .flex img{
    display:block;
    width:min(60vw,300px);
}
.number-card-wrap-container .flex h2{
    border:none;
}
.title-wide{
    text-align:center;
    margin-bottom:var(--space-md);
    background-color:var(--color-navy);
    color:#fff;
    border-radius:var(--st-radius);
    padding:5px 0;
}
.number-card-wrap{
    margin-bottom:var(--space-md);
}
.title-wide.gray{
    background-color:var(--color-gray);
}
.number-card-wrap.gray .badge{
    background-color:var(--color-gray);
}
.number-card-wrap.gray .card-content{
    background-color:var(--color-right-gray);
}
.number-card-wrap.gray .card-content h4 span{
    color:var(--color-gray);
}

.notice{
    background-color:var(--color-beige);
    padding-top:var(--space-lg);
}
.notice h2{
    text-align:center;
}
.notice .flex img{
    width:min(50vw,600px);
}
.roadmap{
    margin:auto;
    font-size:var(--fz-h2);
}
.roadmap li {
    position: relative;
    padding-left: 1.5em;
    padding-bottom: 2.5em;
    font-weight: bold;
    line-height: 1.4;
}

.roadmap li:last-child {
    padding-bottom: 0;
}

.roadmap li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em;
    width: 1em;
    height: 1em;
    background-color: var(--color-navy);
    border-radius: 50%;
    z-index: 1;
}

.roadmap li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 0.4em;
    top: 0.35em;
    width: 3px;
    height: 100%;
    background-color: var(--color-navy);
}


.notice p{
    text-align:center;
    font-size:var(--fz-heading-small);
    padding:var(--space-md) 0;
    font-weight:bold;
}
.notice br{
    display:none;
}
.notice br.keep{
    display:block;
}


.infomation{
    background-color:var(--color-navy);
    color:#fff;
    font-size:clamp(22px, 2.0vw, 28px);
    text-align:center;
    padding:var(--space-sm) 0;
}
.infomation span{
    color:var(--color-yellow);
    font-size:var(--fz-h2);
}
.illust-onayami p{
    text-align:left;
}


.relief-title{
    padding-bottom:0;
}
.relief-title .main-width{
    position:relative;
}
.relief-title p,
.relief-title li{
    color:#fff;
    text-align:center;
}
.relief-title p{
    font-size:14px;
}


.relief-container{
    display:flex;
    justify-content:center;
    align-items: flex-end;
    gap:var(--space-sm);
}
.relief-container div.relief-box:nth-child(1){
    padding-bottom:var(--space-md);    
}
.relief-container div.relief-box:nth-child(2){
    width:min(30vw,300px);
}
.relief-container ul.flex{
    justify-content:center;
}



.lineup .card-content{
    border:var(--st-border);
    border-color:var(--color-sky-blue);
    text-align:center;
    padding:0;
    box-shadow: var(--box-shadow);
}
.lineup .card-content-text{
    padding:0 10px;
    width:100%;
}
.lineup .card-content h3{
    font-size:min(11vw, 42px);
    color:var(--color-sky-blue);
    border-bottom:var(--st-border);
    border-color:var(--color-sky-blue);
    padding:5px 0;
    margin-bottom:5px;
}
.lineup .card-content h3 span{
    display:inline;
    color:var(--color-sky-blue);
}
.lineup .card-content a.content-link-btn{
    display:block;
    background-color:var(--color-sky-blue);
    color:#fff;
    padding:5px 0;
    font-weight:bold;
}

.lineup .card-content:nth-child(2),
.lineup .card-content:nth-child(2) h3{
    border-color:var(--color-navy);
}
.lineup .card-content:nth-child(2) h3,
.lineup .card-content:nth-child(2) h3 span{
    color:var(--color-navy);
}
.lineup .card-content:nth-child(2) a.content-link-btn{
    background-color:var(--color-navy);
}

.lineup .card-content:nth-child(3),
.lineup .card-content:nth-child(3) h3{
    border-color:var(--color-dark-blue);
}
.lineup .card-content:nth-child(3) h3,
.lineup .card-content:nth-child(3) h3 span{
    color:var(--color-dark-blue);
}
.lineup .card-content:nth-child(3) a.content-link-btn{
    background-color:var(--color-dark-blue);
}



.notice-teishaku{
    background-color:var(--color-beige);
    text-align:center;
}
.notice-teishaku .flex{
    gap:var(--space-md);
    text-align:left;
}
.notice-teishaku .flex picture{
    width:min(450px,50vw);
    flex-shrink: 0;
}
.notice-teishaku .flex h3{
    padding-bottom:0;
    margin-bottom:var(--space-sm);
    font-size:var(--fz-heading-small);
}



.voice .card-wrap .card-content{
    background-color:var(--color-beige);
}
.voice .card-wrap .card-content h3{
    font-size:var(--fz-h2);
}
.voice .card-wrap .card-content h3 span{
    margin-top:3px;
    font-size:var(--fz-text);
    font-weight: normal;
    color:var(--color-base);
}
.voice .card-wrap .card-content h4.content-title{
    font-size:var(--fz-heading-small);
}
.voice .card-wrap .card-content .link-btn-wrap{
    width:100%;
    padding: 0 clamp(16px, 4vw, 24px);
}
.voice .card-wrap .card-content .link-btn-wrap a{
    width:100%;
}




.support{
    background-color:var(--color-light-blue);
    width:min(1600px, var(--w-main-sp));
    margin:0 auto 100px;
}
.support .title-box p br{
    display:none;
}

.support .card-wrap .card-content{
    padding:0 var(--space-md);
    border-radius:0px;
}
.support .card-wrap .card-content:nth-child(2){
    border-right:1px solid #b4c6d6;
    border-left:1px solid #b4c6d6;
}


.support .card-wrap .card-content h3{
    font-size:clamp(22px, 2.0vw, 28px);
}
.support .card-wrap .card-content h3 span{
    color:var(--color-navy);
    font-size:var(--fz-h2);
}

.cta02{
    background-color:var(--color-beige);
    padding-bottom:0;
}
.cta02 h2 span{
    color:var(--color-navy);
}
.cta02 ul.flex{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); 
    column-gap:10px;
    text-align:center;
    padding-bottom:var(--space-md);
}
.cta02 ul.flex li{
    border:var(--st-border);
    padding:var(--space-sm);
    background-color:#fff;
    border-radius: var(--st-radius);
    font-size:var(--fz-heading-small);
    font-weight:bold;
}
.cta02 div.flex{
    justify-content:center;
    align-items: center;
    gap:var(--space-sm);
    color:var(--color-navy);
    font-size:var(--fz-heading-small);
    font-weight:bold;
}
.cta02 div.flex img{
    display:block;
    width:min(40vw,200px);
}


.archive-link{
    background-color:var(--color-light-blue);
}
.archive-link .flex{
    gap:var(--space-md);
}
.archive-link .flex p br{
    display:none;
}
.archive-link .flex p br.keep{
    display:block;
}
.archive-link .link-btn{
    width:min(60vw,450px);
    padding:var(--space-sm);
    margin:min(50px,8vw) 0;
    background-color:var(--color-navy);
}

/* ==========================================================================
   sp共通
========================================================================== */
@media (max-width: 768px) {
:root {
  --st-radius: 5px;
}
.sp-illust{
    display:block;
    width: min(30%, 120px);
}
.pc-illust{
    display:none;
}
.pc-none{
    display:block;
}
.card-wrap,
.number-card-wrap {
grid-template-columns: minmax(0, 1fr);
row-gap: 50px;
}

section {
    padding: 50px 0;
}

h2 br,
h3 br{
    display:block!important;
}
br{
    display:block!important;
}
.main-width{
    width:var(--w-main-sp);
}
.fv-heading {
  flex-direction:column;
  width:var(--w-main-sp);
  margin:20px auto;
}
.fv-heading-title{
    text-align:center;
    line-height:var(--lh-tight);
}
.fv-heading-title .number {
    margin:0 auto 10px;
    padding: 2px 10px;
    font-size: var(--fz-subhead);
}
.fv-heading-title .main br{
    display:block;
}

.check-point{
    padding: 30px 15px;
    width:100%;
}
.check-point h3 {
    text-align: left;
    margin-bottom: 10px;
}

.check-point-title{
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:center;
    margin-bottom:5px;
}
.check-point ul {
    width: 100%;
    max-width: 310px;
    margin: 0 auto;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 5px;
}
.check-point ul li {
    font-size: var(--fz-subhead);
    padding-left: 34px;
}
.flex{
    flex-direction:column;
}


.relief-title-content{
    flex-direction:column-reverse;
}

.relief-title-content h2 {
    text-align:center;
}

.relief-title-content>div img {
    width:min(100%, 200px);
    text-align:center;
    margin:0 auto;
}

.relief-list-title h3 {
    font-size:var(--fz-heading-small);
}

.comment-badge {
    width: min(300px, 100%);
}
.cta{
    padding:50px 0;
}
.cta .flex{
    flex-direction:column;
}


footer>div {
    width: min(100%,200px);
    margin: 0 auto 20px;
}
}


/* ==========================================================================
   sp
========================================================================== */
@media (max-width: 768px) {
.about .main-width {
    padding-bottom: var(--space-lg);
}
.number-card-wrap-container .flex{
    flex-direction:column-reverse!important;
}
.number-card-wrap-container .flex h2{
    padding-bottom:0;
    margin-bottom:0;
}
.number-card-wrap-container .title-wide{
    margin-bottom:40px;
}
.notice .flex{
    gap:var(--space-md);
}
.notice .flex img {
    width: 100%;
}
.notice .roadmap{
    font-size:var(--fz-heading-small);
}

.illust-onayami {
    padding-top:0;
    flex-direction: column-reverse;
}
.illust-onayami p {
    padding:var(--space-md) 0 0;
    text-align:center;
}
.relief-container div.relief-box:nth-child(1) {
    padding-bottom: 0;
}
.relief-container div.relief-box:nth-child(2) {
    display:none;
}
.relief-container div.relief-box ul{
    flex-direction: row-reverse;
    align-items: center;
    gap:var(--space-sm);
}
.relief-container div.relief-box ul li.pc-none{
    width: min(50vw, 160px);
}
.relief-container div.relief-box ul li{
    text-align:left;
}
.notice-teishaku .flex {
    flex-direction:column-reverse;
}
.notice-teishaku .flex picture {
    width: 100%;
}
.notice-teishaku .flex h3 {
    text-align:center;
}
.support .card-wrap {
    gap:0;
}
.support .card-wrap .card-content {
    padding: var(--space-md);
}
.support .card-wrap .card-content img {
    padding: 0 var(--space-md);
}
.support .card-wrap .card-content:nth-child(2) {
    border:none;
    border-top: 1px solid #b4c6d6;
    border-bottom: 1px solid #b4c6d6;
}
.support {
    padding-bottom:var(--space-sm);
}
.cta02 ul.flex{
    grid-template-columns: minmax(0, 1fr);
    row-gap:var(--space-sm);
}
.cta02 div.flex{
    flex-direction: column-reverse;
}
.cta02 div.flex p{
    text-align:center;
}
.cta {
    padding-bottom:0;
}
.archive-link .flex {
    gap: 0;
}
.archive-link .flex p{
    margin-top:var(--space-sm);
    text-align:center;
}
.archive-link .link-btn {
    width: 100%;
}
}