@charset "utf-8";


/* FADE ANIMATION */
.sa {
    opacity: 0;
    transition: all 1.0s ease;
  }
   
  .sa.show {
    opacity: 1;
    transform: none;
        transition: all 1.0s ease;
  
  }
   
  .sa--lr {
    transform: translate(-600px, 0);
      transition: all 1.0s ease;
  }
   
  .sa--rl {
    transform: translate(600px, 0);
    
  }
   
  .sa--up {
    transform: translate(0, 100px);
  }
   
  .sa--down {
    transform: translate(0, -100px);
  }
   
  .sa--scaleUp {
    transform: scale(.5);
    transition: all 0.75s ease;
  }
  
  .sa--scaleUp2 {
    transform: scale(.9);
    transition: all 0.75s ease;
  }
   
  .sa--scaleDown {
    transform: scale(1.5);
  }
   
  .sa--rotateL {
    transform: rotate(180deg);
  }
   
  .sa--rotateR {
    transform: rotate(-180deg);
  }
  

html{
    font-size: 28px;
}
body{
    color: #0b0b0b;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    overflow-x: hidden;
}
.body_wrap{
    width: 750px;
    margin: 0 auto;
    overflow: hidden;
}
.wrap{
    max-width: 600px;
    margin: 0 auto;
}
.wrap676{
    max-width: 676px;
    margin: 0 auto;
}
.text{
    font-size: 1rem;
    line-height:1.4;
    letter-spacing: .03em;
}
.mincho{
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}
a{
    text-decoration: none;
}
.fw_bold{
    font-weight: bold;
}
.break{
    margin-bottom: 14px;
    display: inline-block;
}
.dot{
    position: relative;
}
.dot::before{
    position: absolute;
    content: "";
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: #000;
    transform: translateX(-50%);
    left: 50%;
    top: -11px;
}
.line{
    position: relative;
    padding-left: 75px;
    line-height: 1;
}
.line::before{
    content: "";
    background-color: #000;
    width: 48px;
    height: 1px;
    left: 7px;
    top: 14px;
    position: absolute;
}
.opacity_white{
    background-color: rgba(255,255,255,.8);
}
.ps_re{
    position: relative;
}
.ps_ab{
    position: absolute;
}
.center{
    text-align: center;
}
.sub_title{
    font-size: 1.35rem;
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: .05em;
}
.sub_title span{
    font-size: 1.56rem;
}
.title{
    position: absolute;
    z-index: -1;
}

.gold{
    padding: 8px 0 3px;
    color: #ba7616;
    background: -webkit-linear-gradient(0deg, #ba7616, #c29b3e);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 2.07rem;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    font-weight: bold;
    letter-spacing: -0.02em;
    display: block;
}
.rank .text{
    font-size: .75rem;
    font-weight: bold;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    letter-spacing: 0.03em;
    text-align: center;
    line-height: 1;
    color: #042e00;
}
.gold .small{
    font-size: .75rem;
}
.gold .black{
    color: #042e00;
    background: none;
    -webkit-background-clip: initial;
    background-clip: initial;
    -webkit-text-fill-color: initial;
    letter-spacing: .03em;
}
.gradation_green{
    background: linear-gradient(to right, rgb(6,65,0) 0%, rgb(6,65,0) 0%, #639b5e 100%);
}
.reserve_btn a{
    color: #fff;
    text-decoration: none;
    letter-spacing: .11em;
    font-weight: bold;
    display: flex;
    align-items: center;
    font-size: 1.1rem;
    display: inline-block;
    padding: 27px 92px 32px 41px;
    box-shadow: 0 3px 10px rgba(0,0,0,.42);
    position: relative;
}
.reserve_btn a::before{
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 1px solid #fff;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
}
.reserve_btn a::after{
    content: "";
    position: absolute;
    background-image: url(../img/right-arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    display: inline-block;
    vertical-align: middle;
    transform: translateY(-50%);
    top: 50%;
    right: 40px;
    width: 34px;
    height: 25px;
}
.reserve_btn a span{
    font-size: 1.35rem;
    letter-spacing: .15em;
}
.arrow_btn{
    position: relative;
}
.arrow_btn::before{
    position: absolute;
    content: "";
    width: 12px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    background-image: url(../img/btn_next.png);
    transform: translateY(-50%);
    top: 50%;
    right: 17px;
}

/* HEADER */
#header{
    padding: 27px 0;
}
#header .wrap{
    max-width: 676px;
}
#header .logo{
    width: 156px;
    transform: translateY(-4px);
}
#header .flex{
    justify-content: space-between;
    align-items: center;
}
#header .tel{
/*
    background: linear-gradient(to right, #8c8c8c, #bab9b9);
  */
    box-shadow: 0 3px 10px rgba(0,0,0,.42);
    background: linear-gradient(to right, #064100, #5e9559);
    border-radius: 5px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-right: 24px;
    text-align: center;
    height: 90px;
    width: 266px;
}
#header .box .tel .text{
    line-height: 1.3;
    transform: translate(-5px,5px);
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
    #header .box .tel .text,
    #footer .item .flex .right .tel_btn .text {
        line-height: 1.3;
        transform: translate(-5px,5px);
        font-size: 0.8rem;
    }
}
#header a{
    color: #fff;
    font-weight: bold;
    letter-spacing: .03em;
}
#header .box{
    display: flex;
    justify-content: flex-end;
}
#header .box .text{
    font-size: 1rem;
    font-feature-settings: "palt" 1;
    line-height: 1.7;
}
#header .box .text img{
    width: 26px;
    margin-right: 6px;
}
#header .box .text span{
    font-size: 0.89rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
