/*
英
font-family: 'Josefin Sans', sans-serif;
*/

.none{
    display: none;
}

body{
    color: #2b2b2b;
    background-color: #ffffff;
    opacity: 1;
    background-image:  radial-gradient(#eae5e3 0.75px, transparent 0.75px), radial-gradient(#eae5e3 0.75px, #ffffff 0.75px);
    background-size: 30px 30px;
    background-position: 0 0,15px 15px;
}

h1{
    width: 30%;
    margin: 0 auto;
}

img{
    width: 100%;
}

a{
    text-decoration: none;
}

.grnv{
    padding-top: 20px;
}

ul{
    list-style-type: none;
    padding-left: 0;
}

.grnv{
    background-color: white;
}

.grnv-list{
    display: flex;
    justify-content: space-evenly;
    margin-top: 30px;
}

.grnv-list a{
    position: relative;
    color: #2b2b2b;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 24px;
}

.grnv-list a::after{
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #2b2b2b;
    bottom: -1px;
    transform: scale(0,1);
    transform-origin: right top;
    transition: transform 0.3s;
}

.grnv-list a:hover::after{
    transform: scale(1,1);
    transform-origin: left top;
}

.tp-main{
    margin-top: 155px;
}

.tp-main img{
    height: 50vh;
    object-fit: cover;
}

.tp-concept,.share{
    display: flex;
    align-items: center;
}

.tp-concept-l,.share-l{
    width: 40%;
    margin-left: 10%;
    padding-right: 5%;
}

.tp-concept-l h2{
    font-family: 'Josefin Sans', sans-serif;
    font-size: 50px;
}

.tp-concept-l p{
    line-height: 2em;
}

.tp-concept-r,.share-r{
    width: 50%;
}

.tp-concept-r img{
    height: 40vh;
    object-fit: cover;
}

.tp-style{
    background-color: #eae5e3;
    padding: 150px 0;
}

.tp-title h2{
    font-size: 60px;
    text-align: center;
    font-family: 'Josefin Sans', sans-serif;
    margin-bottom: 30px;
}

.tp-btn {
    font-family: 'Josefin Sans', sans-serif;
    color: #333;
    font-size: 16px;
    background: transparent;
    margin: 0 auto;
    display: block;
    width: 240px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 24px;
    border: 3px solid #333;
    border-radius: 6px;
    position: relative;
    z-index: 1;
    transition: .3s;
}

.tp-btn::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: #333;
    transform-origin: 100% 50%;
    transform: scaleX(0);
    transition: transform ease .3s;
}

.tp-btn:hover {
    color: #fff;
}

.tp-btn:hover::before {
    transform-origin: 0% 50%;
    transform: scaleX(1);
}

.swiper-1{
    width: 100%;
    max-width: 1400px;
}

.swiper-1 .swiper-wrapper,.swiper-2 .swiper-wrapper{
    margin-bottom: 30px;
}

.swiper-1 .swiper-pagination,.swiper-2 .swiper-pagination{
    margin-bottom: 20px;
}

.swiper-2{
    width: 80%;
    max-width: 1400px;
}

.tp-staff{
    margin: 100px 0;
}

.tp-staff-list h3,.tp-staff-list p,.foot-sitemenu a{
    font-family: 'Josefin Sans', sans-serif;
}

.tp-staff-list h3{
    margin-bottom: 0;
}

.tp-sns{
    margin-bottom: 100px;
}

.tp-sns .tp-btn{
    margin-top: 30px
}

footer{
    background-color: #fffaf7;
    padding-top: 50px;
}

footer figure{
    text-align: center;
}

footer img{
    width: 30%;
}

.foot-sitemenu{
    display: flex;
    justify-content: space-evenly;
    margin-top: 30px;
}

.foot-sitemenu a{
    color: #2b2b2b;
    transition: .2s;
}

.foot-sitemenu a:hover{
    color: #eae5e3;
}

.foot-sns{
    display: flex;
    justify-content: center;
}

.foot-sns li{
    margin: 20px 10px;
}

.foot-sns a{
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 100%;
    text-align: center;
    color: white;
    background-color: #2b2b2b;
}

.copy{
    text-align: center;
}

/* share */
.share{
    margin-top: 150px;
    background-color: #eae5e3;
}

.share-r img{
    height: 25vh;
    object-fit: cover;
}

.share-title h2{
    font-family: 'Josefin Sans', sans-serif;
    font-size: 50px;
}

/* about */
.about-concept,.about-info,.about-acs{
    margin: 100px 0;
}

.subtit{
    font-family: 'Josefin Sans', sans-serif;
    font-size: 50px;
}

.concept-text p{
    line-height: 2em;
    letter-spacing: 2px;
}

.info-img{
    display: flex;
    justify-content: space-between;
}

.info-img img{
    width: 32%;
}

.info-text{
    margin-top: 50px;
}

.info-text img{
    margin-bottom: 10px;
    width: 40%;
}

.info-text table{
    width: 100%;
}

.info-text th,.info-text td{
    padding: 20px;
}

.info-text th{
    background-color: #dcdddd;
}

