@charset "utf-8";

body {
    color: #666;
    line-height: 1;
    width: 100%;
    min-width: 300px;
    background: #fff;
}

a {
    color: #666;
    text-decoration: none;

}

a, a:before, a:after, input {
    -webkit-transition-property: background-color, color, border-color; -webkit-transition-duration: 0.2s; -webkit-transition-timing-function: ease;
    -moz-transition-property: background-color, color, border-color; -moz-transition-duration: 0.2s; -moz-transition-timing-function: ease;
    -ms-transition-property: background-color, color, border-color; -ms-transition-duration: 0.2s; -ms-transition-timing-function: ease;
    -o-transition-property: background-color, color, border-color; -o-transition-duration: 0.2s; -o-transition-timing-function: ease;
    transition-property: background-color, color, border-color; transition-duration: 0.2s; transition-timing-function: ease;
}

a:hover {
    color: #c2aa99;
    text-decoration: underline;
}

.clear {
    clear: both;
}

.hide {
    display: none;
}

#main_contents {
    width: 100%;
    position: relative;
}

#main_col {
    max-width: 1150px;
    margin: 10px auto 100px;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

.headline_bg_l {
    margin: 0;
    padding: 15px 22px;
    font-size: 26px;
    font-weight: 400;
    color: #fff;
    background: #e3d0c3;
}

.headline_bg_l span {
    display: inline-block;
    margin-left: 15px;
    font-size: 15px;
    font-weight: 300;
    position: relative;
    top: -3px;
}

.headline_bg_l a {
    float: right;
    font-size: 14px;
    color: #fff;
    margin: 6px -8px 0 0;
    padding: 0 24px 0 0;
    position: relative;
    text-transform: none;
    text-decoration: none;
}

.headline_bg {
    margin: 0;
    padding: 20px 22px;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    background: #e3d0c3;
}

.headline_bg a {
    float: right;
    font-size: 14px;
    color: #fff;
    margin: 1px -8px 0 0;
    padding: 0 24px 0 0;
    position: relative;
    text-decoration: none;
}

/* ----------------------------------------------------------------------
    トップページ
---------------------------------------------------------------------- */
/* スライダー */
#header_slider {
    width: 100%;
    max-width: 1150px;
    position: relative;
    margin: 0 auto;
}

#header_slider .item {
    width: 100%;
}

#header_slider .item:nth-of-type(n+2) {
    display: none;
}

#header_slider.slick-initialized .item:nth-of-type(n+1) {
    display: block;
}

#header_slider .item img {
    width: 100%;
    height: auto;
    display: block;
}

#header_slider .slick-arrow {
    border: none; height: 50px; width: 50px; overflow: hidden; text-align: center; color: #666; font-size: 16px; line-height: 50px; margin-top: -25px; position: absolute; top: 50%; z-index: 2; cursor: pointer; background: rgba(255,255,255,0.9); opacity: 0.4;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
    -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;
}

#header_slider .slick-prev {
    left: 0;
}

#header_slider .slick-next {
    right: 0;
    text-align: right;
    padding-right: 15px;
}

#header_slider .slick-arrow:hover {
    opacity: 1;
}

#header_slider .slick-dots {
    text-align: center;
    position: absolute;
    bottom: 16px;
    left: 0;
    right: 0;
}

#header_slider .slick-dots li {
    display: inline-block;
    margin: 0 3px;
}

#header_slider .slick-dots li button {
    display: inline-block;
    padding: 0;
    width: 12px;
    height: 12px;
    overflow: hidden;
    text-indent: -400px;
    background: #fff;
    border: none;
    border-radius: 100%;
    opacity: 0.6;
}

#header_slider .slick-dots li button:hover {
    background: #c2aa99;
    opacity: 0.7;
}

#header_slider .slick-dots li.slick-active button {
    background: #c2aa99;
    opacity: 1;
}

#header_slider p {
    line-height: 2.2;
    text-align: center;
}

/* コンテンツ1 */
#index_content1 {
    margin: 20px 0 60px 0;
}

#index_content1.columns-2, #index_content1.columns-3 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content:
    space-between; justify-content:
    space-between;
}

#index_content1.columns-2 .box {
    width: 49.13%;
}

#index_content1.columns-3 .box {
    width: 32.17%;
}

#index_content1 .box {
    overflow: hidden;
    position: relative;
}

#index_content1 a {
    display: block;
    text-decoration: none;
    border: solid #e0e0e0cc;
}

#index_content1 .image img {
    display: block;
    width: 100%; 
    height: auto;
}

#index_content1 .caption {
    font-size: 14px;
    line-height: 2.2;
    color: #666;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

#index_content1 .image .caption {
    width: 63%;
    height: 50%;
    padding: 12px 10px 12px 20px;
    overflow: hidden;
    background: rgb(251 251 251 / 80%);
    position: absolute;
    top: 25%;
    left: 8%;
}

