body {
    font-family: 'Noto Serif JP', serif;
    color: #302833;
}

header {
    width: 100%;
    position: fixed;
    z-index: 999;
}

.navbar {
    padding: 0 4.0em;
    height:  100px;
    font-size: 1.25em;
    background: rgba(255,255,255,.75);
}

.navbar .navbar-brand {
    position: relative;
    top:-3px;
}

.navbar-start {
    margin-left: auto;
    margin-right: inherit;
}

.navbar-end {
    position: relative;
    margin-left: 1.0em;
}

.navbar-end a {
    padding: 0 1.0em;
    transition: 0.4s;
}

.navbar-end a:hover {
    background: rgba(255,255,255,0.9)
}

.navbar-end:before {
    position: absolute;
    top:33px;
    left: 0;
    content: "";
    width: 1px;
    height: 35px;
    background: #302833;
}

.navbar-link.is-active, .navbar-link:focus, .navbar-link:focus-within, .navbar-link:hover, a.navbar-item.is-active, a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover {
    background-color: inherit;
    color: inherit;
}

a.navbar-item:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 30px;
    width: 100%;
    height: 1px;
    background: #555;
    transform: scale(0, 1);
    transform-origin: left;
    transition: 0.4s;
}
a.navbar-item:hover:before {
    transform: scale(1);
}

footer {
    margin-top: 100px;
    padding: auto 1.0em;
    padding-top: 3.0em;
    line-height: 1.8em;
    background: #FDFDFD;
}

footer small {
    display: block;
    padding-bottom: 1.5em;
    text-align: center;
}

footer ul li {
    margin-left: 1.0em;
}

footer .sns-icon {
    margin-top: 0.5em;
}

footer .sns-icon li{
    display: inline-block;
    margin-left: 0;
}
footer .sns-icon li:first-child {
    margin-right: 0.5em;
}

footer .headlogo {
    width: 150px;
    margin-bottom: 1.0em;
}

footer a {
    transition: .4s;
}

footer a:hover {
    border-bottom: 1px solid #555;
}

footer .address p {
    padding-bottom: 0;
}

p {
    font-size: 16px;
}
main p {
    padding-bottom: 1.5em;
    line-height: 2.0em;
}

a {
    color: #302833;
}

a img {
    transition: .5s ease-in-out;
}
a img:hover {
    opacity: 0.6;
}

.wrapper {
    margin: 0 auto;
    max-width: 960px;

}

.w100 {
    width: 100%;
}

.w90 {
    width: 90%;
}

.w80 {
    width: 90%;
}

.w60 {
    width: 60%;
}

.w50 {
    width: 50%;
}
.w30 {
    width: 30%;
}

.w20 {
    width: 20%;
}

.mcenter {
    margin: 0 auto;
}

.mb100 {
    margin-bottom: 100px;
}
.mb50 {
    margin-bottom: 50px;
}

.op80 {
    opacity: .8;
}

.tc-w {
    color: white !important;
}

.b-links {
    display: inline-block;
    vertical-align: middle;
    width: 32%;
    text-align: center;
    border: solid 1px #707070;
}

.b-links a {
    display: block;
    padding: 2.0em 2.5em;
    transition: .5s;
}

.b-links a:hover {
    background: #FAFAFA;
}

.b-links:first-child {
    margin-right: 1.5em;
}

.b-links i {
    margin-right: 0.5em;
}

i.fa-external-link-alt{
    margin-right: 0;
    margin-left: 0.5em;
}

.backimgBox {
    position: relative;
}

.bacimgkInner {
    position: absolute;
    bottom: 4.5em;
}

.bacimgkInner a {
    padding: 0.8em 2.5em;
    background: rgba(255,255,255,.8);
    transition: 0.3s;
}

.bacimgkInner a:hover {
    padding: 0.8em 2.3em 0.8em 2.7em;
}

.pos-r {
    right: 0;
}

.hbtitle {
    position: relative;
    text-indent: 0.5em;
    letter-spacing: 0.5em;
    text-align: center;
}

