
header .ttlbox .ttl img {
    width: 134vw;
    max-width: none;
    margin-left: -12vw;
}

@media screen and (min-width: 768px) {
    header .ttlbox .ttl img {
        width: auto;
        margin-left: 0;
    }
}

#rss {
    margin: -1vw var(--paddingWrap) 0;
    position: relative;
}

#rss h2.ttl {
    width: 41vw;
}

#rss h2.ttl img {
    width: 100%;
}

#rss .btn-more {
    display: -ms-flexbox;
    display: flex;
    font-size: 20px;
    letter-spacing: 0.18em;
}

#rss .btn-more::after {
    content: "";
    width: 39px;
    display: block;
    margin-right: 10px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 78.5 10.5'%3E%3Cpath fill-rule='evenodd' stroke='rgb(255, 255, 255)' stroke-width='2px' stroke-linecap='butt' stroke-linejoin='miter' fill='none' d='M0.762,8.041 L72.324,8.041 L58.473,1.901 '/%3E%3C/svg%3E") center/contain no-repeat;
}

#rss .btn-more:hover {
    opacity: 0.7;
}

#rss .btn-more:hover a {
    text-decoration: none;
}

#rss .ttlbox {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#rss #feed {
    margin-top: 4vw;
}

@media screen and (min-width: 768px) {
    #rss {
        margin: 54px 52px 0;
    }

    #rss h2.ttl {
        width: auto;
    }

    #rss .btn-more {
        display: -ms-flexbox;
        display: flex;
        margin-left: 64px;
        font-size: 20px;
        letter-spacing: 0.18em;
    }

    #rss .btn-more::after {
        width: 35px;
        margin-right: 10px;
    }

    #rss .ttlbox {
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    #rss #feed {
        margin-top: 24px;
    }

    #rss .rss {
        line-height: 25px;
    }
}

#sec1 {
    padding-top: 49vw;
}

/*#sec1 .wrap::before {
    content: "";
    width: 92vw;
    height: 92vw;
    background: url("../image/s1-deco1.png") 0 0/contain no-repeat;
    position: absolute;
    top: -91vw;
    right: 4vw;
    z-index: -1;
}*/

#sec1 .wrap::after {
    content: "";
    width: 160vw;
    height: 1px;
    background: linear-gradient(to right, #9d6f2e, #fff, #9d6f2e);
    transform: rotate(-49deg);
    position: absolute;
    top: -63vw;
    right: -42vw;
    z-index: -1;
}

#sec1 h2.ttl {
    position: relative;
    z-index: 1;
}

#sec1 h2.ttl img {
    width: 125vw;
    max-width: none;
    margin-left: -26vw;
}

#sec1 .ttlbox {
    margin-bottom: -33vw;
}

#sec1 .set1 .imgbox {
    position: relative;
}

#sec1 .set1 .imgbox::before {
    content: "";
    width: 160vw;
    height: 1px;
    background: linear-gradient(to right, #9d6f2e, #fff, #9d6f2e);
    transform: rotate(49deg);
    position: absolute;
    bottom: 51vw;
    left: -43vw;
    z-index: -1;
}

#sec1 .set1 .imgbox .img1 {
    margin: 0 var(--paddingWrap-negative);
}

#sec1 .set1 .imgbox .img2,
#sec1 .set1 .imgbox .img3 {
    width: 80vw;
    margin-top: 7vw;
}

#sec1 .set1 .imgbox .img2 {
    margin-left: auto;
}

#sec1 .set1 .txtbox {
    margin-top: 8vw;
}

#sec1 .set2 {
    margin: 12vw var(--paddingWrap) 0;
}

#sec1 .set2 .bnrbox {
    margin-top: 10vw;
    background: url("../image/pattern1.jpg");
    position: relative;
    z-index: 0;
}

#sec1 .set2 .bnrbox .txt {
    margin-left: auto;
    font-size: 29px;
    letter-spacing: 0.15em;
    line-height: 1.2;
    text-align: right;
}

#sec1 .set2 .bnrbox .txt small {
    font-size: 20px;
    letter-spacing: 0.15em;
}

#sec1 .set2 .bnrbox .txt>span:first-child {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
}

#sec1 .set2 .bnrbox .txt>span:first-child::before {
    content: "";
    width: 1px;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    display: block;
    margin: 0 auto 5px;
    background: #fff;
}

#sec1 .set2 .bnrbox .img {
    overflow: hidden;
    position: absolute;
    top: 5px;
    bottom: 5px;
    left: 5px;
    right: 5px;
    z-index: -1;
}