#header .reserve{
    box-shadow: 0 3px 10px rgba(0,0,0,.42);
    background: linear-gradient(to right, #064100, #5e9559);
    border-radius: 5px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    height: 90px;
    width: 190px;
}
#header .reserve img{
    width: 32px;
}
#header .reserve .text{
    font-size: 0.89rem;
}

/* FOOTER */
.info{
    background-color: #ede9e7;
    padding: 47px 0;
    text-align: center;
}
.info .text{
    font-weight: bold;
    font-size: .714rem;
    margin-bottom: 20px;
    letter-spacing: 0;
    line-height: 1.55;
}
.info .text:last-child{
    margin-bottom: 0;
}
.info .text span{
    color: #0b0b0b;
    font-weight: normal;
    font-size: .642rem;
}
#footer .btns .flex{
    justify-content: space-between;
}
#footer .btns a{
    color: #fff;
    font-size: .892rem;
    display: inline-block;
    border-radius: 5px;
}
#footer .tel_btn a{
    /*background: linear-gradient(to right, #8c8c8c, #bab9b9);*/
    background: linear-gradient(to right, #064100, #5e9559);
    box-shadow: 0 3px 10px rgba(0,0,0,.27);
    display: flex;
    align-items: center;
    letter-spacing: .03em;
    width: 377px;
    height: 90px;
}
#footer .tel_btn .text{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    width: 100%;
}
#footer .btns .tel_btn .text span{
    transform: translateX(-18px);
    display: inline-block;
}
#footer .tel_btn .text span{
    font-size: 0.892rem;
}
#footer .tel_btn a img{
    margin-right: 8px;
    width: 26px;
    vertical-align: middle;
}
#footer .footer_reserve_btn a{
    background: linear-gradient(to right, rgb(6,65,0) 0%, rgb(6,65,0) 0%, #639b5e 100%);
    box-shadow: 0 3px 10px rgba(0,0,0,.27);
    width: 270px;
    height: 90px;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#footer .footer_reserve_btn img{
    width: 36px;
}
#footer .btns{
    padding: 35px 0 37px;
}
#footer .copyright{
    background-color: #0b0b0b;
    text-align: center;
    padding: 24px 0;
    margin-bottom: 170px;
}
#footer.thanks .copyright{
    margin-bottom: 0;
}
#footer .copyright .text{
    color: #fff;
    font-size: 0.535rem;
    letter-spacing: .03em;
}
#footer .item{
    background-color: #fff;
    position: fixed;
    z-index: 999;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px 0;
}
#footer .item .logo img{
    width: 156px;
}
#footer .item .wrap{
    max-width: 1229px;
}
#footer .item .box{
    padding: 25px 0;
    box-shadow: 1px 3px 10px rgba(0,0,0,.25);
}
#footer .item a{
    color: #fff;
    font-size: .892rem;
}
#footer .item .flex{
    align-items: center;
    justify-content: space-between;
}
#footer .item .flex .right{
    display: flex;
}
#footer .item .flex .right .footer_reserve_btn{
    margin-left: 20px;
}
#footer .item .flex .right .footer_reserve_btn a{
    width: 190px;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
