/* =========================================
        japanese_summer
======================================== */

h1 {
    font-size: 2rem;

    padding: 10px 0;
    margin: 0 0 10px 0 !important;
}

h2 {
    font-size: 1.5rem;
    padding-left: 12px;
    line-height: 1.3;
}

section p {
    padding: 0 10px;
}

h2+figure {
    margin-top: 15px;
}

h1>span,
h2>span {
    font-size: 1.2rem;
}

section p,
figcaption {
    font-size: 1.0rem;
    line-height: 1.3;
}

figcaption {
    font-size: 1.0rem;
}

*+figcaption {
    margin-top: 5px;
}

/* image */

img {
    width: 100%;
    max-width: 100%;
}

/* block */

section {
    padding: 0 !important;
}

section {
    margin-bottom: 40px;
}

section>.section-inner>div+div {
    margin-top: 40px;
}

.section-inner:has(.coupon_inner) {
    padding: 32px 0;
}

.contents_frame>*+* {
    margin-top: 20px;
}

.small_photos figure {
    width: 40%;
    margin-top: 15px;
}

.small_photos figure:nth-child(-n+2) {
    margin-top: 0;
}


.coupon_inner {
    width: 96%;
    margin: 0 auto;
    border: 4px #ffffff solid;
    padding: 20px 20px;
}

.coupon_inner>*+* {
    margin-top: 25px;
}

.coupon_inner figure {
    width: 60%;
    max-width: 500px;
}

.coupon_inner figure figcaption {
    font-size: 1.2rem;
}

.big_text {
    font-size: 1rem;
    padding: 35px 20px;
    border-top: 2px #333333 solid;
    border-bottom: 2px #333333 solid;
}

/* youtube */

.youtube>div {
    width: 40%;
    margin-top: 15px;
}

/* how to */

.howtoYukata {
    width: calc(100% - 20px);
    border-radius: 10px;
    padding: 10px 20px;
}

.howtoYukata h3 {
    font-size: 2rem;
    margin-bottom: 40px;
    line-height: 1.3;
}

.howtoYukata h4 {
    font-size: 1.4rem;
    margin-bottom: 20px;
    line-height: 1.3;
}

/*
.howtoYukata > div+div {
    margin-top: 20px;
}

.howtoYukata li {
    width: 45%;
}

.howtoYukata li:nth-child(n+3) {
    margin-top: 20px;
}
*/

.howtoYukata ol {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px 15px;
    justify-content: center;
}

.howtoYukata .bai {
    grid-column: 1/3;
}

.howtoYukata li img {
    width: 100%;
    max-width: 168px;
}

/* narita renewal */

.narita_renewal section p {
    padding: 0;
}


.narita_renewal .inner_h2 {
    padding: 10px;
}

.narita_renewal .contents_frame .inner_h2>*+* {
    margin-top: 30px;
}

.narita_renewal .inner_link ul a {
    font-size: 1.0em;
}

.narita_renewal p, .narita_renewal li {
    font-size: 0.9em;
}

.narita_renewal h2 {
    background: #fff001 no-repeat;
    background-size: 50px;
    margin-top: 30px;
    font-size: 1.3em;
}

.narita_renewal h2.h2_1, .narita_renewal h2.h2_3 {
    background-position: left 10px center;  
    padding: 10px 0 10px 60px;
    margin-left: 10px;
}

.narita_renewal h2.h2_2, .narita_renewal h2.h2_4 {
    background-position: right 10px center;  
    padding: 10px 60px 10px 0;
    margin-right: 10px;
}

.narita_renewal h3 {
    font-size: 1.2em;
}

.narita_renewal strong {
    font-size: 1.1em;    
}

.photo_frame {
    width: 90%;
    margin: 0 auto;
    margin-top: 20px;
}

.photo_frame .photo_title {
    font-size: 1.1em;
    line-height: 1.3;
    margin-top: 10px;
    margin-bottom: 8px;
}

.photo_frame .andmore {
    width: 60%;
    margin: 20px auto;
}

.narita_renewal .spot > *+* {
    margin-top: 15px;
}

.narita_renewal .spot>div>*:last-child {
    font-size: 0.8em;
    line-height: 1.5;
}

.narita_renewal h4 span {
    margin: 0 0 5px 10px;
}

.narita_renewal .bus_route tr:nth-child(odd) td {
    font-size: 1.2em;
}

.narita_renewal .bus_notes ul li {
    line-height: 1.5;
}

.address {
    padding: 20px;
}

.address > *+* {
    margin-top: 20px;
}