@charset "utf-8";
/* =================================================================================
 Module
================================================================================= */

/* margin
------------------------------------------------------- */
/* margin top */
.mT_5{margin-top:5px !important;}
.mT_10,.mT_10sp5{margin-top:10px !important;}
.mT_15,.mT_15sp10{margin-top:15px !important;}
.mT_20,.mT_20sp10{margin-top:20px !important;}
.mT_30,.mT_30sp15{margin-top:30px !important;}
.mT_40,.mT_40sp20{margin-top:40px !important;}
.mT_50{margin-top:50px !important;}
.mT_60,.mT_60sp40,.mT_60sp30{margin-top:60px !important;}
.mT_80,.mT_80sp40{margin-top:80px !important;}
/* margin right */
.mR_5{margin-right:5px !important;}
.mR_10{margin-right:10px !important;}
.mR_20{margin-right:20px !important;}
/* margin bottom */
.mB_0,.cmnTtl_3.mB_0{margin-bottom: 0;}
.mB_5{margin-bottom:5px !important;}
.mB_10,.mB_10sp5{margin-bottom:10px !important;}
.mB_20,.mB_20sp10{margin-bottom:20px !important;}
.mB_30,.mB_30sp15{margin-bottom:30px !important;}
.mB_40,.mB_40sp20,.mB_40sp10{margin-bottom:40px !important;}
.mB_50,.mB_50sp25{margin-bottom:50px !important;}
.mB_60,.mB_60sp40,.mB_60sp30{margin-bottom:60px !important;}
.mB_80,.mB_80sp60,.mB_80sp40{margin-bottom:80px !important;}
.mB_100sp80,.mB_100sp60,.mB_100sp40{margin-bottom:100px !important;}
/* margin left */
.mL_5{margin-left:5px !important;}
.mL_10{margin-left:10px !important;}
.mL_20{margin-left:20px !important;}
.mL_30sp20{margin-left:30px !important;}

@media only screen and (max-width:640px){
.mT_10sp5{margin-top:5px !important;}
.mT_15sp10{margin-top:10px !important;}
.mT_20sp10{margin-top:10px !important;}
.mT_30sp15{margin-top:15px !important;}
.mT_40sp20{margin-top:20px !important;}
.mT_60sp30{margin-top:30px !important;}
.mT_80sp40,.mT_60sp40{margin-top:40px !important;}
.mB_10sp5{margin-bottom:5px !important;}
.mB_20sp10,.mB_40sp10{margin-bottom:10px !important;}
.mB_30sp15{margin-bottom:15px !important;}
.mB_40sp20{margin-bottom:20px !important;}
.mB_50sp25{margin-bottom:25px !important;}
.mB_60sp30{margin-bottom:30px !important;}
.mB_100sp40,.mB_80sp40,.mB_60sp40{margin-bottom:40px !important;}
.mB_100sp60,.mB_80sp60{margin-bottom:60px !important;}
.mB_100sp80{margin-bottom:80px !important;}
.mL_30sp20{margin-left:20px !important;}
}

/* padding
------------------------------------------------------- */
/* padding top */
.pT_5{padding-top:5px !important;}
.pT_10{padding-top:10px !important;}
.pT_20{padding-top:20px !important;}
.pT_30{padding-top:30px !important;}
.pT_40{padding-top:40px !important;}
/* padding right */
.pR_5{padding-right:5px !important;}
.pR_10{padding-right:10px !important;}
.pR_20{padding-right:20px !important;}
.pR_30{padding-right:30px !important;}
/* padding bottom */
.pB_5{padding-bottom:5px !important;}
.pB_10{padding-bottom:10px !important;}
.pB_20{padding-bottom:20px !important;}
.pB_30{padding-bottom:30px !important;}
.pB_40{padding-bottom:40px !important;}
.pB_80{padding-bottom:80px !important;}
/* padding left */
.pL_5{padding-left:5px !important;}
.pL_10{padding-left:10px !important;}
.pL_20{padding-left:20px !important;}
.pL_30{padding-left:30px !important;}

.dIB{display:inline-block !important;}
.dB,.dB_pc{display:block !important;}
.dB_sp,.dIB_sp{display:none !important;}
.dIB_pc{display:inline-block !important;}