.hbtitle:before, .hbtitle:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 40%;
    height: 1px;
    background-color: #707070;
}

.hbtitle.line30:before, .hbtitle.line30:after {
    width: 32%;
}

.hbtitle:before{
    left: 0;
}

.hbtitle:after{
    right: 0;
}

.hbtitle span.subj {
    display: block;
    text-indent: -0.3em;
    letter-spacing: 0.2em;
    color: #D3D3D3;
    font-size:0.8em;
}

.bgbtn {
    display: inline-block;
    padding: 0.5em 1.5em;
    background: #FAFAFA;
    transition: 0.3s;
}

.bgbtn:hover {
     padding: 0.5em 1.2em 0.5em 1.8em;
}

/*top -------------------------------*/
.swiper-pagination-bullet-active {
    background: #FFF !important;
}
.itembox {
    text-align: center;
}
.news time {
    margin-right: 1.0em;
}
.news h4 {
    display: inline-block;
}

/*sub common ------------------------*/

.sub-hero {
    position: relative;
}

.sub-hero h1 {
    position: absolute;
    top: 50%;
    font-size: 2.0em;
}

.sub-btn {
    text-align: center;
}

.sub-btn a {
    display: inline-block;
    padding: 0.8em 3.5em;
    background: #FAFAFA;
    transition: .3s;
}

.sub-btn a:hover {
    padding: 0.8em 3.2em 0.8em 3.8em;
}

.stepBox {
    border: 1px solid #707070;
    margin: 0 !important;
    padding: 1.0em;
}
.stepBox img {
    height: 100%;
}
.stepBox h3 {
    margin-bottom: 1.0em;
}

.b-arrow {
    display: block;
    margin: 30px auto;
    width: 20%;
}

.aftBox {
    position: relative;
}

.aftInner {
    width: 100%;
    position: absolute;
    bottom: 4.0em;
}

.aftInner h2 {
    font-size: 1.3em;
    margin-bottom: 1.0em;
}

.aftInner h2 span {
    margin-left: 0.5em;
    font-size: 0.6em;
}

.sublink {
    text-align: center;
}

.sublink span {
    display: block;
    font-size: 0.6em;
    color: #CBC5CE;
}

.sublink a {
    display: inline-block;
    padding: 0.1em 1.0em;
    border-right: solid 1px #302833;
    transition: .3s;
}

.sublink a:last-child {
    border-right: none;
}

.sublink a:hover {
    background: #fafafa;
}

/*About -------------------------------*/
.about h4 {
    margin: 1.0em 0 0 0;
    font-weight: bold;
}

.about p {
    font-size: 1.0em;
}

.about .minitext {
    font-size: 0.8em;
}

.aftcap h2 {
    border-bottom: 1px solid #707070;
}

.profileBox {
    width: 90%;
    margin: 0 auto;
}

/*Bridal -------------------------------*/

.price h3 {
    margin: 1.0em 0;
    font-size: 1.3em;
}
.price p {
    display: inline-block;
    padding: 0;
    font-size: 0.8em;
    width: 49%;
}

.pricedis h3{
    margin: 1.0em 0;
    font-size: 1.3em;
}

/*jewelry -------------------------------*/
.jwname {
    display: block;
}

.jwBox {
    position: relative;
}

.jwInner {
    position: absolute;
    bottom: 9.0em;;
}

.jwInner h2 {
    font-size: 2.0em;
}

.jwInner h2 span {
    display: block;
    font-size: 1.0rem;
    color: #8D8391;
}

.reformTitle {
    font-size: 1.2em;
    margin-bottom: 1.2em;
}
.reformimg {
    text-align: right;
}
.reformimg span {
    font-size: 0.8em;
}

.borderBox {
    border: 1px solid #707070;
    padding: 2.0em 7.0em;
}

.borderBox h2 {
    text-align: center;
    margin-bottom: 1.5em;
}

.borderBox li {
    padding: 1.0em 0;
    border-top: 1px solid #707070;
}

.borderBox li:last-child {
    border-bottom: 1px solid #707070;
}