.info-text td{
    background-color: #f3f3f3;
}

/* menu */
.menu-cut{
    margin: 100px 0;
}

.menu-content{
    display: flex;
    justify-content: space-between;
}

.menu-l,.menu-r{
    width: 48%;
}

.menu-100{
    width: 100%;
}

.menu-content table{
    width: 100%;
}

.menu-content th,.menu-content td{
    padding: 20px 0 10px 10px;
    border-bottom: 1px solid;
}

.menu-content td{
    text-align: right;
}

.menu-img img{
    height: 30vh;
    object-fit: cover;
    margin: 50px 0;
}

/* style */
.style{
    margin: 100px 0;
}

.style-list{
    display: flex;
    justify-content: space-evenly;
    margin-bottom: 30px;
}

.style-list-btn{
    font-family: 'Josefin Sans', sans-serif;
    display: block;
    width: 100px;
    height: 50px;
    line-height: 50px;
    background-color: white;
    color: #2b2b2b;
    text-align: center;
    border-bottom: 1px solid #2b2b2b;
    transition: .3s;
    cursor: pointer;
}

.style-list-btn:hover{
    background-color: #2b2b2b;
    color: white;
}

.style-active{
    background-color: #2b2b2b;
    color: #eae5e3;
}

.style-content{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.style-details{
    width: 33%;
    margin-bottom: 5px;
    position: relative;
    display: none;
}

.style-show{
    display: block;
}

.style-text{
    position: absolute;
    width: 90%;
    bottom: 0;
    right: 5%;
    text-align: right;
    color: white;
    text-shadow: 2px 2px 4px #2b2b2b;
}

.style-text h3{
    font-family: 'Josefin Sans', sans-serif;
    font-size: 24px;
}

.style-text p{
    font-size: 14px;
}

.is-animated {
    animation: .6s zoom-in;
}

@keyframes zoom-in {
    0% {
        transform: scale(.1);
    }
    100% {
        transform: none;
    }
}


/* staff */
.staff-content{
    margin: 50px 0;
}

.staff-content .col-md-10{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.staff-text{
    display: block;
    width: 48%;
    position: relative;
    transition: .3s;
}

.staff-text:hover img{
    opacity: 70%;
}

.staff-text img{
    height: 20vh;
    object-fit: cover;
    transition: .3s;
}

.staff-name{
    position: absolute;
    bottom: 5%;
    right: 5%;
    text-align: right;
    font-family: 'Josefin Sans', sans-serif;
}

.staff-name h4,.staff-name p{
    color: white;
    text-shadow: 1px 1px 5px #2b2b2b;
}

.popup_wrap input {
    display: none;
}

.popup_overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(227, 215, 163, 0.5);
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
}

.popup_trigger {
    position: absolute;
    width: 100%;
    height: 100%;
}

.popup_content {
    position: relative;
    align-self: center;
    width: 75%;
    max-width: 800px;
    box-sizing: border-box;
    background: #fff;
    line-height: 1.4em;
    transition: 0.5s;
    border-radius: 12px;
    box-shadow: 0 0 5px rgba(94, 94, 94, 0.7);
}

.popup_content p{
    padding:20px 20px 5px 20px;
    text-align: center;
}

.close_btn {
    position: absolute;
    top: 14px;
    right: 16px;
    font-size: 30px;
    cursor: pointer;
    color:#2b2b2b;
}

.popup_wrap input:checked ~ .popup_overlay {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
}

.open_btn{
    cursor: pointer;
}

.popup-staff{
    padding: 50px;
}

.popup-staff h4{
    color: #333;
    font-size: 16px;
    background-color: #eae5e3;
    padding: 10px;
}

.popup-staff h3{
    font-size: 30px;
}

.popup-staff span{
    display: block;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 16px;
    color: #555;
    margin-top: 5px;
}

.popup-staff dt{
    font-family: 'Josefin Sans', sans-serif;
    border-bottom: 1px solid #333;
    color: #333;
}

.popup-staff dd a{
    font-family: 'Josefin Sans', sans-serif;
    color: #333;
    transition: .3s;
}

.popup-staff dd a:hover{
    color: #eae5e3;
}

/* contact */
.contact{
    margin: 50px 0;
}

.label{
    margin: 10px 0;
}

.label i{
    padding-right: 5px;
    color: #2b2b2b;
}

.label span{
    color: red;
    font-size: 14px;
    padding-left: 10px;
}

.input,.textarea{
    width: 100%;
    height: 2em;
    background-color: #eae5e3;
    border: none;
    border-radius: 5px;
}

.textarea{
    height: 10vh;
}

.sousin{
    display: block;
    width: 300px;
    height: 45px;
    line-height: 40px;
    margin: 30px 0;
    color: white;
    background-color: #2b2b2b;
    border: none;
    transition: .3s;
}

.sousin:hover{
    background-color: #eae5e3;
    color: #2b2b2b;
}

/* privacypolicy */
.pripoli{
    margin: 50px 0;
}

.pripoli-text h3{
    font-size: 20px;
    color: #2b2b2b;
    border-bottom: 1px solid #2b2b2b;
}