#index_content1 .noimage .caption {
    width: 100%;
    height: 72%;
    padding: 15px 20px;
    overflow: hidden;
    position: absolute;
    top: 14%;
    left: 0;
}

#index_content1 .caption .headline {
    margin: 0 0 8px 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    color: #c2aa99;
}

#index_content1 .caption p {
    margin: 0 0 2.2em 0;
}

#index_content1 .caption p:last-child {
    margin-bottom: 0;
}

/* コンテンツ2 */
#index_content2 {
    margin: 50px 0 55px 0;
    text-align: center;
}

#index_content2 .headline {
    margin: 0 0 16px 0;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.4;
    color: #c2aa99;
}

#index_content2 .desc {
    line-height: 2.2;
}

#index_content2 .desc p {
    margin: 0 0 2.2em 0;
}

/* キャプションホバースライド */
.caption_hover_slide {
    -webkit-transition:margin 0.35s ease;
    -moz-transition:margin 0.35s ease;
    -ms-transition:margin 0.35s ease;
    -o-transition:margin 0.35s ease;
    transition:margin 0.35s ease;
}

.image:hover .caption_hover_slide {
    margin-left:1em;
    margin-right:-1em;
}

/* コース */
#index_course {
    margin: 50px 0;
}

#index_course ol {
    margin: 0;
    padding: 0;
    font-size: 0;
}

#index_course li {
    margin: 0 0 5px 5px;
    padding: 0;
    width: calc(33.333% - 5px);
    display: inline-block;
    vertical-align: top;
    position: relative;
}

#index_course li:nth-child(3n+1) {
    margin-left: 0;
}

#index_course li .image {
    display: block;
    width: 100%;
    color: #c2aa99;
    text-decoration: none;
}

#index_course li img {
    display: block;
    width: 100%;
    height: auto;
}

#index_course li .caption {
    width: 100%;
    padding: 13.5px 20px;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.5;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    background: rgba(255,255,255,0.8);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}

#index_course li .caption span {
    display: block;
    width: 100%;
}

/* お知らせ/キャンペーン */
#index_news {
    margin: 50px 0;
}

#index_news.columns-2 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#index_news.columns-2 .index_news {
    width: 47.82%;
}

#index_news ol {
    margin: 0 0 30px 0;
}

#index_news li {
    line-height: 2;
    border: 1px solid #ddd;
    border-top: none;
    position: relative;
}

#index_news .title {
    display: inline;
    margin: 0;
    font-weight: 300;
}

#index_news .title a {
    display: block;
    padding: 15px 26px 15px 126px;
    text-decoration: none;
    position: relative;
}

#index_news .no_date .title a {
    padding-left: 26px;
}

#index_news .date {
    display: inline;
    color: #c2aa99;
    font-weight: 500;
    position: absolute;
    top: 50%;
    left: 26px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

/* お客様の声 */
#index_voice {
    margin: 50px 0;
}

#index_voice ol {
    margin: 0;
    padding: 0;
    font-size: 0;
    border-left: 1px solid #ddd;
}

#index_voice li {
    display: inline-block;
    margin: 0; 
    padding: 0;
    width: 50%;
    font-size: 14px;
    line-height: 2;
}

#index_voice li a {
    display: block;
    padding: 30px 26px;
    text-decoration: none;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

#index_voice li .image {
    width: 100px;
    height: 100px;
    overflow: hidden;
    float: left;
}

#index_voice li .image img {
    display: block;
    width: 100%;
    height: auto;
}

#index_voice li .info {
    height: 100px;
    overflow: hidden;
}

#index_voice li.has_post_thumbnail .info {
    margin-left: 128px;
}

#index_voice li .info .voice_name {
    margin: -4px 0 0 0;
    color: #c2aa99;
    font-weight: 300;
}

/* 共通カテゴリー・日付 */
ul.meta .category a, ul.meta .category span {
    color: #fff;
    background: #e3d0c3;
}

ul.meta .date {
    color: #c2aa99;
}

/* 画像のホバーアニメーション */
.image {
    overflow:  hidden;
    -webkit-transition:  0.35s;
    -moz-transition:  0.35s;
    -ms-transition:  0.35s;
    transition:  0.35s;
}

.image img {
    -webkit-backface-visibility:  hidden;
    backface-visibility:  hidden;
    -webkit-transform:  scale(1.2) translateX(-7.5px);
    -webkit-transition-property:  opacity, translateX;
    -webkit-transition:  0.35s;
    -moz-transform:  scale(1.2) translateX(-7.5px);
    -moz-transition-property:  opacity, translateX;
    -moz-transition:  0.35s;
    -ms-transform:  scale(1.2) translateX(-7.5px);
    -ms-transition-property:  opacity, translateX;
    -ms-transition:  0.35s;
    -o-transform:  scale(1.2) translateX(-7.5px);
    -o-transition-property:  opacity, translateX;
    -o-transition:  0.35s;
    transform:  scale(1.2) translateX(-7.5px);
    transition-property:  opacity, translateX;
    transition:  0.35s;
}