.borderBox p.w50 {
    display: inline-block;
    width: 50%;
    padding: 0;
    text-align: center;
}

.caption {
    font-size: 0.8em;
}

.aftcap li {
    text-align: center;
    border-top: none !important;
}

.aftcap li:last-child {
    border-bottom: none !important;
}

.onlineshopBtn {
    text-align: center;
    border: 1px solid #707070;
}

.onlineshopBtn a {
    display: block;
    padding: 2.0em 0;
    transition: .3s;
}

.onlineshopBtn a:hover {
    background: #fafafa;
}

/*form*/

.fielf {
    color: #302833;
}

.field:not(:last-child) {
    margin-bottom: 2.0em;
}
.label {
    font-weight: normal;
}

.submit {
    padding: 0.8em 3.5em;
    color: #302833;
    background: #FAFAFA;
    transition: .3s;
    border: none;
    font-size: 1.0em;
    font-family: 'Noto Serif JP', serif;
}

.submit:hover {
    padding: 0.8em 3.2em 0.8em 3.8em
}
.mw_wp_form br{
	display: none;
}

.mw_wp_form p{
	padding-bottom: 0rem;
}

@media screen and (max-width: 1023px) { 
    .wrapper {
        padding-left:1.0em;
        padding-right: 1.0em;
    }
    .navbar-menu {
        background: none;
        box-shadow: none;
    }
    .navbar {
    height: inherit;
    }
    a.navbar-item {
        padding: 0.5em auto;
    }
    a.navbar-item:before {
    bottom: 0;
    }
    .navbar-end {
        margin: 0;
    }
    .navbar-end a {
        display: block;
        padding: 0;
    }
    .navbar-end a:hover {
        background: #FAFAFA;
    }
    .navbar-end:before {
        display: none;
    }
}

/* News */

.objfit {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.newsa-img {
    width: 300px;
    height: 300px;
    object-fit: cover;

}

.newscontents h4 {
    font-size: 1.3em;

}

/**/
@media screen and (max-width: 768px){
    .wrapper {
        padding-left:1.0em;
        padding-right: 1.0em;
        overflow: hidden;
    }
    .navbar {
        padding: 0 2.0em;
    }
    .navbar .navbar-brand {
        top: 0;
    }

    .swiper-container {
        padding-top: 100px !important;
    }
    
    .pos-r {
        right: auto;
        text-align: center !important;
    }

    .backimgBox {
        position: inherit;
        margin-top: 30px;
        overflow: visible;
    }

    .bacimgkInner {
        position:inherit;
        text-align: center;
    }

    .bacimgkInner a {
        padding: 0.8em 2.5em;
        background: rgba(250, 250, 250, 1);
        transition: 0.3s;
    }
    
    .bacimgkInner .tc-w {
        color: #302833 !important;
    }

    .bacimgkInner a:hover {
        padding: 0.8em 2.3em 0.8em 2.7em;
    }

    .b-links {
        width: 100%;
    }

    .b-links:first-child {
        margin-bottom: 20px;
    }
    
    .m-hidden {
        display: none;
    }

    .hbtitle:before, .hbtitle:after {
        width: 30%;
    }

    .sub-btn .w30 {
        width: 80%;
    }

/*bridal*/
    .stepBox img {
        width: 100%;
    }

    .aftBox, .jwBox {
        position: inherit;
    }

    .aftInner, .jwInner {
        position: inherit;
    }

    .aftInner h2 {
        font-size: 1.3em;
        margin-bottom: 1.0em;
    }

    .aftInner h2 span {
        margin-left: 0.5em;
        font-size: 0.6em;
    }

    .jwInner h2 {
        font-size: 1.4em;
    }

    .jwInner h2 span {
    display: inline-block;
    font-size: 1.0rem;
}


    .aftInner .tc-w, .jwInner .tc-w {
        color: #302833 !important;
    }

    .price img ,#stone img{
        width: 100%;
    }

    .hbtitle.line30:before, .hbtitle.line30:after {
    width: 20%;
    }

    .borderBox {
    border: 1px solid #707070;
    padding: 1.0em 3.0em;
    }

}