@charset "UTF-8";

/*---------------------------------------------sec-index-----*/

.head24.borderB{
    font-weight: 100;
    border-bottom: 1px solid #e0d8d5;
    margin-bottom: 40px;
    line-height: 1.4;
    padding-bottom: 10px;
}

#sec-index{
    padding: 120px 0;
}

#sec-index li a{
    border: 5px solid #fff;
    color: #fff;
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 10px;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

#sec-index li a:hover{
    border: 5px solid #dbd6d3;
    color: #f9ddcd;
}

#sec-index li a img{
    width: 100%;
}

#sec-index .index-wrap{
    text-align: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 90%;
}

#sec-index .index-wrap .text60{
    font-size: 60px;
    font-size: 6rem;
    line-height: 1.4;
    margin-bottom: 25px;
}

#sec-index .index-wrap .en.text12{
    display: block;
}

#sec-index .index-wrap .head24{
    line-height: 1.4;
}

#sec-index .index-wrap .head24 .text16{
    display: block;
}

#sec-all{
    background: #f6f2f0;
    padding: 120px 0 160px;
}

#sec-01,
#sec-02,
#sec-03,
#sec-04{
    background: #fff;
    padding: 140px 50px 90px;
    position: relative;
}

#sec-01,
#sec-02,
#sec-03{
    margin-bottom: 90px;
}

.half-circle{
    background: url(../../img/esthetic/half-circle.png) no-repeat;
    background-size: cover;
    height: 115px;
    width: 228px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
}

.hc-wrap{
    color: #fff;
    text-align: center;
}

.hc-wrap .head42{
    line-height: 1.4;
}

.cm-head{
    margin-bottom: 65px;
}

.head-wrap{
    border-bottom: 1px solid #e4dcd7;
    margin-bottom: 40px;
    padding-bottom: 40px;
    text-align: center;
}

.head-wrap .head52{
    font-size: 52px;
    font-size: 5.2rem;
}

.cm-head .text16{
    text-align: center;
}

.wide-img{
    margin-bottom: 20px;
}

.flex-sec01{
    justify-content: space-between;
    align-items: center;
}

.sec01-img{
    width: 48%;
}

.sec01-detail{
    width: 48%;
}

.sec01-list li{
    margin-bottom: 30px;
}

.sec01-list li:last-child{
    margin-bottom: 0;
}

.sec01-list li .text21{
    margin-bottom: 10px;
}

.sec01-list li .text21 span{
    color: #bda99b;
    margin-right: 5px;
}

#sec-02 .base__flex{
    margin-bottom: 70px;
}

#sec-02 .base__flex img{
    margin-bottom: 10px;
}

#sec-02 .base__flex .text18,
#sec-03 .base__flex .text18{
    color: #826e60;
    text-align: center;
}

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

.flex-pt li{
    margin-bottom: 2%;
    width: 49%;
}

.flex-ptd{
    justify-content: space-between;
    align-items: center;
}

.ptd-img{
    width: 30%;
}

.ptd-detail{
    width: 66%;
}

.ptd-detail .head21{
    color: #826e60;
    line-height: 1.7;
    margin-bottom: 10px;
}

.ptd-detail .text16{
    display: block;
    line-height: 1.4;
}

.flex-sec03{
    justify-content: space-between;
    margin-bottom: 70px;
}

.sec03-img{
    width: 50%;
}

.sec03-detail{
    width: 47%;
}

.sec03-detail .text15{
    margin-bottom: 30px;
}

.flex03-detail{
    align-items: center;
    justify-content: space-between;
}

.flex03-detail p{
    width: 49%;
}

#sec-03 .base__flex{
    margin-bottom: 50px;
}

#sec-03 .base__flex img {
    margin-bottom: 10px;
}

#sec-03 .base__flex .text18{
    margin-bottom: 10px;
}

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