.image:hover img, a:hover .image img {
    opacity:  0.5;
    -webkit-transform:  scale(1.2) translateX(7.5px);
    -moz-transform:  scale(1.2) translateX(7.5px);
    -ms-transform:  scale(1.2) translateX(7.5px);
    -o-transform:  scale(1.2) translateX(7.5px);
    transform:  scale(1.2) translateX(7.5px);
}

.image:hover, a:hover .image {
    background:  #C2AA99;
}

.contactform-policy {
    margin-top: 5px;
    overflow: auto;
    overflow-x: hidden;
    height: calc(1.7 * 7em);
    background-color: white;
    border: 2px solid #8c8c8c;
    padding: 5px;
}

#policy {
    margin-top: 20px;
}

#policy label span {
    font-size: 12px;
    color: #ff0a0a;
}

.inactive {
    background-color: #cccccc !important;
}

/* ----------------------------------------------------------------------
    お知らせ
---------------------------------------------------------------------- */
/* お知らせ一覧 */
#recent_news {
    margin:0 0 30px 0;
}

#recent_news ol {
    border-left:1px solid #ddd;
    border-right:1px solid #ddd;
}

#recent_news li {
    border-bottom:1px solid #ddd;
}

#recent_news li a {
    display:-webkit-flex;
    display:flex;
    align-items:center;
    min-height:138px;
    text-decoration:none;
}

#recent_news .image {
    width:225px;
    margin:15px;
    overflow:hidden;
}

#recent_news .image img {
    display:block;
    width:105%;
    height:auto;
}

#recent_news .info {
    padding:30px 50px;
    line-height:2;
}

#recent_news .has_post_thumbnail .info {
    padding-left:25px;
    width:calc(100% - 305px);
}

#recent_news .info .date {
    color:#c2aa99;
}

#recent_news .info .title {
    font-weight:300;
}

.page_navi p.back {
    margin:0;
}

.page_navi p.back a {
    background:#aaa;
    color:#fff;
    text-decoration:none;
    display:inline-block;
    width:200px;
    height:50px;
    line-height:50px;
    text-align:center;
    font-size:14px;
    position:relative;
    padding:0;
    border:none;
}

.page_navi p.back a:hover {
    background:#e3d0c3;
    color:#fff;
}

/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
    /* お知らせ一覧 */
    #recent_news {
        margin:0 0 30px 0;
    }

    #recent_news ol {
        border-left:none;
        border-right:none;
    }

    #recent_news li {
        margin:10px 0;
    }

    #recent_news li a {
        display:block;
        min-height:initial;
        min-height: auto;
    }

    #recent_news .image {
        width:100%;
        margin:0;
    }

    #recent_news .info {
        padding:14px 15px 14px;
        font-size:12px;
        line-height:1.6;
        border:1px solid #ddd;
        border-bottom:0;
    }

    #recent_news .has_post_thumbnail .info {
        padding-left:15px;
        width:initial;
        width: auto;
        box-sizing:border-box;
        border-top:0;
    }

    #recent_news .info .date {
        font-size:10px;
    }

    #recent_news .info .title {
        font-size:14px;
    }

    .page_navi p.back {
        text-align: center;
    }
}

/* ページネーション */
.list-container dl dt {
    font-size: 1.4rem;
}

.pagination-container {
    margin-top: 15px;
}

.pagination-container ul {
    width: 100%;
    display: flex;
    justify-content: center;
}

.pagination-container li + li {
    margin-left: -1px;
}

.pagination-container a {
    padding: 10px 20px;
    display: block;
    color: #b99f81;
    border: 1px solid #ccc;
    text-decoration: none;
    background: #fff;
}

.pagination-container .navi-active a {
    font-weight: bold;
    background: #fafafa;
}

.pagination-container a:hover {
    color: #fff;
    background: #d4c2b0;
}

.page-link {
    min-height: unset !important;
}

/* インスタ */
#sb_instagram {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#sb_instagram .sb_instagram_header, .sb_instagram_header {
    float: left;
    clear: both;
    margin: 0 0 15px 0;
    padding: 0;
    line-height: 1.2;
    width: 100%;
}

#sb_instagram .sb_instagram_header a, .sb_instagram_header a {
    text-decoration: none;
}

#sb_instagram .sb_instagram_header a, .sb_instagram_header a {
    float: left;
    display: block;
    text-decoration: none;
    transition: color .5s ease;
}