#sec1 .set2 .bnrbox .img::after {
    content: "";
    width: 40%;
    height: 100%;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.8), transparent);
    position: absolute;
    top: 0;
    right: 0;
}

#sec1 .set2 .bnrbox .img img {
    width: 100%;
    height: 100%;
    transform: scale(1);
    transition: 0.5s ease-out;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: 1;
}

#sec1 .set2 .bnrbox a {
    min-height: 62vw;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 5px 5vw 10vw 5px;
    box-sizing: border-box;
}

#sec1 .set2 .bnrbox a:hover {
    text-decoration: none;
}

#sec1 .set2 .bnrbox a:hover .img img {
    transform: scale(1.1);
}

@media screen and (min-width: 768px) {
    #sec1 {
        padding-top: 162px;
    }

    #sec1 .wrap::before {
        width: 590px;
        height: 567px;
        top: -848px;
        right: -301px;
    }

    #sec1 .wrap::after {
        width: 1000px;
        top: -498px;
        right: -98px;
    }

    #sec1 h2.ttl {
        text-align: right;
    }

    #sec1 h2.ttl img {
        width: auto;
    }

    #sec1 .ttlbox {
        max-width: 1330px;
        margin: 0 auto -72px;
    }

    #sec1 .set1 .imgbox {
        width: 1412px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: start;
        align-items: flex-start;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-left: -162px;
    }

    #sec1 .set1 .imgbox::before {
        width: 1500px;
        bottom: 212px;
        left: -615px;
    }

    #sec1 .set1 .imgbox .img1 {
        -ms-flex-order: 1;
        order: 1;
        margin: 0;
        position: absolute;
        top: -600px;
        left: -38px;
    }

    #sec1 .set1 .imgbox .img2,
    #sec1 .set1 .imgbox .img3 {
        width: auto;
        margin-top: 0;
    }

    #sec1 .set1 .imgbox .img2 {
        -ms-flex-order: 3;
        order: 3;
    }

    #sec1 .set1 .imgbox .img3 {
        -ms-flex-order: 2;
        order: 2;
        margin-top: 164px;
    }

    #sec1 .set1 .txtbox {
        width: 520px;
        margin: -80px -61px 0 auto;
    }

    #sec1 .set2 {
        max-width: 1500px;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 55px auto 0;
    }

    #sec1 .set2 .bnrbox {
        width: calc(50% - 50px);
        max-width: 670px;
        margin: 0 25px;
    }

    #sec1 .set2 .bnrbox .txt {
        font-size: 55px;
        line-height: 70px;
    }

    #sec1 .set2 .bnrbox .txt small {
        font-size: 38px;
    }

    #sec1 .set2 .bnrbox .txt>span:first-child::before {
        margin-bottom: 5px;
    }

    #sec1 .set2 .bnrbox .img {
        top: 9px;
        bottom: 9px;
        left: 9px;
        right: 9px;
    }

    #sec1 .set2 .bnrbox a {
        min-height: 450px;
        padding: 9px 38px 70px 9px;
    }
}

#sec2 {
    margin-top: 23vw;
    padding-top: 10vw;
}

#sec2 .wrap::before {
    content: "";
    width: 160vw;
    height: 1px;
    background: linear-gradient(to right, #9d6f2e, #fff, #9d6f2e);
    transform: rotate(-38deg);
    position: absolute;
    bottom: 2vw;
    right: -48vw;
    z-index: -1;
}

#sec2 h2.ttl {
    font-weight: 300;
    font-size: 9vw;
    letter-spacing: 0.15em;
    line-height: 1.4;
}

#sec2 h2.ttl small {
    font-size: 6vw;
    letter-spacing: 0.15em;
}

#sec2 .ttlbox {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
}

#sec2 .set {
    padding: 14vw 3vw;
    box-sizing: border-box;
    background: url("../image/pattern2.jpg");
    position: relative;
}

#sec2 .set::before {
    content: "";
    height: 5vw;
    background: 0 0/contain no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    font-size: 50px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#sec2 .set::after {
    content: "";
    height: 5vw;
    background: 0 0/contain no-repeat;
    position: absolute;
    left: 0;
    right: 0;
}

/*#sec2 .set::before {
  background-image: url("../image/s2-deco1.png");
  top: -2vw;
}
*/
/*#sec2 .set::after {
    background-image: url("../image/s2-deco2.png");
    background-position: right top;
    bottom: -3vw;
}*/

#sec2 .set .btn-link {
    margin-top: 12vw;
}

#sec2 .set .btn-link .btn-style-1 {
    width: 74vw;
    margin: 0;
}

#sec2 .set .txtbox .txt {
    margin-top: 3vw;
}

#sec2 .set .imgbox {
    margin-top: 6vw;
}