.brown-btn a{
    display: block;
    background: #321809;
    color: #fff;
    border-radius: 100px;
    padding: 24px 25px 25px;
    text-align: center;
    position: relative;
    max-width: 400px;
    margin: 0 auto;
    width: 90%;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.brown-btn a:hover{
    background: #4c2d1b;
}

.brown-btn a span{
    left: 90%;
    transform: translateY(-50%);
    top: 50%;
    position: absolute;
    font-size: 1.8rem;
}

@media only screen and (max-width: 1080px) {
#sec-index .index-wrap .text60 {
    font-size: 5rem;
    margin-bottom: 15px;
}

#sec-index .index-wrap .head24 {
    font-size: 2rem;
}

#sec-index .index-wrap .head24 .text16 {
    font-size: 1.3rem;
}

.head-wrap {
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.head-wrap .head52 {
    font-size: 4.2rem;
    line-height: 2;
}

#sec-01, #sec-02, #sec-03, #sec-04 {
    padding: 130px 50px 60px;
}

.half-circle {
    height: 95px;
    width: 188px;
}

.cm-head {
    margin-bottom: 45px;
}

.flex-sec01 {
    align-items: flex-start;
}

.sec01-list li .text21 {
    margin-bottom: 5px;
    font-size: 1.8rem;
}

.sec01-list li .text16 {
    font-size: 1.4rem;
}

.flex-ptd {
    align-items: flex-start;
}

.ptd-detail .head21 {
    margin-bottom: 0;
}

.ptd-detail .text15{
    font-size: 1.3rem;
}

.head24.borderB {
    margin-bottom: 20px;
}
}

@media screen and (max-width: 834px){

#sec-index {
    padding: 50px 0;
}

#sec-index .base__flex {
    flex-direction: inherit;
}

#sec-index .base__flex-column4-item {
    width: 48%;
    margin-bottom: 4%;
}

#sec-index .base__flex-column4-item:nth-of-type(3),
#sec-index .base__flex-column4-item:nth-of-type(4) {
    margin-bottom: 0;
}

#sec-index .index-wrap .text60 {
    font-size: 3rem;
    margin-bottom: 10px;
}

#sec-index .index-wrap .head24 {
    font-size: 1.6rem;
}

#sec-index  .base__flex-column4-item img{
    margin-bottom: 0;
}

#sec-all {
    background: #f6f2f0;
    padding: 50px 0 80px;
}

#sec-01, #sec-02, #sec-03, #sec-04 {
    padding: 70px 5% 8%;
}

#sec-01, #sec-02, #sec-03 {
    margin-bottom: 50px;
}

.flex-sec01 {
    display: block;
}

.sec01-img {
    width: 100%;
}

.sec01-detail {
    width: 100%;
    margin-bottom: 25px;
}

.sec01-list li {
    margin-bottom: 15px;
}

.sec01-list li .text21 {
    margin-bottom: 5px;
    font-size: 1.6rem;
}

.half-circle {
    height: 64px;
    width: 128px;
}

.hc-wrap .head42 {
    line-height: 1;
    font-size: 2.6rem;
}

.head-wrap .head52 {
    font-size: 52px;
    font-size: 2.6rem;
    line-height: 2;
}

.head-wrap .text21 {
    font-size: 1.6rem;
}

.head-wrap {
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.cm-head {
    margin-bottom: 30px;
}

.cm-head .text16 {
    text-align: left;
}

#sec-02 .base__flex .text18, 
#sec-03 .base__flex .text18 {
    font-size: 1.6rem;
}

#sec-02 .base__flex {
    margin-bottom: 40px;
}

.flex-pt li {
    margin-bottom: 5%;
    width: 100%;
}

.ptd-detail .text16 {
    font-size: 1.2rem;
}

.ptd-detail .head21 {
    font-size: 1.8rem;
    margin-bottom: 10px;
}

.ptd-detail .text15 {
    font-size: 1.3rem;
}

.flex-sec03 {
    margin-bottom: 40px;
    display: block;
}

.sec03-img {
    width: 100%;
    margin-bottom: 10px;
}

.sec03-detail {
    width: 100%;
}

.head24.borderB {
    font-size: 2rem;
    margin-bottom: 15px;
}

#sec-03 .base__flex {
    margin-bottom: 20px;
}

.brown-btn a .text18{
    font-size: 1.3rem;
}

}

@media screen and (max-width: 687px){

}