#sb_instagram .sbi_header_link {
    -webkit-box-shadow: none;
    box-shadow: none;
}

#sb_instagram a, #sb_instagram a:active, #sb_instagram a:focus, #sb_instagram a:hover {
    outline: 0;
}

#sb_instagram .sb_instagram_header .sbi_header_text, .sb_instagram_header .sbi_header_text {
    float: left;
    width: 100%;
    padding-top: 5px;
}

#sb_instagram .sb_instagram_header .sbi_header_text.sbi_no_bio h3, .sb_instagram_header .sbi_header_text.sbi_no_bio h3 {
    padding-top: 9px!important;
}

#sb_instagram .sb_instagram_header .sbi_header_img, .sb_instagram_header .sbi_header_img {
    float: left;
    position: relative;
    width: 50px;
    margin: 0 0 0 -100%!important;
    overflow: hidden;
    -moz-border-radius: 40px;
    -webkit-border-radius: 40px;
    border-radius: 40px;
}

.sbi_no_avatar .sbi_header_img {
    background: #333;
    color: #fff;
    width: 50px;
    height: 50px;
    position: relative;
}

.sbi_no_avatar .sbi_header_hashtag_icon {
    display: block;
    color: #fff;
    opacity: .9;
    -webkit-transition: background .6s linear,color .6s linear;
    -moz-transition: background .6s linear,color .6s linear;
    -o-transition: background .6s linear,color .6s linear;
    transition: background .6s linear,color .6s linear;
}

#sb_instagram .sb_instagram_header.sbi_medium .sbi_header_hashtag_icon .sbi_new_logo, .sb_instagram_header.sbi_medium .sbi_header_hashtag_icon .sbi_new_logo {
    margin-top: -18px;
    margin-left: -18px;
    width: 36px;
    height: 36px;
    font-size: 36px;
}

#sb_instagram .sb_instagram_header .sbi_header_hashtag_icon .sbi_new_logo, #sb_instagram .sb_instagram_header .sbi_header_img_hover .sbi_new_logo, .sb_instagram_header .sbi_header_hashtag_icon .sbi_new_logo, .sb_instagram_header .sbi_header_img_hover .sbi_new_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -12px;
    margin-left: -12px;
    width: 24px;
    height: 24px;
    font-size: 24px;
}

#sb_instagram .sb_instagram_header .sbi_header_text.sbi_no_bio h3, .sb_instagram_header .sbi_header_text.sbi_no_bio h3 {
    padding-top: 9px!important;
}

#sb_instagram .sb_instagram_header .sbi_header_text .sbi_bio, #sb_instagram .sb_instagram_header .sbi_header_text h3, .sb_instagram_header .sbi_header_text .sbi_bio, .sb_instagram_header .sbi_header_text h3 {
    float: left;
    clear: both;
    width: auto;
    margin: 0 0 0 60px!important;
    padding: 0!important;
}

#sb_instagram .sb_instagram_header h3, .sb_instagram_header h3 {
    font-size: 16px;
    line-height: 1.3;
}

#sb_instagram #sbi_images {
    width: 100%;
    float: left;
    line-height: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#sb_instagram.sbi_col_4 #sbi_images .sbi_item {
    width: 25%;
}

#sb_instagram #sbi_images .sbi_item {
    display: inline-block;
    float: left;
    vertical-align: top;
    zoom: 1;
    padding: inherit!important;
    margin: 0!important;
    text-decoration: none;
    opacity: 1;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
    transition: all .5s ease;
}

#sb_instagram .sbi_photo_wrap {
    position: relative;
}

#sb_instagram .sbi_photo {
    display: block;
    text-decoration: none;
}

#sb_instagram a, #sb_instagram a:active, #sb_instagram a:focus, #sb_instagram a:hover {
    outline: 0;
}

#sb_instagram .sbi_photo img {
    width: 100%;
    height: auto;
}

#sb_instagram img {
    display: block;
    padding: 0!important;
    margin: 0!important;
    max-width: 100%!important;
    opacity: 1!important;
}

#sb_instagram #sbi_load {
    opacity: 1;
    transition: all .5s ease-in;
}

#sb_instagram #sbi_load {
    width: 100%;
    text-align: center;
}

#sb_instagram #sbi_load .sbi_load_btn, #sb_instagram .sbi_follow_btn a {
    display: inline-block;
    vertical-align: top;
    zoom: 1;
    padding: 7px 14px;
    margin: 5px auto 0 auto;
    background: #333;
    border: none;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.5;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

#sb_instagram .sbi_hidden {
    opacity: 0!important;
}

.sbi_load_btn {
    width: 8rem;
}

.sbi_loader {
    width: 10px;
    height: 10px;
    border: 2px solid #FFF;
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
