
.asunaro-gallery{
    width: 100%;
    display: flex;
    gap: 15px;
}

.main-img{
    width: 65%;
    position: relative;
    left: 0;
}

.main-img span{
    padding: 8px 0;
    line-height: 1;
    text-align: center;
    background: rgba(255,255,255,0.7);
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    font-size: 15px;
    font-weight: 700;
}

.main-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sub-wrap{
    flex: 1;
    display: flex;
    gap: 15px;
    flex-direction: column;
    width: calc(35% - 15px);
}

.sub-img{
    width: 100%;
    gap: 1%;
    max-width: 495px;
}

.sub-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.asunaro-noto-bnr{
    margin: 30px 0;
}

.asunaro-h3{
    font-size: 30px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 30px;
}

 h4.asunaro-h4{
    font-size: 24px;
    text-align: center;
    margin-top: 5px;
    font-weight: 400;
    border: none;
}


.asunaro-h4 span{
    background: #d3838b;
    color: #fff;
    padding: 5px;
    line-height: 1.8;
}

.thank-wrap{
    display: flex;
    gap:2%;
    margin: 30px 0;
}

.thank{
    width: 49%;
    padding: 15px 10px;
    display: flex;
    border-radius: 10px;
    border: 1px solid #000;
    gap: 10px;
}

