@charset "UTF-8"; 

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html {
    word-wrap: break-word;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    overflow-y: scroll;
    height: 100%;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    padding: 0;
    margin: 0;
    letter-spacing: 0.01em;
}

a {
    text-decoration: none;
}

img {
    width: 100%;
}

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    background: transparent;
    font-weight: inherit;
    font-size: inherit;
    font-style: inherit;
    -webkit-tap-highlight-color: transparent;
}

*:focus {
    outline: none;
}

li,ol {
    list-style: none;
}

.sp-block {
    display: none;
}

main {
    position: relative;
    overflow: hidden;
}

.gub-inner {
    max-width: 1000px;
    margin: auto;
}

@media all and (max-width: 765px) {

    .pc-block {
        display: none;
    }

    .sp-block {
        display: block;
    }

    .gub-inner {
        padding: 0 20px;
    }
}



.gub-header {
    position: fixed;
    width: 100%;
    background-color: #fff;
    height: 80px;
    box-shadow: 0px 0px 20px 0px rgba(159, 128, 128, 0.3);
    z-index: 1000;
}

.gub-header .gub-header_wrap {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}

.gub-header .gub-header_logo {
    max-width: 180px;
    position: relative;
    z-index: 1;
}

.gub-header .gub-header_logo a {
    line-height: 0;
    display: block;
}

.gub-header .gub-header_nav {
    width: 758px;
    position: relative;
}

.gub-header .gub-header_nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.gub-header .gub-header_nav ul a {
    font-weight: 700;
    color: #D8191E;
    transition: 0.5s;
}

.gub-header .gub-header_nav ul a:hover {
    opacity: 0.5;
    transition: 0.5s;
}