#footer .item .flex .right .footer_reserve_btn img{
    width: 32px;
}
#footer .item .flex .right .tel_btn a{
    width: 266px;
    border-radius: 5px;
}
#footer .item .flex .right .tel_btn .text{
    transform: translate(-10px,2px);
}
#footer .item .flex .right .tel_btn img{
    width: 29px;
}
#footer .item .flex .right .gotop{
    display: inline-block;
    margin-left: 32px;
}

/* INDEX */


/* MV */
.mv{
    position: relative;
    margin-bottom: 278px;
}
.mv .box{
    margin-left: auto;
    width: 692px;
    background-color: rgba(255,255,255,.9);
    padding: 48px 0 59px 57px;
    z-index: 1;
    position: relative;
    margin-top: -160px;
}
.mv .img{
    width: 100%;
}
.mv .img img{
    width: 100%;
}
.mv::after{
    content: "";
    position: absolute;
    background-color: #ede9e7;
    width: 100%;
    z-index: -1;
    bottom: -130px;
    right: 0;
    height: 525px;
}
.mv .reserve_btn{
    transform: translateY(50%);
    display: inline-block;
    position: absolute;
    bottom: -41px;
    left: 39px;
}
.mv .rank:nth-of-type(2){
    border-right: 2px solid #000;
    border-left: 2px solid #000;
    padding: 5px 25px 12px;
    margin: 0 23px;
}
.rank:nth-of-type(2) .gold{
    display: inline-block;
}
.rank:nth-of-type(2) .gold:nth-of-type(1){
    transform: translateX(-5px);
}
.rank:nth-of-type(2) .gold:nth-of-type(2){
    transform: translate(-2px,-4px);
}
.mv .rank:nth-of-type(3){
    transform: translateX(-17px);
}
.mv .rank:nth-of-type(3) .gold{
    padding: 8px 0 0;
}
.rank:nth-of-type(3) .gold .adjust{
    font-size: 1.7rem;
}
.mv .box .flex{
    margin-top: 45px;
    margin-left: 17px;
}
.mv .text.small{
    margin-top: 20px;
    line-height: 1.2;
    font-size: 0.678rem;
}
.mv .rank{
    padding: 5px 0 12px;
}
.rank .small.black{
    transform: translate(3px, -4px);
    display: inline-block;
    letter-spacing: 0.1em;
}
.mv .gradation_green{
    display: block;
    position: relative;
    overflow: hidden;
}
.mv .gradation_green::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn1 3s ease-in-out infinite;
}
@-webkit-keyframes shiny-btn1 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@keyframes shiny-btn1 {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

/* SEC01 */
.sec01{
    position: relative;
}
.sec01 .sub_title{
    text-align: left;
    margin-bottom: 14px;
}
.sec01 .img img{
    width: 100%;
}
.sec01 .text_box{
    width: 639px;
    margin-top: -130px;
    padding: 36px 0 32px 30px;
    position: relative;
    z-index: 1;
    margin-left: auto;
}
.sec01 .text_box .break:first-child{
    transform: translateX(-4px);
}
.sec01 .text_box .break{
    margin-bottom: 26px;
}
.sec01 .text_box .break:nth-of-type(4){
    margin-bottom: 26px;
}
.sec01 .text_box .break:nth-of-type(5){
    transform: translateX(-15px);
    margin-bottom: 28px;
    margin-top: 23px;
}
.sec01 .text_box .line:nth-of-type(2){
    display: inline-block;
    padding-bottom: 16px;
    transform: translateX(-4px);
}
.sec01 .title{
    top: -69px;
    left: 44px;
}
.sec01 .text_box .line:nth-of-type(3){
    display: inline-block;
    padding-bottom: 7px;
    transform: translateX(-4px);
}
.sec01 .text_box .break:nth-of-type(6){
    margin-bottom: 17px;
}
.sec01 .text_box .break:nth-of-type(7){
    margin-bottom: 20px;
}

/* SEC02 */
.sec02{
    position: relative;
    padding: 131px 0 179px;
}
.sec02 .title{
    right: 0;
    top: 60px;
}
.sec02 .sub_title{
    margin-bottom: 12px;
    text-align: left;
    letter-spacing: 0;
}
.sec02 .box .text_box{
    left: 0;
    width: 638px;
    padding: 36px 0 36px 30px;
    margin-left: auto;
    margin-top: -193px;
    position: relative;
    z-index: 1;
}
.sec02 .box .text_box .text{
    line-height: 1.45;
}
.sec02 .img img{
    width: 100%;
}
.sec02 .item{
    overflow-x: hidden;
    position: relative;
    padding: 141px 0 59px;
}
.sec02 .item .flex{
    flex-direction: column;
}
.sec02 .item .rank_box{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.sec02 .item .rank{
    background-image: url(../img/box.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 295px;
    height: 342px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 45px;
}
.sec02 .item .rank .text{
    font-size: .85rem;
}
.sec02 .item .rank .gold{
    font-size: 3.1rem;
}
.sec02 .item .rank:last-child{
    margin-top: -50px;
}
.sec02 .item .bg_img{
    position: absolute;
    left: 0;
    top: -18px;
    z-index: -1;
}
.sec02 .item img.ps_ab{
    top: 130px;
    left: 105px;
}
.sec02 .item .text.catch{
    font-size: 1.32rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: .03em;
    line-height: 1.3;
    transform: translateX(-44px);
    margin-bottom: 100px;
    position: relative;
}
.sec02 .item .text.catch::before{
    content: "";
    height: 1px;
    width: 638px;
    right: -9px;
    top: 150px;
    background-color: #000;
    position: absolute;
}
.sec02 .item .text.catch span{
    font-size: 2.14rem;
    display: block;
}
.sec02 .rank:nth-of-type(3) .gold .adjust {
    font-size: 2.6rem;
}
.sec02 .reason_top{
    font-size: 1.928rem;
    text-align: center;
    position: relative;
    font-weight: bold;
    margin-bottom: 35px;
}
.sec02 .reason_top span.adjust{
    display: inline-block;
}
.sec02 .reason_top .grad{
    line-height: 1;
    transform: translateY(-14px);
}
.sec02 .reason_top .grad,
.sec05 .sub_title .grad{
    color: rgb(6,65,0);
    background: -webkit-linear-gradient(0deg, rgb(6,65,0), rgb(98,154,93));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: bold;
    display: inline-block;
}
.sec02 .reason_top .fz_big{
    font-size: 4.42rem;
}
.sec02 .reason_top .fz_normal{
    font-size: 3rem;
}
.sec02 .reason_top .fz_small{
    font-size: 2.57rem;
}
.sec02 .reason_content{
    position: relative;
    margin-bottom: 79px;
}
.sec02 .reason_content .text_box{
    padding: 0 35px;
    position: relative;
}
.sec02 .reason_content:nth-of-type(2) .reason_img{
    margin-bottom: 34px;
}
.sec02 .reason_content:nth-of-type(2) .text{
    transform: translate(5px,3px);
}
.sec02 .reason_content:nth-of-type(1) .reason_img{
    text-align: right;
}
.sec02 .reason_content:nth-of-type(1) .reason_img img{
    width: 721px;
}
.sec02 .reason_content .text_box .text{
    font-size: 1rem;
    line-height: 1.48;
}
.sec02 .reason_content .text_box .sub_title{
    line-height: 1.31;
    font-size: 1.357rem;
    margin-bottom: 32px;
    letter-spacing: .05em;
}
.reason_img{
    width: 100vw;
    transform: translateX(-50%);
    left: 50%;
    position: relative;
    margin-bottom: 47px;
}
.reason_img img{
    width: 100%;
}

.sec02 .reason_content .std{
    margin-top: 35px;
    padding: 20px 7px 30px;
    border-top: 2px dashed #cbcbcb;
    border-bottom: 2px dashed #cbcbcb;
}
.sec02 .reason_content .std .text{
    font-weight: bold;
    font-size: 0.93rem;
    margin-bottom: 7px;
}
.sec02 .reason_content .std span{
    border: 1px solid #000;
    padding: 6px 0;
    font-size: 0.93rem;
    text-align: center;
}
.sec02 .reason_content .std span{
    width: 280px;
}
.sec02 .reason_content .std span:nth-of-type(1),
.sec02 .reason_content .std span:nth-of-type(2){
    margin-bottom: 10px;
}
.sec02 .reason_content .std .flex{
    justify-content: space-between;
}
.sec02 .reason_content .title{
    top: -16px;
    right: 0;
}
.sec02 .works{
    padding: 31px 0;
    text-align: center;
}
.sec02 .works_title{
    color: #fff;
    background-color: #0b0b0b;
    display: inline-block;
    margin-bottom: 40px;
    padding: 1px 48px;
    font-size: 1.571rem;
    font-weight: bold;
}
.sec02 .works_img{
    width: 600px;
    height: 460px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    position: relative;
    margin: 0 50px;
}
.sec02 .works_img::after{
    content: "";
    border: 1px solid #fff;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    width: 576px;
    height: 436px;
}
.sec02 .works_img::before{
    content: "";
    display: inline-block;
    background-image: url(../img/triangle.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 10px;
    left: 11px;
    width: 136px;
    height: 135px;
}
.sec02 .works_img .img_num{
    position: absolute;
    top: 25px;
    left: 29px;
    font-weight: bold;
    font-size: 1.35rem;
    letter-spacing: .03em;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.sec02 .slide_arrow{
    position: absolute;
    transform: translateY(-50%);
    top: 48%;
    z-index: 1;
}
.sec02 .prev_arrow{
    left: -57px;
}
.sec02 .next_arrow{
    right: -57px;
}
.slick-dots li{
    width: 17px;
    height: 17px;
    margin: 0 14px;
}
.slick-dots li button{
    width: 17px;
    height: 17px;
    padding: 0;
    margin: 0;
}
.slick-dots li button:before{
    height: 17px;
    width: 17px;
    opacity: 1;
    font-size: initial;
    color: #fff;
    border: 1px solid #0b0b0b;
    border-radius: 50%;
    content: "";
    box-sizing: border-box;
}
.slick-dots li.slick-active button:before{
    background-color: #0b0b0b;
    opacity: 1;
}
.slick-dots{
    bottom: -71px;
}

/* SEC03 */
.sec03 .sub_title{
    margin-bottom: 51px;
    text-align: left;
    transform: translateX(-5px);
}
.sec03 .title{
    top: -82px;
    right: 37px;
}
.sec03 .img{
    width: 100vw;
    transform: translateX(-50%);
    left: 50%;
    position: relative;
}
.sec03 .img img{
    width: 100%;
}
.sec03 .members .flex{
    margin-top: 9px;
    justify-content: center;
}
.sec03 .members .mem_img:first-child{
    margin-left: 0;
}
.sec03 .members .mem_img:last-child{
    margin-right: 0;
}
.sec03 .members .mem_img{
    margin: 0 16px;
    width: 145px;
}
.sec03 .box .text_box{
    width: 674px;
    position: relative;
    z-index: 1;
    margin-top: -110px;
    padding: 54px 0 54px 27px;
    transform: translateX(39px);
}
.sec03 .box .text_box .text .fz_big{
    font-size: 1.07rem;
    line-height: 1.4;
    letter-spacing: .04em;
    margin-bottom: 26px;
}
.sec03{
    padding-bottom: 75px;
    position: relative;
}

/* SEC04 */
.sec04{
    position: relative;
}
.sec04 .box .img img{
    width: 100%;
}
.sec04 .box .text_box{
    right: 0;
}
.sec04 .voice{
    padding: 54px 0 112px;
    background-color: #ede9e7;
    margin-bottom: 80px;
}
.sec04 .voice .title{
    z-index: 0;
    right: 0;
    top: 52px;
    line-height: 1.6;
}
.sec04 .voice .sub_title{
    font-size: .892rem;
    position: relative;
    z-index: 1;
    line-height: 1.6;
    margin-bottom: 36px;
    letter-spacing: 0;
}
.sec04 .voice .sub_title span{
    font-size: 1.785rem;
    display: block;
}
.sec04 .voice_content{
    text-align: center;
    width: 600px;
    padding: 27px 27px 38px;
    background-color: #fff;
    margin: 0 50px;
    position: relative;
}
.sec04 .voice_slide{
    width: 600px;
    margin: 0 auto;
}
.sec04 .voice_img{
    width: 540px;
    height: 290px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    margin-bottom: 32px;
}
.sec04 .voice_content .text{
    text-align: justify;
    font-size: 0.8rem;
    line-height: 1.8;
}
.sec04 .voice_content .text.adjust{
    letter-spacing: .03em;
    padding-right: 20px;
    line-height: 1.45;
    text-align: justify;
}
.sec04 .voice_content .name{
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .892rem;
    font-weight: bold;
    margin-bottom: 20px;
    line-height: 1.5;
}
.sec04 .voice_content .name .text{
    font-size: 0.85rem;
}
.sec04 .voice_content .name span{
    display: inline-block;
    background-color: #bba0a0;
    color: #fff;
    border-radius: 20px;
    padding: 0 19px;
    margin-right: 10px;
    letter-spacing: .05em;
}
.sec04 .voice_title{
    font-weight: bold;
    font-size: 0.9rem;
    margin-bottom: 12px;
    letter-spacing: .03em;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.voice .slick-dots{
    bottom: -70px;
}
.voice .slide_arrow{
    position: absolute;
    top: 294px;
}
.voice .next_arrow{
    right: -57px;
}
.voice .prev_arrow{
    left: -57px;
}
.voice .slick-dots li button:before,
.slick-dots li button,
.slick-dots li{
    width: 17px;
    height: 17px;
}
.voice .slick-dots li{
    margin: 0 13px;
}
.voice .voice_num{
    font-size: 1.214em;
    display: flex;
    align-items: center;
    position: absolute;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    color: #ede9e7;
    line-height: 1;
    font-weight: bold;
    background-color: rgba(255,255,255,.96);
    top: 231px;
    right: 30px;
    letter-spacing: -0.06em;
    padding: 20px 31px 15px 38px;
    color: #424242;
}
.voice .voice_num span{
    color: #424242;
    font-size: 1.7rem;
}
.sec04 .bottom .sub_title{
    font-size: 1.35rem;
    line-height: 1.3;
    margin-bottom: 46px;
    text-align: left;
}
.sec04 .bottom .img{
    width: 100vw;
    transform: translateX(-50%);
    left: 50%;
    position: relative;
}
.sec04 .box .text_box{
    position: relative;
    margin-top: -176px;
    z-index: 1;
    width: 100%;
    padding: 50px 42px 54px;
}
.sec04 .box .text_box .text{
    letter-spacing: .034em;
}
.sec04 .box .text_box .text .break:nth-of-type(1){
    margin-bottom: 23px;
}
.sec04 .box .text_box .text .break:nth-of-type(2){
    margin-bottom: 24px;
}
.sec04 .box .text_box .text .break:nth-of-type(3){
    margin-bottom: 24px;
}

/* SEC05 */
.sec05{
    padding: 82px 0 87px;
}
.sec05 .sub_title{
    font-size: 1.71rem;
    letter-spacing: 0.05em;
    line-height: 1.35;
    margin-bottom: 17px;
}
.sec05 .sub_title .grad{
    font-weight: bold;
    font-size: 1.71rem;
}
.sec05 .example .img{
    margin-bottom: 31px;
}
.sec05 .date .text a{
    color: #0b0b0b;
}
.sec05 .date .text{
    font-size: 1.28rem;
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 2;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .sec05 .date .text{
        font-size: 1.3rem;
    }
}
.sec05 .date .text:last-child{
    margin-bottom: 0;
}
.sec05 .date .text:nth-of-type(1){
    font-size: 1.3rem;
}
.sec05 .date .text:last-child{
    margin-top: 8px;
}
.sec05 .date .text:last-child span{
    padding: 13px 35px;
}
.sec05 .date .text span{
    font-weight: bold;
    font-size: 1.28rem;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    background-color: #ede9e7;
    padding: 15px 36px;
    margin-right: 40px;
}
.sec05 .date .text img{
    width: 37px;
    vertical-align: text-top;
    transform: translateX(-6px);
}
.sec05 .content .text_box{
    background-color: #ede9e7;
    padding: 46px 40px 28px;
    text-align: center;
    margin-top: 40px;
}
.sec05 .content .text_box .ttl{
    font-size: 1.07rem;
    font-weight: bold;
    border-radius: 27px;
    background-color: #fff;
    padding: 1px 46px;
    margin-bottom: 23px;
    display: inline-block;
    letter-spacing: .05em
}
.sec05 .content .text_box .text{
    font-size: 1rem;
    text-align: left;
    letter-spacing: .03em;
    line-height: 1.43;
}
.sec05 .example img.ps_ab{
    z-index: -1;
    right: -37px;
    top: 0;
}

/* SEC06 */
.sec06 .sub_title{
    font-size: 1.3rem;
    line-height: 1.27;
}
.sec06 .contact{
    padding: 67px 0 40px;
    background-color: #ede9e7;
}
.sec06 .contact .text.adjust{
    text-align: center;
    margin: 31px 0 47px;
    font-size: .821rem;
    letter-spacing: 0;
    line-height: 1.65;
}
.sec06 .contact .box{
    position: relative;
    margin-bottom: 83px;
}
.sec06 .contact .text_box{
    width: 600px;
    background-color: rgba(255,255,255,.9);
    padding: 12px 37px 14px 18px;
    position: relative;
    z-index: 1;
    margin: 0 auto;
    margin-top: -122px;
}
.sec06 .contact .text_box .ttl{
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 18px;
    position: relative;
    display: inline-block;
    color: #042e00;
}
.sec06 .contact .text_box .ttl::before{
    content: "";
    height: 1px;
    width: 345px;
    position: absolute;
    background-color: #042e00;
    bottom: 1px;
    right: -11px;
}
.sec06 .contact .text_box .li{
    font-size: .821rem;
    font-weight: bold;
    margin-bottom: 17px;
    letter-spacing: .03em;
    color: #042e00;
}
.sec06 .contact .text_box .li:last-child{
    margin-bottom: 0;
}
.sec06 .contact .text_box .num::before{
    background-color: #fff;
    display: inline-block;
    background: linear-gradient(to right, rgb(6,65,0) 0%, rgb(6,65,0) 0%, #639b5e 100%);
    color: #fff;
    padding: 8px;
    margin-right: 10px;
    line-height: 1;
    font-size: 0.892rem;
}
.sec06 .contact .text_box .num1::before{
    content: "01";
}
.sec06 .contact .text_box .num2::before{
    content: "02";
}
.sec06 .contact .text_box .num3::before{
    content: "03";
}
.sec06 .attention{
    padding: 73px 0 43px;
}
.sec06 .attention .text.top{
    font-size: 1.357rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 32px;
    letter-spacing: 0.05em;
    text-align: left;
}
.sec06 .attention .box{
    position: relative;
}
.sec06 .attention .img{
    width: 100%;
    text-align: left;
    z-index: -1;
}
.sec06 .attention .img .text{
    text-align: left;
    display: inline-block;
    padding-left: 39px;
    margin-top: 31px;
    font-size: .821rem;
    line-height: 1.4;
    letter-spacing: 0;
}
.sec06 .attention .text_box{
    width: 100%;
    position: relative;
    padding: 60px 38px 0;
}
.sec06 .attention .text_box .text{
    font-size: 1rem;
    line-height: 1.42;
    letter-spacing: 0.03em;
}
.sec06 .attention .text_box .tel{
    margin: 35px 0 20px;
    display: flex;
    align-items: flex-start;
}
.sec06 .attention .text_box .tel img{
    margin-right: 16px;
    width: 70px;
}
.sec06 .attention .text_box .tel a{
    font-size: 2.74rem;
    font-weight: bold;
    color: #042e00;
    display: inline-block;
    line-height: 1;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .sec06 .attention .text_box .tel a{
        font-size: 2.2rem;
    }
}
.sec06 .attention .text_box .ps_ab{
    top: -308px;
    left: -37px;
    z-index: -1;
}
.sec06 .privacy .content{
    width: 100%;
    height: 250px;
    margin: 0 auto;
    overflow-y: scroll;
    border: 1px solid #a0a0a0;
    background-color: #fff;
    padding: 10px 24px;
    font-size: 0.821rem;
    line-height: 1.3;
}
.sec06 .privacy .content span{
    font-weight: bold;
    display: inline-block;
    padding-bottom: 23px;
}
.sec06 .privacy .content .sin_ul>.li{
    margin-bottom: 10px;
}
.sec06 .privacy .content .sec_ul .li_dots{
    padding-left: 1em;
}
.sec06 .privacy .content .sec_ul .li_dots::before{
    content: "・";
    margin-left: -1em;
}
.sec06 .contact_form{
    background-color: #fff;
    padding: 27px 38px 38px;
}
.sec06 .contact_form .any_key{
    background-color: #0b0b0b;
    color: #fff;
    font-size: .892rem;
    font-weight: bold;
    padding: 4px 8px;
    margin-right: 20px;
}
.sec06 .contact_form .must_key{
    background-color: #d01d00;
    color: #fff;
    font-size: .892rem;
    font-weight: bold;
    padding: 4px 8px;
}
.sec06 .contact_form .input_wrap .text{
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0;
}
.sec06 .contact_form textarea{
    width: 100% !important;
    height: 197px !important;
    resize: none;
    padding: 20px 20px;
    font-size: 1rem;
}
.sec06 .contact_form input,
.sec06 .contact_form select{
    height: 80px;
    font-size: 1rem;
}
.sec06 .contact_form input,
.sec06 .contact_form textarea,
.sec06 .contact_form select{
    border: 2px solid #aaa;
    -webkit-appearance: none;
    border-radius: 0;
    letter-spacing: 0.1em;
}
input::placeholder,
textarea::placeholder{
    color: rgba(11,11,11,.35);
    font-size: 1rem;
    font-weight:lighter;
}
input::placeholder,
textarea::placeholder{
    color: rgba(11,11,11,.35);
    font-size: 0.7rem;
    font-weight:bold;
}
input::-ms-input-placeholder,
textarea::-ms-input-placeholder{
    color: rgba(11,11,11,.35);
    font-size: 1rem;
    font-weight: bold;
}
input[type="submit"]{
    display: none;
}
.input_name input,
.input_tel input,
.input_address input,
.input_email input,
.input_date input,
.input_people select{
    background-color: #ffeaea;
    padding: 10px 21px;
}
.input_address input,
.input_email input,
.input_name input,
.input_tel input{
    width: 100%;
}
.submit_btn{
    text-align: center;
    margin: 63px 0 34px;
}
.submit_btn button{
    -webkit-appearance: none;
    background: url(../img/submit_bg.png) no-repeat center center / cover !important;
    color: #fff;
    font-size: 1.357rem;
    letter-spacing: .23em;
    border-radius: 0;
    display: block;
    box-shadow: 0 3px 10px rgba(0,0,0,.3);
    border: 0;
    width: 100%;
    height: 120px;
    position: relative;
    text-shadow: none;
}
.submit_btn button::before{
    content: "";
    width: 588px;
    height: 110px;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    border: 1px solid #fff;
}
.submit_btn button::after{
    content: "";
    display: inline-block;
    vertical-align: middle;
    background-image: url(../img/right-arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    width: 34px;
    height: 25px;
    top: 50%;
    transform: translateY(-50%);
    right: 61px;
    position: absolute;
}
.mfp_element_all {
    max-width: 100%;
}
.input_people{
    width: 255px;
}
.input_date{
    width: 280px;
}
.input_wrap .flex{
    flex-wrap: nowrap;
}
.privacy .text{
    font-size: 0.821rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 23px;
}
.sec06 .contact_form .text.top{
    font-size: .821rem;
    font-weight: bold;
    letter-spacing: 0;
    margin-bottom: 50px;
}
.sec06 .contact_form .text.top .must_key{
    font-size: .892rem;
    margin-right: 15px;
}
.sec06 .input_wrap .mb{
    margin-bottom: 31px;
}
.sec06 .input_wrap .text{
    margin-bottom: 14px;
}
.sec06 .input_wrap .must_key{
    margin-right: 20px;
    margin-left: 0 !important;
}
.sec06 .input_date{
    margin-right: 60px;
}
.sec06 .input_date input,
.sec06 .input_people select{
    padding: 10px;
    width: 80px;
    text-align: center;
}
.sec06 .input_people select{
    padding: 10px 17px;
}
.sec06 .input_email{
    margin-bottom: 30px;
}
.sec06 .input_date input:nth-of-type(2){
    margin-left: 7px;
}
.sec06 .input_date span,
.sec06 .input_people span{
    font-size: 1rem;
    margin-left: 10px;
    font-weight: bold;
}
.sec06 .input_date div.mfp_err:last-of-type{
    margin-bottom: 48px;
}
.sec06 .input_message .text{
    margin-bottom: 11px;
}
.sec06 .input_email.mb{
    margin-bottom: 48px;
}
div.mfp_err{
    font-size: 1rem;
    padding-top: 5px;
}
.sec06 .input_people{
    position: relative;
}
.sec06 .input_people select{
    direction: rtl;
}
.sec06 .input_people.pre_select::before{
    content: "";
    pointer-events: none;
    background-image: url(../img/select_arrow.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    vertical-align: middle;
    width: 15px;
    height: 14px;
    position: absolute;
    left: 35px;
    top: 117px;
}
.mfp_element_submit:hover, .mfp_element_reset:hover, .mfp_element_button:hover, button.mfp_next:hover, button.mfp_prev:hover{
    background: none;
}



/* THANKS PAGE */
#thanks{
    padding-top: 74px;
    text-align: center;
    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    font-feature-settings: "palt";
}
.thanks_top{
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: .127em;
    margin-top: 3px;
    marg