@media screen and (min-width: 768px) {
    #sec2 {
        margin-top: 43px;
        padding-top: 40px;
    }

    #sec2 .wrap::before {
        width: 1500px;
        transform: rotate(-38deg);
        bottom: 0;
        right: -739px;
    }

    #sec2 h2.ttl {
        font-size: 50px;
        line-height: 64px;
    }

    #sec2 h2.ttl small {
        font-size: 30px;
    }

    #sec2 .ttlbox {
        display: block;
    }

    #sec2 .set {
        width: 1130px;
        display: -ms-flexbox;
        display: flex;
        padding: 60px 59px 52px;
        margin-left: -65px;
    }

    #sec2 .set::before {
        width: 245px;
        height: 32px;
        top: -14px;
        left: 10px;
    }

    #sec2 .set::after {
        height: 31px;
        bottom: -11px;
    }

    #sec2 .set .btn-link {
        margin-top: 26px;
    }

    #sec2 .set .btn-link .btn-style-1 {
        width: 330px;
    }

    #sec2 .set .txtbox {
        width: 446px;
        padding-left: 30px;
        box-sizing: border-box;
    }

    #sec2 .set .txtbox .txt {
        width: 335px;
        margin-top: 20px;
    }

    #sec2 .set .imgbox {
        width: 560px;
        margin-top: 7px;
    }
}

#sec3 {
    margin-top: 36vw;
    padding-bottom: 22vw;
    background: url("../image/pattern1.jpg");
    color: #000;
}

#sec3 h2.ttl {
    margin-right: 10vw;
    text-align: right;
}

#sec3 h2.ttl img {
    width: 10vw;
}

#sec3 .ttlblk {
    padding: 6vw 0;
    background: url("../image/s3-i1.jpg") center/cover no-repeat;
    color: #fff;
    position: relative;
    z-index: 0;
}

#sec3 .ttlblk::before {
    content: "";
    width: 40%;
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.08), transparent);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: -1;
}

#sec3 .set {
    margin: 9vw 4vw 0;
}

#sec3 .set .ttl {
    margin-left: var(--paddingWrap-negative);
    font-weight: 300;
    font-size: 5vw;
    letter-spacing: 0.15em;
    line-height: 1.5;
    position: relative;
    z-index: 1;
}

#sec3 .set .ttl>span {
    display: inline-block;
    padding: 3vw 6vw 2vw 8vw;
    background: #7e0a0a;
    color: #fff;
    position: relative;
}

#sec3 .set .ttl>span::before {
    content: "";
    width: 3px;
    border-left: 1px solid;
    border-right: 1px solid;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2vw;
}

#sec3 .set .btn-link {
    margin-top: 16vw;
}

#sec3 .set .imgbox {
    margin-top: 7vw;
}

#sec3 .set .imgbox .img {
    margin-top: -5vw;
}

@media screen and (min-width: 768px) {
    #sec3 {
        margin-top: 149px;
        padding-bottom: 129px;
    }

    #sec3 h2.ttl {
        margin-right: 0;
    }

    #sec3 h2.ttl img {
        width: auto;
    }

    #sec3 .ttlblk {
        min-height: 790px;
        padding: 120px 0;
        box-sizing: border-box;
    }

    #sec3 .set {
        width: 100%;
        max-width: 1500px;
        min-height: 300px;
        display: -ms-flexbox;
        display: flex;
        margin: 55px auto 0;
    }

    #sec3 .set .ttl {
        /* margin-left: 360px; */
        font-size: 25px;
        line-height: 35px;
        position: absolute;
        top: -10px;
        right: -20px;
    }

    #sec3 .set .ttl>span {
        padding: 18px 48px;
    }

    #sec3 .set .ttl>span::before {
        width: 5px;
        left: 7px;
    }

    #sec3 .set .btn-link {
        margin-top: 69px;
    }

    #sec3 .set .txtbox {
        -ms-flex-order: 2;
        order: 2;
        width: calc(50% - 50px);
        padding-left: 55px;
        box-sizing: border-box;
    }

    #sec3 .set .txtbox .txt {
        width: 400px;
    }

    #sec3 .set .imgbox {
        -ms-flex-order: 1;
        order: 1;
        width: calc(50% + 50px);
        margin-top: -140px;
        position: relative;
    }

    #sec3 .set .imgbox .img {
        margin-top: 0;
        position: absolute;
        top: -40px;
        bottom: 0;
        right: 0;
        left: 50px;
    }

    #sec3 .set .imgbox .img img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
}

#sec4 h2.ttl {
    text-align: center;
    overflow: hidden;
}