.thank-img{
    width: 130px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.thank-img .caption{
    font-size: 14px;
}

.thank-img .caption-small{
    font-size: 0.8em;
}

 .thank p{
    flex: 1;
    margin-top: 0;
    font-size: 14px;
}

.noto-head {
    display: flex;
    align-items: center;
    gap: 20px;
    background: #fef8a6;
    padding: 10px 20px;
}


.noto-head-logo{
    width: 250px;
}

.noto-head .text{
    font-weight: 700;
    color: #3e230f;
    font-size: 1.2em;
}

.kiseki{
    margin-bottom: 15px;
    padding: 10px 20px 20px;
    background: #fef8a6;
}

.kiseki-head{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 10px;
}

.kiseki-head-logo{
    width: 250px;
}

.kiseki-head .text{
    font-weight: 700;
    color: #3e230f;
    font-size: 1.2em;
}

.kiseki-photo {
    position: relative;
}

.kiseki-photo img:first-child {
    width: 100%;
    display: block;
}

.asunaro-gallery2{
    display: flex;
    flex-wrap: wrap;
    gap:15px;
}

.asunaro-gallery2 .gimage{
    width: calc(50% - (15px / 2));
}

.gimage{
    position: relative;
}

.gimage span{
    padding: 8px 0;
    line-height: 1;
    text-align: center;
    background: rgba(255,255,255,0.7);
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    font-size: 15px;
    font-weight: 700;
}

.asunarobox.box-yellow {
    background: #efefef;
    padding: 15px 15px;
    margin: 20px 0;
}

.asunarobox .title-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.asunarobox .title-wrap .y-logo {
    max-width: 19%;
    margin-right: 2%;
}

.asunarobox .navy{
    font-size: 1.3em;
    color: #1b357d;
    line-height: 1.3;
    margin-bottom: 10px;
    display: inline-block;
}
.asunarobox p .navy span{
    font-size: 0.7em;
    margin-bottom: 5px;
}

.asunarobox .box-yellow p{
    margin-top: 0 !important;
}

.asunarobox .y-text{
    flex: 1;
    font-size: 1.0em !important;
}

.asunarobox .y-text p{
    margin-bottom: 0;
}


.btn_wrap {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin: 30px 0;
  
  
  
  
@media (max-width: 1050px) {
    gap: 15px;
  }
  @media (max-width: 700px) {
    display: block;
  }
  .btn-primary {
    display: inline-block;
    width: 300px;
    height: 50px;
    background: #ff007a; /* ãƒ¡ã‚¤ãƒ³ãƒ”ãƒ³ã‚¯ */
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    text-decoration: none;
    border-radius: 8px;
    text-align: center;
    display: flex !important;
    align-items: center !important;
    justify-content: center;
    align-content: center;

    /* ç«‹ä½“æ„Ÿ */
    box-shadow: 0 4px 0 #d4007b; /* ä¸‹ã®æ¿ƒã„å½± */

    /* ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ */
    transition: all 0.4s ease;
        
    
    @media (max-width: 700px) {
      
      
      
      
      margin: 0 auto;
      margin-bottom: 30px;
      
      
      
      
    }
    @media (max-width: 600px) {
      width: 100%;
    }
    @media (max-width: 480px) {

    }
  }

  /* ãƒ›ãƒãƒ¼æ™‚ï¼šæ²ˆã‚€ */
  .btn-primary:hover {
    transform: translateY(2px);
    box-shadow: 0 1px 0 #d4007b;
  }

  .btn-primary2 {
    display: inline-block;
    width: 300px;
    height: 50px;
    background: #989898; /* ãƒ¡ã‚¤ãƒ³ãƒ”ãƒ³ã‚¯ */
    color: #fff;
    font-size: 1.1em;
    font-weight: bold;
    text-decoration: none;
    border-radius: 8px;
    text-align: center;
    display: flex !important;
    align-items: center !important;
    justify-content: center;
    align-content: center;

    /* ç«‹ä½“æ„Ÿ */
    box-shadow: 0 4px 0 #808080; /* ä¸‹ã®æ¿ƒã„å½± */

    /* ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ */
    transition: all 0.4s ease;
    
    @media (max-width: 700px) {
      margin: 0 auto;
    }
    @media (max-width: 600px) {
      width: 100%;
    }
    @media (max-width: 480px) {

    }
  }

  /* ãƒ›ãƒãƒ¼æ™‚ï¼šæ²ˆã‚€ */
  .btn-primary2:hover {
    transform: translateY(2px);
    box-shadow: 0 1px 0 #808080;
  }

}
 .btn_wrap a{
    color: #fff;
    text-decoration: none;
}

 .btn_wrap a span{
    position: relative;
    font-weight: 700;
}

main  a[target="_blank"]:after{
    display: none;
}

.message{
    border: 2px solid #1b357d;
    border-radius: 20px;
    padding: 40px;
    margin-top: 1em;
    text-align: center;
    font-size: 1.2em;
}

.news_single_content .message .text p{
    font-size: 1.2em;
    text-align: center;
}

.ttl_con.member-tit {
    max-width: 980px;
    margin: 0 auto;
    text-align: center;
}

.ttl_con.member-tit .ttl {
    border-top: 1px solid #1b357d;
    border-bottom: 1px solid #1b357d;
    font-size: 35px;
    color: #1b357d;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
    padding: 10px 0 15px;
    margin: 60px 0 30px;
}

.ttl_con.member-tit .ttl span {
    position: relative;
    color: #fff;
    font-size: 56px;
    padding: 0 16px;
    margin-bottom: 0 !important;
    z-index: 1;
}

.ttl_con.member-tit .ttl span:before {
    position: absolute;
    background-image: url(https://furugidevaccine.etsl.jp/wp-content/uploads/2026/04/ttl-bubble-bg.png);
    z-index: -1;
    content: "";
    width: 80px;
    height: 80px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    right: 5px;
    top: 5px;
}

.l_point_con .l_point_wrap1 {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 60px;
}

@media (max-width: 1200px) {
    .l_point_con .l_point_wrap1 {
        gap: 30px;
    }
}

@media (max-width: 800px) {
    .l_point_con .l_point_wrap1 {
        display: block;
        margin-top: 0;
    }
}

.l_point_con .l_point_wrap1 .l_point_b {
    position: relative;
    border-radius: 7px;
    width: 280px;
}

@media (max-width: 1200px) {
    .l_point_con .l_point_wrap1 .l_point_b {
        width: 30%;
    }
}

@media (max-width: 800px) {
    .l_point_con .l_point_wrap1 .l_point_b {
        width: 340px;
        margin: 0 auto;
        margin-bottom: 50px;
    }
}

@media (max-width: 430px) {
    .l_point_con .l_point_wrap1 .l_point_b {
        width: 100%;
    }
}

@media (max-width: 800px) {
    .l_point_con .l_point_wrap1 .l_point_b:first-of-type {
        margin-top: 50px;
    }
}

@media (max-width: 800px) {
    .l_point_con .l_point_wrap1 .l_point_b:last-of-type {
        margin-bottom: 0;
    }
}

.l_point_con .l_point_wrap1 .l_point_b::before {
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.l_point_con .l_point_wrap1 .l_point_b .l_p_pic img {
    width: 100%;
    vertical-align: bottom;
    object-fit: cover;
    border-radius: 8px 8px 0 0;
}

.l_point_con .l_point_wrap1 .l_point_b .l_p_txt {
    background: #fff;
    font-weight: bold;
    font-size: 0.9em;
    letter-spacing: 0.05em;
    line-height: 1.5;
    padding: 10px;
    border-radius: 0 0 8px 8px;
    margin: 0;
}

@media (max-width: 1200px) {
    .l_point_con .l_point_wrap1 .l_point_b .l_p_txt {
        font-size: 16px;
    }
}

@media (max-width: 800px) {
    .l_point_con .l_point_wrap1 .l_point_b .l_p_txt {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .l_point_con .l_point_wrap1 .l_point_b .l_p_txt {
        font-size: 16px;
    }
}


.message .ttl_con.use {
    margin-top: 0;
    text-align: center;
}

.message .ttl_con.use .ttl {
    display: inline-block;
    border-top: 1px solid #1b357d;
    border-bottom: 1px solid #1b357d;
    font-size: 18px;
    color: #1b357d;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 1em 0;
}

.message .ttl_con.use .ttl::after{
    display: none;
}

.message .ttl_con.use .ttl .span1 {
    font-size: 40px;
}

.message .ttl_con.use .ttl .span2 {
    font-size: 40px;
}

.message .ttl_con.use .ttl .sp_only {
    display: none;
}

.message .ttl_con.use .ttl .span2 {
    font-size: 40px;
}

.point-num{
    position: absolute;
    width: 45px !important;
    top: -20px;
    border-radius: 0 !important;
    right: -10px;
}

.plan{
    background: #e7ebf4;
    padding: 20px 20px 40px;
}
@media screen and (min-width:781px){
    .pc-only{
        display: block;
    }

    .sp-only{
        display: none;
    }
    .zoom_hint {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 36px !important;
    height: auto;
    cursor: pointer;
    z-index: 2;
    }
}
@media screen and (max-width:780px){

.asunaro-gallery{
    width: 100%;
    display: flex;
    gap: 15px;
    flex-direction: column;
}

.main-img{
    width: 100%;
    position: relative;
    left: 0;
}

.main-img span{
    padding: 8px 0;
    line-height: 1;
    text-align: center;
    background: rgba(255,255,255,0.7);
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    font-size: 15px;
    font-weight: 700;
}

.main-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sub-wrap{
    flex: 1;
    display: flex;
    gap: 2%;
    width: 100%;
    flex-direction: row;
}

.sub-img{
    width: 49%;
}


    .message{
        padding: 10px;
    }

    .pc-only{
        display: none;
    }

    .sp-only{
        display: block;
    }

    .message{
        padding: 10px;
    }

.activities .asunaro-h3{
        font-size: 20px;
        margin-bottom: 10px;
    }

     h4.asunaro-h4{
        font-size: 16px;
    }

    .thank-wrap{
        flex-direction: column;
        align-items: center;
        gap: 30px;
    }

    .thank{
        width: 100%;
        flex-direction: column;
        align-items: center;
    }

    .asunaro-gallery2 .gimage{
        width: 100%;
    }

    .title-wrap .y-logo{
        width: 50%;
    }

    .title-wrap{
        flex-direction: column;
        align-items: center;
    }

    .title-wrap .y-logo {
        width: 35%;
        max-width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }

     p .navy span {
    font-size: 13px;
    }

    .navy {
    font-size: 17px;
    }

    .news_single_content .message .text p{
        font-size: 15px;
    }

    .message .ttl_con.use .ttl{font-weight: 700;}

    .message .ttl_con.use .ttl .span1{
        font-size: 28px;
    }

    .message .ttl_con.use .ttl .span2{font-size: 28px;}

    .l_point_con .l_point_wrap1 .l_point_b{width: 90%;}

    .l_point_con .l_point_wrap1 .l_point_b .l_p_txt{
        font-size: 14px;
    }
.ttl_con.member-tit .ttl {
    border-top: 1px solid #1b357d;
    border-bottom: 1px solid #1b357d;
    font-size: 25px;
    color: #1b357d;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
    padding: 10px 0 15px;
}

.ttl_con.member-tit .ttl span {
    position: relative;
    color: #fff;
    font-size: 40px;
    padding: 0 16px;
    margin-bottom: 0 !important;
    z-index: 1;
}

.ttl_con.member-tit .ttl span:before {
    position: absolute;
    background-image: url(https://furugidevaccine.etsl.jp/wp-content/uploads/2026/04/ttl-bubble-bg.png);
    z-index: -1;
    content: "";
    width: 60px;
    height: 60px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    right: 5px;
    top: 2px;
    background-size: contain;
}

.benefit_img {
    position: relative;
    padding: 0 5%;
}

.benefit_img > img:first-child {
    width: 100%;
    display: block;
}

.zoom_hint {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 36px !important;
    height: auto;
    cursor: pointer;
    z-index: 2;
}

.benefit_modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}

.benefit_modal.is-active {
    display: block;
}

.benefit_modal_overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.85);
}

.benefit_modal_content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 900px;
}

#benefitModalImage {
    width: 100%;
    height: auto;
}

.benefit_modal_close {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 30px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
}


.noto-head {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fef8a6;
    padding: 20px 15px;
    flex-direction: column;
}


.noto-head-logo{
    width: 185px;
}

.noto-head .text{
    font-weight: 700;
    color: #3e230f;
    font-size: 15px;
    text-align: center;
}

.kiseki{
    margin-bottom: 15px;
    padding: 20px 15px 20px;
    background: #fef8a6;
}

.kiseki-head{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    flex-direction: column;
}

.kiseki-head-logo{
    width: 180px;
}

.kiseki-head .text{
    font-weight: 700;
    color: #3e230f;
    text-align: center;
    font-size: 15px;
}

.kiseki-photo {
    position: relative;
}

.kiseki-photo img:first-child {
    width: 100%;
    display: block;
}

.btn-primary{
    max-width: 90%;
}
.btn-primary2{
    max-width: 90%;
}

.main-img span{
    line-height: 1.3;
    font-weight: 600;
    font-size: 12px;
}

.gimage span{
    line-height: 1.3;    
}

.asunarobox.box-yellow {
    background: #efefef;
    padding: 15px 15px;
    margin: 20px 0;
}

.asunarobox .title-wrap {
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.asunarobox .title-wrap .y-logo {
    max-width: 100%;
    margin-right: 2%;
    width: 75%;
}

.asunarobox .navy{
    font-size: 1.3em;
    color: #1b357d;
    line-height: 1.3;
    margin-bottom: 10px;
    display: inline-block;
}
.asunarobox p .navy span{
    font-size: 0.7em;
    margin-bottom: 5px;
}

.asunarobox .box-yellow p{
    margin-top: 0 !important;
}

.asunarobox .y-text{
    flex: 1;
    font-size: 1.0em !important;
}

.plan{
    padding: 20px 10px;
}

}