@media only screen and (max-width:640px){
.dB_sp{display:block !important;}
.dIB_sp{display:inline-block !important;}
.dIB_pc,.dB_pc{display:none !important;}
}

/* wrap
------------------------------------------------------- */
.wrap10{padding:10px;}
.wrap20,.wrap20sp10{padding:20px;}
.wrapRL10{padding:0 10px;}
.wrapRL20,.wrapRL20sp10,.wrapRL20sp0{padding:0 20px;}
.wrapRL60sp10,.wrapRL60sp0{padding:0 60px;}
.wrapTB30,.wrapTB30sp15{padding:30px 0;}

@media only screen and (max-width:640px){
.wrap20sp10{padding:10px;}
.wrapRL20sp0,.wrapRL60sp0{padding:0;}
.wrapRL20sp10,.wrapRL60sp10{padding:0 10px;}
.wrapTB30sp15{padding:15px 0;}
}

/* text-align
------------------------------------------------------- */
.tACenter,.tACspR,.tACspL{text-align:center!important;}
.tARight ,.tARspC{text-align:right!important;}
.tALeft,.tALspC{text-align:left!important;}
.tAJustify{text-align: justify!important;}

@media only screen and (max-width:640px){
.tACspR{text-align:right!important;}
.tALspC,.tARspC{text-align:center!important;}
.tACspL{text-align:left!important;}
}

/* vertical-align
------------------------------------------------------- */
.vATop{vertical-align:top!important;}
.vAMid{vertical-align:middle!important;}
.vABtm{vertical-align:bottom!important;}

/* txt
------------------------------------------------------- */
.fWBold{font-weight:bold !important;}
.fWNormal{font-weight:normal !important;}
.fWMedium{font-weight:500 !important;}

.fSize10{font-size:10px !important;}
.fSize12,.fSize12sp10{font-size:12px !important;}
.fSize14,.fSize14sp12{font-size:14px !important;}
.fSize16{font-size:16px !important;}
.fSize18,.fSize18sp16,.fSize18sp14{font-size:18px !important;}
.fSize20sp16{font-size:20px !important;}
.fSize24,.fSize24sp18{font-size:24px !important;}
.fSize36,.fSize36sp24,.fSize36sp20{font-size:36px !important;}
.fSize40sp24{font-size:40px !important;}

@media only screen and (max-width:640px){
.fSize12sp10{font-size:10px !important;}
.fSize14sp12{font-size:12px !important;}
.fSize18sp14{font-size:14px !important;}
.fSize20sp16,.fSize18sp16{font-size:16px !important;}
.fSize24sp18{font-size:18px !important;}
.fSize36sp20{font-size:20px !important;}
.fSize40sp24,.fSize36sp24{font-size:24px !important;}
}