#sec4 h2.ttl img {
    width: 30vw;
    margin: -25vw 0 -36vw;
}

#sec4 h3.ttl {
    font-weight: 300;
    font-size: 8vw;
    letter-spacing: 0.15em;
    text-align: center;
}

#sec4 .ttlblk {
    background: url("../image/s4-bgi.jpg") center/cover no-repeat;
}

#sec4 .set {
    margin-top: 13vw;
    position: relative;
}

#sec4 .set::before {
    content: "";
    width: 115vw;
    height: 100vw;
    background: url("../image/deco1.png") 0 0/contain no-repeat;
    position: absolute;
    top: -53vw;
    right: 17vw;
    z-index: -1;
}

#sec4 .set .txt {
    margin-top: 8vw;
}

#sec4 .set .btn-link {
    margin-top: 14vw;
}

@media screen and (min-width: 768px) {
    #sec4 h2.ttl img {
        width: auto;
        margin: 0;
    }

    #sec4 h3.ttl {
        font-size: 38px;
        line-height: 50px;
        text-align: left;
    }

    #sec4 .set {
        width: 1085px;
        margin: -195px 0 0 -75px;
        position: relative;
    }

    #sec4 .set::before {
        width: 883px;
        height: 755px;
        top: -104px;
        right: -257px;
    }

    #sec4 .set .txt {
        width: 410px;
        margin-top: 36px;
    }

    #sec4 .set .btn-link {
        margin-top: 46px;
    }
}

#icmap {
    margin-top: 21vw;
    padding: 30vw 2vw 10vw;
    box-sizing: border-box;
    background: url("../image/s5-bgi.jpg") right -40vw center/cover no-repeat;
}

#icmap .set .txtbox .txt {
    margin-top: 9vw;
    text-align: center;
}

@media screen and (min-width: 768px) {
    #icmap {
        min-height: 690px;
        margin-top: 0;
        padding: 182px 0;
        background-position: center;
    }

    #icmap .set {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #icmap .set .txtbox .txt {
        width: 530px;
        margin: 35px auto 0;
    }
}

#gmap {
    margin: 14vw 0 27vw;
}

#gmap .map {
    height: 480px;
    margin: 0 var(--paddingWrap);
}

#gmap .map iframe {
    width: 100%;
    height: 100%;
}

#gmap .btnbox {
    margin-top: 15vw;
}

@media screen and (min-width: 768px) {
    #gmap {
        margin: -103px 0 95px;
    }

    #gmap .map {
        height: 460px;
        margin: 0 100px;
    }

    #gmap .btnbox {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 37px;
    }

    #gmap .btnbox .btn-style-1 {
        width: 250px;
        min-height: 50px;
    }

    #gmap .btnbox .btn-style-1::after {
        width: 80px;
        right: -35px;
    }

    #gmap .btnbox .btn-map,
    #gmap .btnbox .btn-copy {
        margin: 0 79px 0 41px;
    }

    #gmap .btnbox .btn-print {
        display: block;
        margin-top: 10px;
        text-align: center;
    }
}

/*# osirase template */
.oshirase {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    /*適時指定 */
    text-align: left;
    background: #7e0a0a;
    /*適時変更 */
    box-shadow: 0px 0px 0 5px #7e0a0a;
    /*適時変更 */
    border: 1px solid #fff;
    /*適時変更 */
    color: #fff;
    /*適時変更 */
    font-size: 3.6vw;
    /*適時変更 */
    padding: 15px 5px;
    display: block;
    width: calc(100vw - 30px);
    /*100vwからshadow分を引く（左右　5px+5px）*/
    margin: 5px 10px 20px;
    /*shadow分marginを増やす(上下） */
    font-weight: normal;
    line-height: 1.8;
    /*適時変更 */
}

.oshirase p {
    margin-bottom: 1em;
}

.oshirase p:last-child {
    margin-bottom: 0em;
}

.oshirase .ttl {
    font-size: 130%;
    font-weight: bold;
}

.oshirase .link a {
    margin: 20px auto;
    width: 90%;
    display: block;
    color: #000;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
    text-align: center;
    font-size: 14px;
    background-color: #fefefe;
    border-radius: 0px;
    padding: 8px 0;
    text-decoration: none;
    box-sizing: border-box;
    line-height: 25px;
    letter-spacing: 2px;
    font-weight: bold;
}

@media screen and (min-width:1000px) {
    .oshirase {
        text-align: center;
        font-size: 14px;
        /*適時変更 */
        display: block;
        width: 700px;
        z-index: 1000;
        /*適時変更、固定ナビの下になるように */
        margin: 40px auto;
    }

    .oshirase .link a {
        width: 380px;
    }
}