@media all and (max-width: 765px) {

    .gub-header {
        height: 60px;
    }

    .gub-header .gub-header_wrap {
        padding: 8px 10px;
        display: block;
    }

    .gub-header .gub-header_nav {
        width: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
    }

    .gub-header .gub-header_nav .gub-header_nav_btn {
        position: absolute;
        right: 10px;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    .gub-header .gub-header_nav .gub-header_nav_btn span {
        display: inline-block;
        position: absolute;
        width: 28px;
        right: 0;
        height: 3px;
        background: #D8191E;
        transition: 0.4s;
    }

    .gub-header .gub-header_nav .gub-header_nav_btn span:nth-child(1) {
        top: 18px;
    }

    .gub-header .gub-header_nav .gub-header_nav_btn span:nth-child(2) {
        top: 0;
        bottom: 0;
        margin: auto;
    }

    .gub-header .gub-header_nav .gub-header_nav_btn span:nth-child(3) {
        top: 39px;
    }

    .gub-header .gub-header_nav.nav_active .gub-header_nav_btn span:nth-child(1) {
        transform: translateY(-6px) rotate(35deg);
        top: 32px;
        width: 34px;
    }

    .gub-header .gub-header_nav.nav_active .gub-header_nav_btn span:nth-child(2) {
        opacity: 0;
    }

    .gub-header .gub-header_nav.nav_active .gub-header_nav_btn span:nth-child(3) {
        transform: translateY(6px) rotate(-35deg);
        top: 20px;
        width: 34px;
    }

    .gub-header .gub-header_nav .gub-header_nav_inner {
        transform: translateX(1000%);
        visibility: hidden;
        opacity: 0;
        transition: 0.5s;
        position: absolute;
        top: 60px;
        width: 100%;
        height: 100vh;
        background-color: #D8191E;
        padding: 30px 40px;
    }

    .gub-header .gub-header_nav.nav_active .gub-header_nav_inner {
        opacity: 1;
        transition: 0.6s;
        transform: translateY(0);
        visibility: visible;
    }

    .gub-header .gub-header_nav .gub-header_nav_inner ul {
        flex-direction: column;
        align-items: flex-end;
    }

    .gub-header .gub-header_nav .gub-header_nav_inner ul li + li {
        margin-top: 18px;
    }

    .gub-header .gub-header_nav .gub-header_nav_inner ul a {
        color: #fff;
        font-size: 18px;
        padding-bottom: 3px;
        border-bottom: 2px solid #fff;
    }

}

.gub-attention {
    position: fixed;
    bottom: 10px;
    left: 5px;
    width: 144px;
    line-height: 0;
    z-index: 100;
}

@media all and (max-width: 765px) {
    .gub-attention {
        width: 114px;
    }
}


.gub-kv {
    margin-top: 80px;
    background-image: url(../images/bg_all.jpg);
    background-size: contain;
    background-position: bottom center;
}

.gub-kv .gub-kv_wrap {
    max-width: 1366px;
    margin: auto;
    line-height: 0;
}

.gub-kv .gub-kv_wrap li ,
.gub-kv .gub-kv_wrap li a {
    line-height: 0;
}


@media all and (max-width: 765px) {

    .gub-kv {
        margin-top: 60px;
    }

}






.gub-product {
    background-color: #D8191E;
    padding: 80px 0 100px;
}

.gub-product .gub-product_h2 {
    max-width: 217px;
    margin: 0 auto 60px;
}

.gub-product_list ul {
    display: flex;
    justify-content: center;
    gap: 80px;
}

.gub-product_list .gub-product_item {
    width: calc((100% / 4) - 20px); 
    height: 370px;
    position: relative;
}

.gub-product_list .gub-product_item .gub-product_img {
    max-width: 103px;
    margin: 0 auto 25px;
}

.gub-product_list .gub-product_item .gub-product_tx {
    font-weight: 700;
    color: #fff;
    text-align: center;
}

.gub-product_list .gub-product_item .gub-product_btn {
    width: 172px;
    margin: 0 auto 0;
    border-radius: 100px;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.gub-product_list .gub-product_item .gub-product_btn a {
    display: block;
    font-size: 18px;
    height: 100%;
    padding: 13px 0 15px 26px;
    color: #D8191E;
    font-weight: 700;
    position: relative;
    background-color: #fff;
    transition: 0.5s;
    line-height: 1;
}

.gub-product_list .gub-product_item .gub-product_btn a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 18px;
    margin: auto;
    width: 12px;
    height: 12px;
    background-image: url(../images/icn_arrow.svg);
    background-repeat: no-repeat;
    transition: 0.5s;
}

.gub-product_list .gub-product_item .gub-product_btn a:hover {
    background-color: #9B1F24;
    color: #fff;
    transition: 0.4s;
}

.gub-product_list .gub-product_item .gub-product_btn a:hover::after {
    background-image: url(../images/icn_arrow_wt.svg);
    transition: 0.4s;
}


@media all and (max-width: 765px) {

    .gub-product {
        padding: 60px 0 0;
    }

    .gub-product .gub-product_h2 {
        max-width: 116px;
        margin: 0 auto 20px;
    }

    .gub-product_list ul {
        flex-wrap: wrap;
        /*justify-content: space-between;*/
        justify-content: space-around;
        gap: 0;
    }

    .gub-product_list .gub-product_item {
        width: calc((100% / 2) - 10px);
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .gub-product_list .gub-product_item:nth-child(n + 3) {
        margin-top: 35px;
        
    }

    .gub-product_list .gub-product_item .gub-product_img {
        max-width: 60px;
        margin: 0 auto 14px;
    }

    .gub-product_list .gub-product_item .gub-product_tx {
        font-size: 12px;
        line-height: 1.42;
        margin-bottom: 12px;
    }

    .gub-product_list .gub-product_item .gub-product_btn {
        width: 146px;
        margin: auto auto 0 auto;
        position: static;
    }
    
    .gub-product_list .gub-product_item .gub-product_btn a {
        font-size: 14px;
        padding: 12px 0 12px 22px;
    }
    
    .gub-product_list .gub-product_item .gub-product_btn a::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 18px;
        margin: auto;
        width: 12px;
        height: 12px;
        background-image: url(../images/icn_arrow.svg);
        background-repeat: no-repeat;
        transition: 0.5s;
    }
}


.gub-secret {
    padding-top: 130px;
    margin-top: -30px;
    background-color: #D8191E;
}

.gub-secret_items {
    position: relative;
    background-color: #fff;
}

.gub-secret_items::before {
    content: '';
    position: absolute;
    top: -99px;
    height: 100px;
    width: 100%;
    background-image: url(../images/bg_wt.svg);
    background-position: top center;
}

.gub-secret_items .gub-secret_inner {
    position: relative;
    height: 880px;
    max-width: 1000px;
    margin: auto;
}

.gub-secret_items .gub-secret_item {
    position: absolute;
}

.gub-secret_items .gub-secret_h2 {
    width: 492px;
    top: -25px;
    left: 0;
}

.gub-secret_items .gub-secret_product {
    top: -100px;
    right: 0;
    width: 290px;
}

.gub-secret_items .gub-secret_item01 {
    width: 669px;
    top: 153px;
    left: 0;
}

.gub-secret_items .gub-secret_item02 {
    width: 331px;
    bottom: 60px;
    left: 14px;
}

.gub-secret_items .gub-secret_item02 .note {
    font-size: 10px;
    color: #707070;
}

.gub-secret_items .gub-secret_item03 {
    width: 626px;
    top: 495px;
    right: 0;
}

@media all and (max-width: 765px) {

    .gub-secret {
    }

    .gub-secret_items .gub-secret_inner {
        height: auto;
    }

    .gub-secret_items {
        background: linear-gradient(180deg, #D8191E 0%, #D8191E 18%, #fff 18%, #fff 100%);
        padding-bottom: 40px;
    }

    .gub-secret_items .gub-secret_item {
        position: static;
        width: 100%;
        max-width: 257px;
        margin: auto;
    }

    .gub-secret_items::before {
        content: none;
    }

    .gub-secret_items .gub-secret_h2 {
        width: 90%;
        max-width: unset;
        margin: 0 auto 20px;
    }

    .gub-secret_items .gub-secret_box {
        position: relative;
        padding: 0 20px;
        z-index: 1;
    }

    .gub-secret_items .gub-secret_box::before {
        content: '';
        position: absolute;
        width: 110%;
        top: 4%;
        left: -1%;
        height: 140px;
        background-image: url(../images/bg_wt.svg);
        background-size: 300%;
        background-repeat: no-repeat;
        z-index: -1;
    }

    .gub-secret_items .gub-secret_product {
        width: 170px;
    }

    .gub-secret_item + .gub-secret_item {
        margin-top: 30px;
    }

    .gub-secret_items .gub-secret_item02 .note {
        margin-top: 10px;
    }
}

@media all and (max-width: 450px) {

    .gub-secret_items {
        background: linear-gradient(180deg, #D8191E 0%, #D8191E 16%, #fff 16%, #fff 100%);
    }

}

.gub-secret_point {
    padding: 80px 0 100px;
    background: url(../images/bg_all.jpg);
    background-attachment: fixed;
    background-size: cover;
}

.gub-secret_point .gub-secret_pointitem {
    background-color: #fff;
    border-radius: 7px;
    position: relative;
    box-shadow: 2px 2px 20px 0px rgba(0, 0, 0, 0.16);
}

.gub-secret_point .gub-secret_pointitem .gub-secret_pointttl {
    position: relative;
    padding: 22px 0 46px;
    background-image: url(../images/bg_secret_point.svg);
    background-repeat: no-repeat;
    background-position: top center;
    border-radius: 7px 7px 0 0;
}

.gub-secret_point .gub-secret_pointitem .gub-secret_pointttl .point {
    width: 90px;
    position: absolute;
    top: -26px;
    left: 20px;
}
.gub-secret_point .gub-secret_pointitem .gub-secret_pointttl h3 {
    padding-right: 60px;
    margin: 0 0 0 auto;}

.gub-secret_pointinner {
    max-width: 920px;
    margin: 0 auto 0;
    padding: 20px 0;
}

.gub-secret_pointinner .gub-secret_pointtx {
    text-align: center;
    color: #D8191E;
    font-size: 17px;
    margin-bottom: 20px;
    font-weight: 600;
}

.gub-secret_pointinner .gub-secret_pointtx .line {
    display: inline;
    background-image: linear-gradient(#D8191E , #D8191E);
    background-size: 0 2px;
    background-position: bottom right;
    background-repeat: no-repeat;
    padding-bottom: 2px;
    box-decoration-break: slice; /* Firefox用に指定 */
    -webkit-box-decoration-break: slice; /* Firefox以外のブラウザ用に指定 */
    transition: background-size 1.2s ease-out 1s;
}

.gub-secret_pointinner .gub-secret_pointtx span.line.line-active {
    background-size: 100% 2px;
    background-position: bottom left;  /* 左下に配置 */
}

.gub-secret_point .gub-secret_pointitem.point01 .gub-secret_pointttl h3 {
    max-width: 846px;
}

.gub-secret_point .gub-secret_pointitem.point02 {
    margin-top: 70px;
}
.gub-secret_point .gub-secret_pointitem.point02 .gub-secret_pointttl h3 {
    max-width: 800px;
}

/* グラフ用 */

/* POINT01 */
.gub-secret_pointinner .gub-secret_pointimg {
    position: relative;
}

.gub-secret_pointinner .gub-secret_pointimg .gub-graph span {
    position: absolute;
}

.gub-secret_pointinner .gub-secret_pointimg.graph01 .gub-graph .bar01 {
	position: absolute;
	bottom: 76px;
	left: 0;
	width: 100%;
	height: 0;
	overflow: hidden;
	transition: height 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.gub-secret_pointinner .gub-secret_pointimg.graph01 .gub-graph.gub-graph-active .bar01 {
   height: 146px;
}


@media all and (max-width: 765px) {
    .gub-secret_pointinner .gub-secret_pointimg.graph01 .gub-graph .bar02,
    .gub-secret_pointinner .gub-secret_pointimg.graph01 .gub-graph .bar03 {
        position: absolute;
        left: 0;
        width: 100%;
        height: 0;
        overflow: hidden;
        transition: height 1s cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    .gub-secret_pointinner .gub-secret_pointimg.graph01 .gub-graph .bar02 {
        bottom: 69%;
    }
    .gub-secret_pointinner .gub-secret_pointimg.graph01 .gub-graph .bar03 {
        bottom: 35.8%;
    }

    .gub-secret_pointinner .gub-secret_pointimg.graph01 .gub-graph.gub-graph-active .bar02 {
        height: 18.5%;
    }
    .gub-secret_pointinner .gub-secret_pointimg.graph01 .gub-graph.gub-graph-active .bar03 {
       height: 10.5%;
    }
}


/* POINT02 */

.gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph.gub-graph-active .bar01 img,
.gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph.gub-graph-active .tx01 img,
.gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph.gub-graph-active .tx02 img {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    max-width: none;
    height: 100%;
}


.gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph .bar01 {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 0px;
    height: 100%;
    transition: width 2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph.gub-graph-active .bar01 {
    width: 100%;
}

.gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph .gub-secret_pointimg_tx {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    transition: 1s;
    opacity: 0;
}

.gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph .gub-secret_pointimg_tx.gub-tx-active {
    opacity: 1;}

@media all and (max-width: 765px) {

    .gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph .bar02 {
        position: absolute;
        left: 0;
        width: 100%;
        height: 0;
        overflow: hidden;
        transition: height 1.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    .gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph.gub-graph-active .bar02 {
        height: 82%;
        top: 7.8%;
    }
    .gub-secret_pointinner .gub-secret_pointimg.graph02 .gub-graph .bar02 span {
        position: static;
    }
}



@media all and (max-width: 765px) {

    .gub-secret_point {
        padding: 50px 0 80px;
    }

    .gub-secret_point .gub-secret_pointitem .gub-secret_pointttl {
        position: relative;
        padding: 7% 0 10%;
        background-image: url(../images/bg_secret_point_sp.svg);
        background-size: 110%;
        background-position: bottom center;

    }
    .gub-secret_point .gub-secret_pointitem .gub-secret_pointttl .point {
        width: 16%;
        top: -23px;
        left: 10px;
    }
    .gub-secret_point .gub-secret_pointitem .gub-secret_pointttl h3 {
        width: 86%;
        margin: auto;
        padding: 0;
    }

    .gub-secret_pointinner {
        padding: 20px;
    }

    .gub-secret_point .gub-secret_pointitem.point02 {
        margin-top: 54px;
    }
    
}

@media all and (max-width: 450px) {

    .gub-secret_pointinner .gub-secret_pointtx {
        font-size: 14px;
        line-height: 1.65;
    }
}


.gub-scene {
    background-color: #D8191E;
    padding: 55px 0 90px;
}

.gub-scene .gub-scene_ofuro {
    display: flex;
    justify-content: center;
    align-items: center;
}

.gub-scene .gub-scene_ofuro .gub-scene_ofuroill {
    max-width: 440px;
    margin-right: 26px;
}

.gub-scene .gub-scene_ofuro .gub-scene_ofurofukidashi {
    max-width: 407px;
}

.gub-scene .gub-scene_items {
    position: relative;
    min-height: 332px;
    max-width: 793px;
    margin: auto;
}

.gub-scene .gub-scene_items .gub-scene_item {
    position: absolute;
}

.gub-scene .gub-scene_items .gub-scene_item.item01 {
    width: 243px;
    left: 0;
    bottom: 10px;
}

.gub-scene .gub-scene_items .gub-scene_item.item02 {
    width: 252px;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
}

.gub-scene .gub-scene_items .gub-scene_item.item03 {
    width: 232px;
    right: 0;
    bottom: 0;
}

@media all and (max-width: 765px) {

    .gub-scene {
        padding: 60px 0 70px;
    }

    .gub-scene .gub-scene_ofuro {
        flex-direction: column-reverse;
    }

    .gub-scene .gub-scene_ofuro .gub-scene_ofuroill {
        width: 90%;
        margin: auto;
    }

    .gub-scene .gub-scene_ofuro .gub-scene_ofurofukidashi {
        width: 90%;
    }

    .gub-scene .gub-scene_items {
        min-height: auto;
    }

    .gub-scene .gub-scene_items::before {
    content: "";
    display: block;
    padding-top: 100%; /* 1:1 */}

    .gub-scene .gub-scene_items .gub-scene_item.item01 {
        top: -10%;
        bottom: auto;
        width: calc(48% - 10px);
    }
    
    .gub-scene .gub-scene_items .gub-scene_item.item02 {
        top: auto;
        bottom: 0;
        left: 0;
        right: 25%;
        margin: auto;
        width: calc(50% - 10px);
    }
    
    .gub-scene .gub-scene_items .gub-scene_item.item03 {
        bottom: auto;
        top: 5%;
        width: calc(48% - 10px);
    }
}

.gub-design {
    padding: 80px 0 100px;
    position: relative;
}

.gub-design::before {
    content:'';
    display:block;
    position:fixed;
    top:0;
    left:0;
    z-index:-1;
    width:100%;
    height:100vh;
    background-repeat:no-repeat;
    background-position:50% 100%;
    background: url(../images/bg_all.jpg);
    background-size:cover;
    z-index: -10;
}

.gub-design_wrap {
    max-width: 840px;
    margin: auto;
}

.gub-design .gub-design_h2 {
    max-width: 794px;
    margin: 0 auto 46px;
}

.gub-design .gub-design_item {
    background-color: #fff;
    border-radius: 20px;
    border: 10px solid #D8191E;
    box-shadow: 10px 10px 0px 0px rgba(216, 25, 30, 1);
    position: relative;
    padding: 32px 20px 20px 20px;
}

.gub-design .gub-design_item + .gub-design_item {
    margin-top: 50px;
}

.gub-design .gub-design_item .gub-design_sttl {
    background-color: #D8191E;
    font-size: 20px;
    color: #fff;
    font-weight: 700;
    padding: 5px 26px;
    border-radius: 30px;
    position: absolute;
    top: -24px;
    left: 2%;
}

.gub-design .gub-design_item .gub-design_inner {
    display: flex;
    justify-content: start;
    align-items: center;
}

.gub-design .gub-design_item .gub-design_inner .gub-design_graphimg {
    width: 468px;
    margin-right: 20px;
    position: relative;
    overflow: hidden;
}

/* グラフ */
.gub-design .gub-design_item .gub-design_inner .graph01 .gub-design_graph {
    position: absolute;
    overflow: hidden;
    opacity: 0;
}
.gub-design .gub-design_item .gub-design_inner .graph01.gub-graph-active .bar01 {
    animation: designanime01 1s forwards;
    display: block;
}
.gub-design .gub-design_item .gub-design_inner .graph01.gub-graph-active .bar02 {
    animation: designanime01 1.2s forwards;
    display: block;
}
.gub-design .gub-design_item .gub-design_inner .graph01.gub-graph-active .bar03 {
    animation: designanime01 1.6s forwards;
    display: block;
}
.gub-design .gub-design_item .gub-design_inner .graph01 .tx01 {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    transition: 1s;
    opacity: 0;
}

.gub-design .gub-design_item .gub-design_inner .graph01 .gub-tx-active {
    opacity: 1;}


@keyframes designanime01 {
    0% {
        transform: translateY(100%);
        opacity: 0;
        display: none;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
        display: block;
    }
}


.gub-design .gub-design_item .gub-design_inner .graph02 span {
    position: absolute;
}

.gub-design .gub-design_item .gub-design_inner .graph02.gub-graph-active span img {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    max-width: none;
    height: 100%;
}


.gub-design .gub-design_item .gub-design_inner .graph02 .bar01 {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    width: 0px;
    height: 100%;
    transition: width 2s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.gub-design .gub-design_item .gub-design_inner .graph02.gub-graph-active .bar01 {
    width: 100%;
}

.gub-design .gub-design_item .gub-design_inner .graph02 .tx01 {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    transition: 1s;
    opacity: 0;
}

.gub-design .gub-design_item .gub-design_inner .graph02 .gub-tx-active {
    opacity: 1;}










.gub-design .gub-design_item .gub-design_inner .gub-design_tx {
    color: #D8191E;
    flex: 0 0 37%;
}

.gub-design .gub-design_item .gub-design_inner .gub-design_h3 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.43;
    margin-bottom: 10px;
}

.gub-design .gub-design_item .gub-design_inner p {
    line-height: 1.88;
    font-weight: 600;
}

.gub-design .gub-design_item .gub-design_inner .gub-design_link {
    text-align: right;
    font-size: 14px;
}

.gub-design .gub-design_item .gub-design_inner .gub-design_link a {
    color: #D8191E;
    padding: 0 14px 0 4px;
    transition: 0.3s;
    display: inline-block;
    position: relative;
}

.gub-design .gub-design_item .gub-design_inner .gub-design_link a::before {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 2px solid #D8191E;
    border-right: 2px solid #D8191E;
    right: 2px;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(45deg);
}

.gub-design .gub-design_item .gub-design_inner .gub-design_link a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: #D8191E;
	transition: all 0.3s ease 0s;
}

.gub-design .gub-design_item .gub-design_inner .gub-design_link a:hover::after {
    width: 100%;
}

.gub-design_items .note {
    text-align: right;
    margin-top: 20px;
    font-size: 10px;
    color: #707070;
}

@media all and (max-width: 765px) {

    .gub-design {
        padding: 80px 20px 60px;
    }
    .gub-design .gub-design_h2 {
        margin: 0 auto 36px;
    }

    .gub-design .gub-design_item {
        padding: 36px 15px 30px 15px;
    }

    .gub-design .gub-design_item .gub-design_inner {
        flex-direction: column;
    }

    .gub-design .gub-design_item .gub-design_sttl {
        font-size: 16px;
        left: 0;
        right: 0;
        margin: auto;
        padding: 10px 26px;
        max-width: 270px;
        text-align: center;
        width: 248px;
    }
    .gub-design .gub-design_item:nth-child(2) .gub-design_sttl  {
        width: 263px;
    }

    .gub-design .gub-design_item .gub-design_inner .gub-design_graphimg {
        width: 100%;
        margin: auto;
    }

    .gub-design .gub-design_item .gub-design_inner .gub-design_tx {
        text-align: center;
        font-size: 14px;
        line-height: 1.57;
        flex: auto;
    }

    .gub-design .gub-design_item .gub-design_inner .gub-design_h3 {
        font-size: 24px;;
        line-height: 1.34;
    }
    
    .gub-design .gub-design_item .gub-design_inner .gub-design_link {
        text-align: center;
        margin-top: 10px;
    }

    .gub-design .gub-design_item .gub-design_inner .gub-design_link a::after {
        width: 100%;
    }

}



.gub-recipe {
    position: relative;
    padding: 80px 0 0;
    overflow: hidden;
    background-color: #fff;
}

.gub-recipe_item {
    width: 570px;
    height: 570px;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

.gub-recipe_item::after {
    content: '';
    position: absolute;
    top: 0;
    background-color: #D8191E;
    border-radius: 500px;
    padding: 50%;
    z-index: -1;
}

.gub-recipe_item .gub-recipe_inner {
    padding-top: 5%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.gub-recipe_item .gub-recipe_h2 {
    max-width: 407px;
    margin: 0 auto 20px;
}

.gub-recipe_item .gub-recipe_tx {
    text-align: center;
    color: #fff;
    font-size: 18px;
}
.gub-recipe .gub-recipe_btn {
    width: 260px;
    margin: 24px auto 0;
    border-radius: 100px;
    overflow: hidden;
    position: relative;
}

.gub-recipe .gub-recipe_btn a {
    display: block;
    font-size: 17px;
    height: 100%;
    padding: 17px 0 17px 0;
    text-align: center;
    color: #D8191E;
    position: relative;
    background-color: #fff;
    transition: 0.5s;
    line-height: 1;
}

.gub-recipe .gub-recipe_btn a::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 18px;
    margin: auto;
    width: 12px;
    height: 12px;
    background-image: url(../images/icn_arrow.svg);
    background-repeat: no-repeat;
    transition: 0.5s;
}

.gub-recipe .gub-recipe_btn a:hover {
    background-color: #9B1F24;
    color: #fff;
    transition: 0.4s;
}

.gub-recipe .gub-recipe_btn a:hover::after {
    background-image: url(../images/icn_arrow_wt.svg);
    transition: 0.4s;
}

@media all and (max-width: 765px) {

    .gub-recipe {
        padding-top: 60px;
    }

    .gub-recipe_item {
        width: 95%;
        height: 41%;
    }

    .gub-recipe_item::after {
        margin: auto;
        width: 100%;
        height: 100%;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
    }

    .gub-recipe_item .gub-recipe_inner {
        padding-top: 0;
    }

    .gub-recipe_item .gub-recipe_h2 {
        width: 68%;
    }

    .gub-recipe_item .gub-recipe_tx {
        font-size: 13px;
    }

    .gub-recipe .gub-recipe_btn {
        width: 100%;
        max-width: 220px;
        margin: 20px auto 0;
    }
    
    .gub-recipe .gub-recipe_btn a {
        font-size: 13px;
        padding: 12px 0 12px 0;
    }
    
    .gub-recipe .gub-recipe_btn a::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        right: 14px;
        margin: auto;
        width: 12px;
        height: 12px;
        background-image: url(../images/icn_arrow.svg);
        background-repeat: no-repeat;
        transition: 0.5s;
    }
}

.gotop {
    background-color: #fff;
    text-align: center;
    padding: 110px 0 60px;
}

.gotop a {
    color: #D8191E;
    padding: 0 24px 0 4px;
    transition: 0.3s;
    display: inline-block;
    position: relative;
    font-size: 21px;
}

.gotop a::before {
    content: '';
    position: absolute;
    width: 12px;
    height: 12px;
    border-top: 2px solid #D8191E;
    border-left: 2px solid #D8191E;
    right: 2px;
    bottom: 4px;
    margin: auto;
    transform: rotate(45deg);
}

.gotop a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background: #D8191E;
	transition: all 0.3s ease 0s;
}

.gotop a:hover::after {
    width: 100%;
}



@media all and (max-width: 765px) {

    .gotop a {
        font-size: 16px;
    }

    .gotop a::before {
        width: 10px;
        height: 10px;
    }

    .gotop a::after {
        width: 100%;
    }
    
    

}




.gub-footer {
    background-color: #fff;
	padding: 20px 20px 30px 20px;
}
.gub-footer__links {
	padding: 10px 0 5px 15px;
	font-size: 10px;
	line-height: 1.5;
	display: flex;
	flex-wrap: wrap;
}
.gub-footer__links li {
	margin-right: 15px;
    padding-right: 15px;
    border-right: 1px solid #ccc;
}
.gub-footer__links li a {
	color: #0068b7;
	padding-left: 14px;
}
.gub-footer__links li a[target="_blank"] {
	background-image: url(../images/icon_blank.gif);
	background-repeat: no-repeat;
	background-position: 0 2px;
}
.gub-footer__copyright {
	font-size: 10px;
	line-height: 1.5;
	text-align: right;
}
@media screen and (min-width: 768px) {
    .gub-footer .gub-footer_inner {
        display: flex;
        justify-content: space-between;
    }
    .gub-footer {
        padding: 20px 20px 30px 20px;
        letter-spacing: 0;
    }
    
	.gub-nav__list li a span:before {
		transition: opacity .3s ease;
	}
	.gub-nav__list li a:hover span:before {
		opacity: 1;
	}
	.gub-nav__list li a span:after {
		transition: opacity .3s ease;
	}
	.gub-nav__list li a:hover span:after {
		opacity: 1;
	}
	.gub-footer__links li a:hover {
		color: #0096ff;
		text-decoration: underline;
	}
}


.js-inview,
.js-inview-list,
.js-graph-inview {
	will-change: translate, opacity;
	transform: translate(0,60px);
	opacity: 0;
	transition: all 0.8s ease-in-out;
}

.js-inview-act {
	transform: translate(0,0);
	opacity: 1.0;
}



/* 4/1追加 */

.gub-bnr {
    background-color: #D8191E;
    padding-top: 60px;
}

.gub-bnr.noBg {
    background-color: transparent;
    padding-top: 80px;
}

.gub-bnr.WhiteBg {
    background-color: #fff;
    padding-top: 80px;
}

.gub-bnr .gub-inner {
    background-color: #fff;
    line-height: 0;
}

.gub-bnr a {
    transition: 0.5s;
    display: block;
}

.gub-bnr a:hover {
    opacity: 0.7;
    transition: 0.5s;}

@media all and (max-width: 765px) {
    .gub-bnr {
        padding-top: 30px;
    }

    .gub-bnr.noBg {
        padding-top: 60px;
    }
    .gub-bnr .gub-inner {
        padding: 0;
        margin: 0 20px;
    }
}



.slick-dots {
    position: absolute;
    bottom: -22px;
    display: flex;
    justify-content: center;
    width: 100%;
}

.slick-dots li {
    margin: 0 10px;
}
.slick-dots li,
.slick-dots li button,
.slick-dots li button::before{
  width: 8px;
  height: 8px;
  border-radius: 20px;
}

.slick-dots button {
    text-indent: -9999px;
    background-color: #EFA3A5;
    position: relative;
    -webkit-appearance: none;
    font-size: 0;
    line-height: 0;
    display: block;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
}

.slick-dots li.slick-active button {
    background: #fff;
}

.slick-dots button::before,.slick-dots button::after {
    content: '';
}


@media all and (max-width: 765px) {

    .slick-dots {
        bottom: -19px;
    }

    .slick-dots li {
        margin: 0 6px;
    }

}



.gub-mv {
    position: relative;
}

.gub-mvbtn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 100;
    overflow: hidden;
    background-color: #fff;
    width: 200px;
    height: 200px;
    border-radius: 300px;
}

.gub-mvbtn button {
    position: relative;
    width: 200px;
    height: 200px;
    border-radius: 300px;
    background-image: url(../images/bg_mvbtn.png);
    background-size: 101%;
    background-position: center center;
    color: #fff;
    cursor: pointer;
    font-weight: 500;
    transition: 0.5s;
}

.gub-mvbtn button:hover {
    opacity: 0.7;
    transition: 0.5s;
}

.gub-mvmodal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
    box-sizing: border-box;
}

.gub-mvmodal.gub-mvactive {
    opacity: 1;
    visibility: visible;
}

.gub-mvmodal_inner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 830px;
    margin: auto;
    max-height: 670px;
}

.gub-mvbtn-close {
    position: absolute;
    top: -8%;
    right: 0;
    width: 40px;
    height: 40px;
    background-image: url(../images/icn_close.svg);
    background-size: cover;
    cursor: pointer;

}

.gub-mvmodal_inner .gub-bnr {
    padding-top: 20px;
}



@media all and (max-width: 765px) {

    .gub-mvmodal_inner {
        max-height: 370px;
        margin: auto 20px;
    }

    .gub-mvbtn-close {
        width: 34px;
        height: 34px;
        top: -11%;
        right: 4%;
    }

    .gub-mvbtn button {
        width: 110px;
        height: 110px;
    }

    .gub-mvbtn button p {
        font-size: 9px;
        margin-top: 20px;
    }
    
    .gub-mvbtn button p span {
        font-size: 14px;
    }
    
    .gub-mvbtn button p em {
        font-size: 11px;
    }

    .gub-mvbtn button::after {
        width: 18px;
        height: 18px;
        bottom: 6px;
    }

    .gub-mvbtn {
        width: 110px;
        height: 110px;
        bottom: 10px;
        right: 10px;
    }

    .gub-mvmovie {
        position: relative;
        width: 100%;
        padding-top: 56.25%;
    }

    .gub-mvmovie iframe {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: 90%;
    }

    .gub-mvmodal_inner .gub-bnr {
        padding: 0;
    }

    .gub-mvmodal_inner .gub-bnr .gub-inner {
        margin: 0;
    }

}