.fCRed {color: #d00 !important;}
.fCGold {color: #c6a549 !important;}
.fCOrange {color: #e15316 !important;}
.fCPurple {color: #5f0fd7 !important;}

.fFamilyNSerif{font-family: 'Noto Serif JP', serif;}

/* button 
------------------------------------------------------- */
.cmnBtn_1{
    display: inline-block;
    min-width: 200px;
    height: 50px;
    line-height: 50px;
    padding: 0 30px;
    border-radius: 50px;
    box-sizing: border-box;
    background-color: #0c9bc9;
    font-size: 20px;
    color: #fff;
    text-align: center;
    transition: background .3s;
}

.cmnBtn_1:hover{
    color: #fff;
    background-color: #c6a549;
}

@media only screen and (max-width:640px){
    .cmnBtn_1{
        min-width: 150px;
        height: 46px;
        line-height: 46px;
        font-size: 18px;
    }
}

.reserveBtn{
    position: relative;
    display: inline-block;
    min-width: 360px;
    height: 80px;
    line-height: 80px;
    padding: 0 70px 0 50px;
    border-radius: 50px;
    box-sizing: border-box;
    background: #c6a549;
    font-size: 26px;
    color: #fff;
    text-align: center;
    transition: background .3s;
}

.reserveBtn:hover{
    color: #fff;
    background: #16b0e1;
}

.reserveBtn::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 35px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 16px;
    border-color: transparent;
    border-left-color: #fff;
    transform: translateY(-50%);
}

@media only screen and (max-width:640px){
    .reserveBtn{
        min-width: 300px;
        height: 68px;
        line-height: 68px;
        padding: 0 60px 0 40px;
        font-size: 20px;
    }

    .reserveBtn::after{
        right: 30px;
        border-width: 8px 0 8px 13px;
    }
}

.circleArrowBtn{
    position: relative;
    padding-right: 24px;;
    font-weight: 500;
}

.circleArrowBtn::before,
.circleArrowBtn::after{
    content: "";
    display: block;
    position: absolute;
}

.circleArrowBtn::before{
    top: 13px;
    right: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #16b0e1;
    transform: translateY(-50%);
    transition: background-color .3s;
}

.circleArrowBtn::after{
    top: 8px;
    right: 5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 7px;
    border-color: transparent;
    border-left-color: #fff;
}

.circleArrowBtn:hover::before{background-color: #c6a549;}

.bdrBtmBtn{
    position: relative;
    padding: 0 22px 4px 5px;
    border-bottom: 1px solid #16b0e1;
    font-weight: 500;
    transition: color .3s, border .3s;
}

.bdrBtmBtn:hover{border-bottom-color: #c6a549;}

.bdrBtmBtn::before{
    content: "";
    display: block;
    position: absolute;
    top: 9px;
    right: 8px;
    width: 8px;
    height: 8px;
    border: 1px solid #16b0e1;
    border-left: none;
    border-bottom: none;
    transform: rotate(45deg);
    transition: all .3s;
}

.bdrBtmBtn:hover::before{border-color: #c6a549;}

@media only screen and (max-width:640px){
    .circleArrowBtn{
        padding-right: 21px;
    }

    .circleArrowBtn::before{
        top: 11px;
        width: 17px;
        height: 17px;
    }

    .circleArrowBtn::after{
        top: 7px;
        right: 5px;
        border-width: 4px 0 4px 6px;
    }
}

/* ttl
------------------------------------------------------- */

.cmnTtl_1{
    position: relative;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 60px;
    padding: 20px 20px;
    border: 2px solid #333;
    border-left: none;
    border-right: none;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}

.cmnTtl_1.short > span{letter-spacing: 3px;}

.cmnTtl_2{
    font-family: 'Noto Serif JP', serif;
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 8px;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.cmnTtl_2::after{
    content: "";
    display: block;
    position: absolute;
    width: 100px;
    height: 4px;
    bottom: 0;
    left: 50%;
    background-color: #c6a549;
    transform: translateX(-50%);
}

.cmnTtl_2.bdrCBlue::after{background-color: #16b0e1;}

.cmnTtl_3{
    position: relative;
    margin-bottom: 10px;
    padding-left: 22px;
    font-size: 20px;
    font-weight: bold;
}

.cmnTtl_3::before{
    content: "";
    display: block;
    position: absolute;
    top: 9px;
    left: 0;
    width: 14px;
    height: 14px;
    background-color: #c6a549;
    transform: rotate(45deg);
}

@media only screen and (max-width:640px){
    .cmnTtl_1{
        margin-bottom: 30px;
        padding: 10px;
        border-width: 3px;
        font-size: 20px;
    }

    .cmnTtl_2{
        margin-bottom: 15px;
        padding-bottom: 6px;
        font-size: 20px;
    }

    .cmnTtl_2::after{
        width: 80px;
        height: 3px;
    }

    .cmnTtl_3{
        margin-bottom: 5px;
        padding-left: 18px;
        font-size: 18px;
    }

    .cmnTtl_3::before{
        width: 12px;
        height: 12px;
    }
}

/* common
------------------------------------------------------- */
.spBrNone br{display:block;}
.pcBrNone br{display:none;}

.w_100{width:100%;}
.spW_100{width:auto;}
.pcLH_2{line-height: 2;}

.innerWrap{
    padding: 0 120px;
}

.indentLst li {
    padding-left: 1em;
    text-indent: -1em;
}

@media only screen and (max-width:640px){
    .spBrNone br{display:none;}
    .pcBrNone br{display:block;}
    .spW_100{width:100%;}
    .pcLH_2{line-height: 1.6;}

    .innerWrap{
        padding: 0 10px;
    }
}


/* clm
------------------------------------------------------- */
.twoClm,.threeClm{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: -40px;
}

.threeClm.jCcenter{justify-content: center;}

.twoClm.middle{align-items: center;}

.twoClm.reverse{flex-direction: row-reverse;}

.twoClm .clm{
    width: 460px;
    margin-top: 40px;
}

.threeClm .clm{
    width: 300px;
    margin: 30px 0 0 30px;
}

.twoClm .clm:nth-child(2n-1){margin-left: 0;}
.threeClm .clm:nth-child(3n-2){margin-left: 0;}

.twoClm.thumb .clm{width: 630px;}

.twoClm.thumb .clm:last-child{width: 300px;}

@media only screen and (max-width:640px){
    .twoClm{margin-top: -20px;}

    .twoClm .clm,
    .threeClm .clm{
        width: calc(50% - 5px);
        margin-top: 40px;
    }

    .threeClm.jCcenter .clm{margin: 20px 0 0 10px;}

    .threeClm.jCcenter .clm:nth-child(3n-2){margin-left: 10px;}
    .threeClm.jCcenter .clm:nth-child(2n-1){margin-left: 0;}

    .twoClm.row{
        display: block;
        margin-top: 0;
    }

    .twoClm.row .clm{
        width: auto;
    }

    .twoClm.row .clm:first-child{margin-top: 0;}

    .twoClm.thumb .clm{width: auto;}

    .twoClm.thumb .clm:last-child{width: auto;}
}


/* tbl
------------------------------------------------------- */
.cmnTbl{
    width:100%;
    background-color: #fff;
}

.cmnTbl th,
.cmnTbl td{
    padding:15px;
    border:1px solid #444;
    word-break:break-all;
    vertical-align:top;
    box-sizing:border-box;
}

.cmnTbl th{
    width:25%;
    border-color: #fff;
    border-right: none;
    background: #444;
    color: #fff;
    font-weight: normal;
}

.cmnTbl tr:first-child th{border-top-color: #444;}
.cmnTbl tr:last-child th{border-bottom-color: #444;}

@media only screen and (max-width:640px){
    .cmnTbl th,
    .cmnTbl td{padding:10px;}

    .cmnTbl.row th,
    .cmnTbl.row td{
        display:block;
        width:100%;
        box-sizing:border-box;
    }

    .cmnTbl.row th{
        border-top: none;
        border-bottom: none;
    }

    .cmnTbl.row th{border-left-color: #444;}
}

/* form
------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"]{
    width: 50%;
}

textarea{
    width: 100%;
}

.wpcf7 [role="alert"]{
    display:block;
    color:#d00;
}

.wpcf7 .wpcf7-response-output{
    margin:5px;
    text-align:center;
}

.wpcf7 label{display: inline-block;}

.wpcf7-radio > span{margin-right:20px;}
.wpcf7-radio > span:last-child{margin-left:0;}

textarea.wpcf7-textarea{min-height: 100px;}

@media only screen and (max-width:640px){
    input[type="text"],
    input[type="email"],
    input[type="tel"]{
        width: 100%;
    }

    textarea.wpcf7-textarea,
    input.wpcf7-text{
        width: 100%;
    }
}

/* fadein
------------------------------------------------------- */
.sa {
  opacity: 0;
  transition: all .8s ease-out;
}
 
.sa.show {
  opacity: 1;
  transform: none;
}
 
.sa--lr { transform: translate(-50px, 0);}
.sa--rl { transform: translate(50px, 0);}
.sa--up { transform: translate(0, 50px);}
.sa--down { transform: translate(0, -50px);}
.sa--scaleUp { transform: scale(.5);}
.sa--scaleDown { transform: scale(1.1);}
.sa--rotateL { transform: rotate(180deg);}
.sa--rotateR { transform: rotate(-180deg);}

/* clear fix
------------------------------------------------------- */
.clear::after{
    content:"";
    display:block;
    clear:both;
    height:0;
}

/* EOF */
