@charset "UTF-8";

/* reset css
---------------------------------------------------------------------------- */

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:bottom;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/* common class
---------------------------------------------------------------------------- */
*{box-sizing: border-box;}

body {
    /*background: linear-gradient(to right,#f1f1ff 0%, #fff1ff 50%, #fff 50% , #fff 100%);*/
    color: #323333;
    display: block;
    font-family: 'Noto Serif JP', serif;
    min-width: 1440px;
	padding: 0;
    width: 100%;
}
    @media screen and (max-width:767px) {
        body {
            min-width: 0;
        }
    }

body p{
    font-size: 14px;
    line-height: 1.85;
}
    @media screen and (max-width:767px) {
        body p{
            font-size: 3.2vw;
            line-height: 1.75;
        }
    }
a{
	color: inherit;
	text-decoration: none;
	transition: opacity .3s;
}
a:hover{
	opacity: .7;
	transition: .3s ease;
}
img{max-width: 100%;}
ul li,ol li{ list-style-type: none;}
@media screen and (min-width:768px) { .pc-none{ display: none!important; } }
@media screen and (max-width:767px) {	.sp-none{ display: none!important; } }

/* font

font-family: 'Cormorant Garamond', serif;   Regular 400 Medium 500 Semi-bold 600
font-family: 'Libre Baskerville', serif;    400it
font-family: 'Noto Serif JP', serif;        Light 300 Regular 400 Medium 500 Semi-bold 600 Bold 700

*/

/* header
---------------------------------------------------------------------------- */
header{
    position: relative;
}
header .inner{
    margin: 0 auto;
    width: 1360px;
}
    @media screen and (max-width:767px) {
        header .inner{
            border-top: 2.66vw solid #fff;
            border-right: 2.66vw solid #fff;
            width: 100%;
        }
    }

header .inner .title-box{
    align-items: center;
    display: flex;
    height: 98px;
    padding-right: 10px;
}
    @media screen and (max-width:767px) {
        header .inner .title-box{
            background: url("../../images/header_title_bg_sp.png") right top /contain no-repeat;
            border-bottom-left-radius: .8vw;
            display: block;
            height: 32vw;
            padding: 2.66vw 0 0 5.33vw;
            position: absolute;
            right: 0;
            top: 0;
            width: 92.93vw;
            z-index: 1;
        }
    }

header .inner .title-box h1{
    margin: 0 68px 0 381px ;
    width: 220px;
}
    @media screen and (max-width:767px) {
        header .inner .title-box h1{
            border-bottom: 1px solid #e3e2e2;
            margin: 0 0 3.2vw;
            width: 100%;
        }
        header .inner .title-box h1 img{
            margin-bottom: 3.2vw;
            width: 65.33vw;
        }

    }

header .inner .title-box p{
    color: #6c7273;
    font-size: 15px;
    font-weight: 300;
    line-height: 1;
    padding-bottom: 6px;
}
    @media screen and (max-width:767px) {
        header .inner .title-box p{
            color: #6c7273;
            font-size: 3.2vw;
            padding-bottom: 0;
        }
    }

header .inner .mv-box{
    background: #677944;
    border-radius: 8px;
    color: #fff;
    overflow: hidden;
    display: flex;
    width: 1360px;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box{
            background: none;
            border-radius: 0;
            display: block;
            width: 100%;
        }
    }

header .inner .mv-box .img-box{
    position: relative;
    width: 800px;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box .img-box{
            height: 146vw;
            width: 100%;
        }
    }

header .inner .mv-box .img-box .txt{
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    left: 190px;
    position: absolute;
    top: 0;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box .img-box .txt{
            justify-content: flex-start;
            left: 10.4vw;
            padding-top: 46vw;
        }
    }

header .inner .mv-box .img-box .txt h2{
    font-size: 42px;
    font-weight: 600;
    line-height: 1.76;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box .img-box .txt h2{
            font-size: 6.93vw;
            line-height: 1.6;
        }
    }

header .inner .mv-box .img-box .txt p{
    font-size: 22px;
    font-weight: 500;
    line-height: 1.63;
    letter-spacing: .025em;
    margin-top: 1.1em;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box .img-box .txt p{
            font-size: 3.733vw;
            line-height: 1.63;
            letter-spacing: .025em;
            margin-top: 1.75em;
        }
    }

header .inner .mv-box .info-box{
    flex: 1;
    padding-top: 70px;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box .info-box{
            background: linear-gradient(to bottom, #677944 0%, #677944 100%) left top 8.66vw / 100% 100% no-repeat;
            border-bottom-left-radius: .8vw;
            border-bottom-right-radius: .8vw;
            padding: 0 0 2.66vw;
            margin: -10vw 0 0 2.66vw;
            position: relative;
            z-index: 1; 
        }
    }

header .inner .mv-box .info-box h3{
    align-items: center;
    border-bottom-right-radius: 6px;
    border-top-right-radius: 6px;
    background: #fff;
    color: #606f2f;
    display: flex;
    font-size: 24px;
    height: 90px;
    line-height: 1.16;
    margin-bottom: 43px;
    padding-left: 70px;
    width: 390px;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box .info-box h3{
            border-bottom-right-radius: .8vw;
            border-top-right-radius: .8vw;
            font-size: 5.6vw;
            height: 17.33vw;
            line-height: 1.1;
            margin: 0 0 8.53vw -2.66vw;
            padding-left: 8vw;
            width: 73.33vw;
        }
    }

header .inner .mv-box .info-box ul{
    margin-left: 38px;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box .info-box ul{
            margin-left:5.33vw;
            padding-right: 5.33vw;
        }
    }

header .inner .mv-box .info-box ul li{
    background: url("../../images/mv_list_icn.png") left top 5px / 18px auto no-repeat;
    border-bottom: 1px solid #59673a;
    font-size: 18px;
    font-weight: 600;
    line-height: 24px;
    padding: 0 0 10px 32px;
    margin-bottom: 11px;
    width: 352px;
}
    @media screen and (max-width:767px) {
        header .inner .mv-box .info-box ul li{
            background: url("../../images/mv_list_icn.png") left top .8vw / 4vw auto no-repeat;
            font-size: 4.26vw;
            line-height: 6.13vw;
            padding: 0 0 2.66vw 5.86vw;
            margin-bottom: 2.66vw;
            width: auto;
        }
    }

header .inner .mv-box .info-box ul li:last-child{
    border: none; 
    margin-bottom: 0;
}

/* footer
---------------------------------------------------------------------------- */
footer{
    margin: 0 auto 85px;
    padding: 140px 0 0 20px;
    position: relative;
    width: 1020px;
}
    @media screen and (max-width:767px) {
        footer{
            display: flex;
            flex-direction: column;
            margin: 0;
            padding: 13.33vw 0 34.66vw;
            width: auto;
        }
    }

footer #pagetop{
    display: block;
    margin: 0 auto 60px;
    width: 50px;
}
    @media screen and (max-width:767px) {
        footer #pagetop{
            display: block;
            margin: 10vw auto 14.4vw;
            order: 2;
            width: 12.26vw;
        }
    }

footer .flx-wrap{
    display: flex;
    justify-content: space-between;
    
}
    @media screen and (max-width:767px) {
        footer .flx-wrap{
            align-items: center;
            flex-direction: column;
            justify-content: center;
            order: 1;
        }
    }

footer .flx-wrap .box01{
    align-items: center;
    display: flex;
    flex-direction: column;
}
footer .flx-wrap .box01 figure{
    margin-bottom: 43px;
    width: 300px;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box01 figure{
            margin-bottom: 12.26vw;
            width: 63.73vw;
        }
    }

footer .flx-wrap .box01 .tel-box{
    align-items: center;
    display: flex;
    justify-content: center;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box01 .tel-box{
            flex-direction: column;
        }
    }

footer .flx-wrap .box01 .tel-box p{
    border-top: 1px solid #030000;
    border-bottom: 1px solid #030000;
    font-size: 16px;
    line-height: 40px;
    margin-right: 20px;
    padding: 0 5px;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box01 .tel-box p{
            align-items: center;
            border: none;
            display: flex;
            justify-content: center;
            font-size: 3.73vw;
            line-height: 1;
            margin: 0 0 2.26vw;
            padding: 0;
        }
        footer .flx-wrap .box01 .tel-box p::before,
        footer .flx-wrap .box01 .tel-box p::after{
            border-top: 1px solid #030000;
            content: "";
            font-size: 0;
            height: 0;
            width: 11vw;
        }
        footer .flx-wrap .box01 .tel-box p::before{
            margin-right: 3.46vw;
        }
        footer .flx-wrap .box01 .tel-box p::after{
            margin-left: 3.46vw;
        }
    }

footer .flx-wrap .box01 .tel-box span{
    color: #677944;
    font-size: 46px;
    font-family: 'Libre Baskerville', serif;
    font-style: normal;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box01 .tel-box span{
            font-size: 8.26vw;
        }
    }

footer .flx-wrap .box02{
    padding-top: 10px;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box02{
            padding-top: 9.33vw;
            text-align: center;
        }
    }

footer .flx-wrap .box02 p.label{
    background: #677944;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    line-height: 26px;
    margin-bottom: 10px;
    padding: 0 4px;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box02 p.label{
            font-size: 3.73vw;
            line-height: 6.66vw;
            margin-bottom: 2.66vw;
            padding: 0 0 .2em;
            width: 30.66vw;
        }
    }

footer .flx-wrap .box02 p.ofs-name{
    color: #313333;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 6px;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box02 p.ofs-name{
            font-size: 4vw;
            margin-bottom: 1.78vw;
        }
    }

footer .flx-wrap .box02 p.ofs-name span{
    font-size: 14px;
    margin-bottom: 6px;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box02 p.ofs-name span{
            display: block;
            font-size: 3.73vw;
            margin-bottom: 0;
            
        }
    }

footer .flx-wrap .box02 p.place{
    line-height: 18px;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box02 p.place{
            font-size: 3.2vw;
            line-height: 4.8vw;
        }
    }

footer .flx-wrap .box02 p.place span{
    color: #677944;
    display: block;
    font-weight: 500;
    margin-bottom: 19px;
}
    @media screen and (max-width:767px) {
        footer .flx-wrap .box02 p.place span{
            font-size: 4vw;
            margin-bottom: 5.33vw;
        }
    }

footer small{
    color: #313333;
    font-size: 16px;
    position: absolute;
    padding-left: 30px;
    bottom: 0;
}
    @media screen and (max-width:767px) {
        footer small{
            font-size: 3.2vw;
            position: static;
            padding-left: 0;
            order: 3;
            text-align: center;
        }
    }

    @media screen and (max-width:767px) {
        footer .sp-follow-inq{
            background: #060604;
            bottom: 0;
            color: #fff;
            left: 0;
            position: fixed;
            width: 100%;
            z-index: 999;
        }
        footer .sp-follow-inq p{
            border-bottom: 1px solid #18180c;
            color: #fff;
            line-height: 12vw;
            font-size: 3.73vw;
            text-align: center;
        }
        footer .sp-follow-inq .inq-box{
            align-items: center;
            display: flex;
            justify-content: space-between;
            height: 14.66vw;
        }
        footer .sp-follow-inq .inq-box a{
            align-items: center;
            display: flex;
            justify-content: center;
            height: 100%;
        }
        footer .sp-follow-inq .inq-box a.ph{
            font-size: 4.26vw;
            font-weight: 400;
            font-family: 'Libre Baskerville', serif;
            width: 53.33vw;
        }
        footer .sp-follow-inq .inq-box a.ph::before{
            background: url("../../images/sp_footer_icn01.png") center center /contain no-repeat;
            content: "";
            display: block;
            height: 5.33vw;
            margin-right: 2vw;
            width: 5.73vw;
        }
        footer .sp-follow-inq .inq-box a.fm{
            flex: calc(100vw - 53.33vw - 2px);
        }
        footer .sp-follow-inq .inq-box a.fm::before{
            background: url("../../images/sp_footer_icn02.png") center center /contain no-repeat;
            content: "";
            display: block;
            height: 3.73vw;
            margin-right: 2vw;
            width: 4.66vw;
        }
        footer .sp-follow-inq .inq-box hr{
            background: #fff;
            height: 4vw;
            margin: 0;
            width: 2px;
        }
    }


/* main common
---------------------------------------------------------------------------- */

/* お問い合わせボタン */
    @media screen and (max-width:767px) {
        main .inq-box{
            padding: 0 8vw;
        }
    }

main .inq-box a{
    align-items: center;
    background: #667944;
    border-radius: 4px;
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 22px;
    justify-content: center;
    height: 70px;
    margin: 0 auto;
    padding: 0;
    width: 410px;
}
    @media screen and (max-width:767px) {
        main .inq-box a{
            border-radius: 1.06vw;
            font-size: 4.26vw;
            height: 18.66vw;
            padding-top: 2.66vw;
            width: auto;
        }
    }

main .inq-box a::after{
    background: url("../../images/inq_arr.png") center center /contain no-repeat;
    content: "";
    height: 6px;
    margin-top: 6px;
    width: 370px;
}
    @media screen and (max-width:767px) {
        main .inq-box a::after{
            background: url("../../images/inq_arr_sp.png") center center /contain no-repeat;
            height: 1.33vw;
            margin-top: 1.33vw;
            width: 72.26vw;
        }
    }

/* ギャラリー　海馬工苑を知る　*/
main .anc-box{
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding-left: 20px;
    width: 900px;
}
    @media screen and (max-width:767px) {
        main .anc-box{
            align-items: flex-start;
            flex-direction: column;
            padding: 0 8vw;
            width: auto;
        }
    }

main .anc-box .wg{
    background: url("../../images/gall_arr.png") right 12px center / 3px auto no-repeat;
    color: #313333;
    display: flex;
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-weight: 600;
    justify-content: space-between;
    text-align: center;
    width: 165px;
}
    @media screen and (max-width:767px) {
        main .anc-box .wg{
            background: url("../../images/gall_arr.png") right 2.66vw center / .8vw auto no-repeat;
            font-size: 5.6vw;
            text-align: center;
            width: 41.06vw;
        }
    }

main .anc-box .wg::before,
main .anc-box .wg::after{
    content: "";
    border-top: 1px solid #313333;
    border-bottom: 1px solid #313333;
    display: block;
    height: 20px;
    width: 3px;
}
    @media screen and (max-width:767px) {
        main .anc-box .wg::before,
        main .anc-box .wg::after{
            height: 5.06vw;
            width: .8vw;
        }
    }

main .anc-box .wg::before{
    border-left: 1px solid #313333;
}
main .anc-box .wg::after{
    border-right: 1px solid #313333;
    margin-left: 12px;
}
    @media screen and (max-width:767px) {
        main .anc-box .wg::after{
            margin-left: 2.66vw;
        }
    }

main .anc-box .ab{
    align-items: center;
    background: url("../../images/know_arr.png") center right 20px / 76px auto no-repeat;
    border: 1px solid #677944;
    border-radius: 8px;
    color: #677944;
    display: flex;
    font-size: 22px;
    font-weight: 600;
    line-height: 1; 
    justify-content: center;
    height: 70px;
    width: 410px;
}
    @media screen and (max-width:767px) {
        main .anc-box .ab{
            align-items: center;
            background: url("../../images/know_arr.png") center right 4vw / 14.26vw auto no-repeat;
            border-radius: 1.06vw;
            font-size: 4.26vw;
            height: 12.8vw;
            margin-top: 7.06vw;
            width: 100%;
        }
    }

/* case slide　*/
main .case-wrap .lower-box{
    padding: 0 0 0 20px;
    margin: 0 auto 80px;
    width: 1020px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box{
            padding: 0 0 0 8vw;
            margin: 0 auto 10.66vw;
            width: 100%;
        }
    }

main .case-wrap .lower-box .slide-box{
    margin: 0 auto;
    width: 880px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .slide-box{
            width: auto;
        }
    }

main .case-wrap .lower-box .slide-box .slide{
    border-bottom: 1px solid #c0bfbf;
    margin-right: 35px;
    height: 307px;
    width: 270px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .slide-box .slide{
            height: 70.04vw;
            margin-right: 8vw;
            width: 61.33vw;
        }
    }

main .case-wrap .lower-box .slide-box .slide figure{
    position: relative;
}
main .case-wrap .lower-box .slide-box .slide figure img{
    border-radius: 6px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .slide-box .slide figure img{
            border-radius: .8vw;
        }
    }

main .case-wrap .lower-box .slide-box .slide figure figcaption{
    border-bottom: 1px solid #fff;
    color: #fff;
    font-family: 'Cormorant Garamond', serif;
    font-size: 24px;
    font-weight: 600;
    left: 18px;
    position: absolute;
    text-shadow: 0 0 24px rgba(53,42,36,.35);
    top: 18px;
    padding-bottom: 3px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .slide-box .slide figure figcaption{
            font-size: 5.6vw;
            left: 4.26vw;
            text-shadow: 0 0 3.2vw rgba(53,42,36,.35);
            top: 4.26vw;
            padding-bottom: .33vw;
        }
    }

main .case-wrap .lower-box .slide-box .slide p{
    line-height: 26px;
    padding: 12px 0 16px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .slide-box .slide p{
            line-height: 5.6vw;
            padding: 3.2vw 0 4.26vw;
        }
    }

main .case-wrap .lower-box .slide-box .slide-arr{
  align-items: center;
  background: #030000;
  display: flex;
  height: 48px;
  justify-content: center;
  position: absolute;
  top: 74px;
  width: 48px;
  z-index: 1;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .slide-box .slide-arr{
          background: #fff;
          height: 10.66vw;
          top: 17.33vw;
          width: 10.66vw;
        }
    }

main .case-wrap .lower-box .slide-box .slide-arr.prev::before,
main .case-wrap .lower-box .slide-box .slide-arr.next::before{
  background: url("../../images/slide_arr.png") center center /contain no-repeat;
  content: "";
  display: block;
  height: 24px;
  width: 11px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .slide-box .slide-arr.prev::before,
        main .case-wrap .lower-box .slide-box .slide-arr.next::before{
          background: url("../../images/slide_arr_sp.png") center center /contain no-repeat;
          content: "";
          display: block;
          height: 5.6vw;
          width: 2.53vw;
        }
    }

main .case-wrap .lower-box .slide-box .slide-arr.prev{
  left: -60px;
}
main .case-wrap .lower-box .slide-box .slide-arr.next{
  right: -60px;
  transform: rotate(180deg);
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .slide-box .slide-arr.prev{
          left: 0;
        }
        main .case-wrap .lower-box .slide-box .slide-arr.next{
          right: 0;
        }
    }

main .case-wrap .lower-box .slick-slide:not([tabindex="0"]) {
    opacity: 1;
}

/* works-wrap
---------------------------------------------------------------------------- */
main .works-wrap{
    background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) left top 120px / calc(50% + 445px) 290px no-repeat ;
    padding: 84px 0 65px;
    margin-bottom: 60px;
}
    @media screen and (max-width:767px) {
        main .works-wrap{
            background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) left top 29.33vw / calc(100% - 8vw) 194vw no-repeat ;
            padding: 20vw 0 0;
            margin-bottom: 6.66vw;
        }
    }

main .works-wrap .inner{
    margin: 0 auto;
    padding-left: 20px;
    width: 1020px;
}
    @media screen and (max-width:767px) {
        main .works-wrap .inner{
            padding: 0 5.33vw;
            width: auto;
        }
    }

main .works-wrap .inner h2{
    color: #677944;
    font-family: 'Cormorant Garamond', serif;
    font-size: 76px;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 40px;
    text-align: center;
}
    @media screen and (max-width:767px) {
        main .works-wrap .inner h2{
            font-size: 14.44vw;
            margin-bottom: 8vw;
        }
    }

main .works-wrap .inner .img-box{
    display: flex;
    justify-content: space-between;
}
    @media screen and (max-width:767px) {
        main .works-wrap .inner .img-box{
            flex-wrap: wrap;
        }
    }

main .works-wrap .inner .img-box figure{
    position: relative;
    width: 134px;
}
    @media screen and (max-width:767px) {
        main .works-wrap .inner .img-box figure{
            margin-bottom: 5.33vw;
            width: 42vw;
        }
        main .works-wrap .inner .img-box a:nth-child(2){
            margin-top: 14.13vw;
        }
        main .works-wrap .inner .img-box a:nth-child(3),
        main .works-wrap .inner .img-box a:nth-child(5),
        main .works-wrap .inner .img-box a:nth-child(7){
            margin-top: -14.13vw;
        }
    }

main .works-wrap .inner .img-box figure img{
    border-radius: 6px;
}
    @media screen and (max-width:767px) {
        main .works-wrap .inner .img-box figure img{
            border-radius: .53vw;
        }
    }

main .works-wrap .inner .img-box figure figcaption{
    background: url("../../images/warks_arr.png") left 10px bottom no-repeat;
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    font-family: 'Cormorant Garamond', serif;
    line-height: 22px;
    height: 107px;
    position: absolute;
    top: 0;
    padding: 30px 0 0 10px;
    left: 0;
}
    @media screen and (max-width:767px) {
        main .works-wrap .inner .img-box figure figcaption{
            background: url("../../images/warks_arr_sp.png") left 2.66vw bottom /4.8vw auto no-repeat;
            color: #fff;
            font-size: 5.6vw;
            line-height: 6.13vw;
            height: auto;
            padding: 10.13vw 0 2.66vw 2.66vw;
        }
    }

main .works-wrap .inner .img-box figure figcaption span.top{
    display: block;
    font-size: 18px;
    font-weight: 500;
}
    @media screen and (max-width:767px) {
        main .works-wrap .inner .img-box figure figcaption span.top{
            font-size: 5.06vw;
        }
    }

main .works-wrap .inner .img-box figure figcaption span.top span.fnt-l{
    font-family: 'Libre Baskerville', serif;
    font-size: 18px;
    font-weight: 400;
}
    @media screen and (max-width:767px) {
        main .works-wrap .inner .img-box figure figcaption span.top span.fnt-l{
            font-family: 'Libre Baskerville', serif;
            font-size: 5.06vw;
        }
    }

/* case-wrap
---------------------------------------------------------------------------- */
main .case-wrap{
    margin-top: 140px;
}
    @media screen and (max-width:767px) {
        main .case-wrap{
            margin-top: 18.66vw;
        }
    }

main  #case1.case-wrap{
    margin-top: 180px;
}
    @media screen and (max-width:767px) {
        main  #case1.case-wrap{
            margin-top: 17.33vw;
        }
    }

main .case-wrap .inner{
    margin: 0 auto;
    width: 1360px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner{
            margin: 0 auto;
            width: 100%;
        }
    }

main .case-wrap .inner .upper-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box{
            display: block;
        }
    }

main .case-wrap.rev .inner .upper-box{
    flex-direction: row-reverse;
}
    @media screen and (max-width:767px) {
        main .case-wrap.rev .inner .upper-box{
            display: block;
        }
    }

main .case-wrap .detail-box{
    display: flex;
    flex-direction: column;
    margin-right: 40px;
    width: 460px;
}
main .case-wrap.rev .inner .upper-box{
    flex-direction: row-reverse;
}
    @media screen and (max-width:767px) {
        main .case-wrap .detail-box{
            margin-right: 0;
            width: auto;
        }
    }

main .case-wrap.rev .detail-box{
    margin-right: 0;
    margin-left: 40px;
}
    @media screen and (max-width:767px) {
        main .case-wrap.rev .detail-box{
            margin: 0;
        }
    }

main .case-wrap .detail-box .arr-down{
    background: url("../../images/down_arr.png") center center /22px auto no-repeat;
    display: block;
    height: 60px;
    width: 100%;
}
    @media screen and (max-width:767px) {
        main .case-wrap .detail-box .arr-down{
            background: url("../../images/down_arr.png") center center /5.86vw auto no-repeat;
            height: 13.33vw;
        }
    }

main .case-wrap .lower-box .arr-down{
    background: url("../../images/down_arr.png") center center /22px auto no-repeat;
    display: block;
    height: 60px;
    margin-left: 20px;
    width: 460px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .lower-box .arr-down{
            background: url("../../images/down_arr.png") center center /5.86vw auto no-repeat;
            height: 13.33vw;
            margin-left: 0;
            width: calc(100% - 8vw);
        }
    }

main .case-wrap.rev .lower-box .arr-down{
    margin-left: auto;
    margin-right: 20px;
}
    @media screen and (max-width:767px) {
        main .case-wrap.rev .lower-box .arr-down{
            margin: 0;
        }
    }

main .case-wrap .inner .upper-box .detail-box p.label{
    font-size: 46px;
    font-weight: 500;
    font-family: 'Cormorant Garamond', serif;
    line-height: 1;
    margin-bottom: 18px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .detail-box p.label{
            font-size: 8.13vw;
            margin-bottom: 3.2vw;
            padding-left: 8vw;
        }
    }

main .case-wrap .inner .upper-box .detail-box p.label span.num{
    font-weight: 400;
    font-family: 'Libre Baskerville', serif;
}
main .case-wrap .inner .upper-box .detail-box p.label span.type{
    color: #313333;
    font-size: 24px;
    font-weight: 500;
    margin-left: 20px;
    line-height: 1;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .detail-box p.label span.type{
            color: #313333;
            font-size: 4.26vw;
            margin-left: 3.33vw;
        }
    }

main .case-wrap .inner .upper-box .detail-box p.label span.type::before,
main .case-wrap .inner .upper-box .detail-box p.label span.type::after{
    border-left: 1px solid #323333;
    content: "";
    font-size: 0;
    display: inline-block;
    height: 20px;
    width: 0;
}
main .case-wrap .inner .upper-box .detail-box p.label span.type::before{
    margin-right: 12px;
}
main .case-wrap .inner .upper-box .detail-box p.label span.type::after{
    margin-left: 12px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .detail-box p.label span.type::before,
        main .case-wrap .inner .upper-box .detail-box p.label span.type::after{
            height: 3.46vw;
        }
        main .case-wrap .inner .upper-box .detail-box p.label span.type::before{
            margin-right: 2.4vw;
        }
        main .case-wrap .inner .upper-box .detail-box p.label span.type::after{
            margin-left: 2.4vw;
        }
    }

main .case-wrap .inner .upper-box .detail-box h2{
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .detail-box h2{
            font-size: 5.6vw;
            margin-bottom: 5.33vw;
            padding-left: 8vw;
        }
    }

main .case-wrap .inner .upper-box .detail-box h2.fnt-cg{
    font-family: 'Cormorant Garamond', serif;
    font-size: 38px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .detail-box h2.fnt-cg{
            font-size: 6.93vw;
        }
    }

main .case-wrap .inner .upper-box .detail-box h2::before,
main .case-wrap .inner .upper-box .detail-box h2::after{
    border-top: 1px solid #323333;
    border-bottom: 1px solid #323333;
    content: "";
    font-size: 0;
    display: inline-block;
    position: relative;
    top: 3px;
    height: 30px;
    width: 4px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .detail-box h2::before,
        main .case-wrap .inner .upper-box .detail-box h2::after{
            top: .8vw;
            height: 5.33vw;
            width: .8vw;
        }
        main .case-wrap .inner .upper-box .detail-box h2.fnt-cg::before,
        main .case-wrap .inner .upper-box .detail-box h2.fnt-cg::after{
            top: .6vw;
        }
    }

main .case-wrap .inner .upper-box .detail-box h2::before{
    border-left: 1px solid #323333;
    margin-right: 6px;
}
main .case-wrap .inner .upper-box .detail-box h2::after{
    border-right: 1px solid #323333;
    margin-left: 6px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .detail-box h2::before{
            margin-right: .8vw;
        }
        main .case-wrap .inner .upper-box .detail-box h2::after{
            margin-left: .8vw;
        }
    }

main .case-wrap .inner .upper-box figure img{
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}
main .case-wrap.rev .inner .upper-box figure img{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box figure{
            padding-left: 5.33vw;
            margin-bottom: 6.93vw;
        }
        main .case-wrap .inner .upper-box figure img{
            border-top-left-radius: .8vw;
            border-bottom-left-radius: .8vw;
        }
        main .case-wrap.rev .inner .upper-box figure img{
            border-top-left-radius: .8vw;
            border-bottom-left-radius: .8vw;
            border-top-right-radius: 0;
            border-bottom-right-radius: 0;
        }
    }

main .case-wrap .inner .upper-box .rsn-box{
    margin: auto 0 0;
}
main .case-wrap .inner .upper-box .rsn-box .req-box{
    display: flex;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .rsn-box .req-box{
            padding: 0 5.33vw;
        }
    }

main .case-wrap .inner .upper-box .rsn-box .req-box h3{
    align-items: center;
    background: #667944;
    border-radius: 4px;
    color: #fff;
    display: flex;
    height: auto;
    font-size: 18px;
    font-weight: 600;
    font-family: 'Cormorant Garamond', serif;
    justify-content: center;
    margin-right: 18px;
    width: 82px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .rsn-box .req-box h3{
            border-radius: 1vw;
            font-size: 4.26vw;
            margin-right: 4.66vw;
            width: 18.66vw;
        }
    }

main .case-wrap .inner .upper-box .rsn-box .req-box p{
    font-size: 16px;
    line-height: 28px;
    flex: 1;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .rsn-box .req-box p{
            font-size: 3.73vw;
            line-height: 6.4vw;
        }
    }

main .case-wrap .inner .upper-box .rsn-box .req-box ol{
    flex: 1;
}
main .case-wrap .inner .upper-box .rsn-box .req-box ol li{
    font-size: 16px;
    line-height: 24px;
    flex: 1;
    letter-spacing: -.02em;
    text-indent: -1.75em;
    padding-left: 1.75em;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .rsn-box .req-box ol li{
            font-size: 3.73vw;
            line-height: 5.97vw;
            padding-right: .3em;
        }
    }

main .case-wrap .inner .upper-box .rsn-box .req-box ol li span{
    color: #677944;
    font-size: 22px;
    line-height: 30px;
    font-style: italic;
    margin-right: 8px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .rsn-box .req-box ol li span{
            color: #677944;
            font-size: 4.26vw;
            line-height: 6.4vw;
            font-style: italic;
            margin-right: 2.66vw;
        }
    }

main .case-wrap .inner .upper-box .conc-box{
    align-items: center;
    background: #fff;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    display: flex;
    flex-direction: column;
    padding: 24px 0;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .conc-box{
            border-top-right-radius: 1.06vw;
            border-bottom-right-radius: 1.06vw;
            padding: 6.4vw 0 6.4vw 5.33vw;
            margin-right: 5.33vw;
        }
    }

main .case-wrap .inner .upper-box .conc-box h4{
    font-size: 24px;
    font-weight: 600;
    font-family: 'Cormorant Garamond', serif;
    line-height: 1;
    margin-bottom: 10px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .conc-box h4{
            font-size: 5.6vw;
            margin-bottom: 2.66vw;
        }
    }

main .case-wrap .inner .upper-box .conc-box h4::after{
    border-bottom: 1px solid #677944;
    content: "";
    display: block;
    font-size: 0;
    margin: 8px auto 0;
    height: 0;
    width: 30px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .conc-box h4::after{
            margin: 2vw auto 0;
            height: 0;
            width: 5.33vw;
        }
    }

main .case-wrap .inner .upper-box .conc-box p{
    border-left: 1px solid #677944;
    border-right: 1px solid #677944;
    font-size: 22px;
    font-weight: 700;
    line-height: 30px;
    padding: 0 26px;
    position: relative;
    text-align: center;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .conc-box p{
            align-items: center;
            display: flex;
            font-size: 4.26vw;
            line-height: 6.13vw;
            padding: 0;
            height: 13.33vw;
            justify-content: center;
            width: 67.73vw;
        }
    }
main .case-wrap .inner .upper-box .conc-box p::before,
main .case-wrap .inner .upper-box .conc-box p::after{
    border-top: 1px solid #677944;
    border-bottom: 1px solid #677944;
    content: "";
    display: block;
    height: calc(100% - 1px);
    position: absolute;
    top :0 ;
    width: 10px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .conc-box p::before,
        main .case-wrap .inner .upper-box .conc-box p::after{
            width: 2.66vw;
        }
    }

main .case-wrap .inner .upper-box .conc-box p::before{
    border-left: 1px solid #677944;
    left: -5px;
}
main .case-wrap .inner .upper-box .conc-box p::after{
    border-right: 1px solid #677944;
    right: -5px;
}
    @media screen and (max-width:767px) {
        main .case-wrap .inner .upper-box .conc-box p::before{
            left: -1.06vw;
        }
        main .case-wrap .inner .upper-box .conc-box p::after{
            right: -1.06vw;
        }
    }

main .case-wrap{
    background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) right top 155px / calc(50% + 515px) 497px no-repeat ;
}
main .case-wrap.rev{
    background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) left top 155px / calc(50% + 530px) 498px no-repeat ;
}
main #case4.case-wrap.rev{
    background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) left top 135px / calc(50% + 530px) 517px no-repeat ;
}
    @media screen and (max-width:767px) {
        main .case-wrap,
        main .case-wrap.rev{
            background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) right top 51.6vw / 100% 147.44vw no-repeat ;
        }
        main #case2.case-wrap.rev{
            background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) right top 51.6vw / 100% 147.33vw no-repeat ;
        }
        main #case3.case-wrap{
            background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) right top 51.6vw / 100% 153vw no-repeat ;
        }
        main #case4.case-wrap.rev{
            background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) right top 51.6vw / 100% 158.6vw no-repeat ;
        }
        main #case5.case-wrap{
            background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) right top 51.6vw / 100% 153.66vw no-repeat ;
        }
        main #case6.case-wrap.rev{
            background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) right top 51.6vw / 100% 152.99vw no-repeat ;
        }
        main #case7.case-wrap{
            background: linear-gradient(to right,#f3f3f3 0%, #f3f3f3 100%) right top 51.6vw / 100% 153.99vw no-repeat ;
        }
    }

/* about-wrap
---------------------------------------------------------------------------- */
main .about-wrap{
    padding: 140px 0 0 20px;
    margin: 0 auto 64px;
    width: 1020px;
}
    @media screen and (max-width:767px) {
        main .about-wrap{
            padding: 17.33vw 0 13.33vw;
            margin: 0 auto;
            width: 100%;
        }
    }

main .about-wrap h2{
    color: #677944;
    font-size: 76px;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 52px;
    text-align: center;
}
    @media screen and (max-width:767px) {
        main .about-wrap h2{
            font-size: 14.4vw;
            margin-bottom: 7.2vw;
        }
    }

main .about-wrap p.sub-lead{
    font-size: 24px;
    font-weight: 500;
    line-height: 32px;
    padding: 41px 0 96px;
    text-align: center;
}
    @media screen and (max-width:767px) {
        main .about-wrap p.sub-lead{
            font-size: 5.6vw;
            line-height: 9.6vw;
            padding: 9.33vw 8vw 13.33vw;
            text-align: left;
        }
    }

main .about-wrap p.sub-lead span{
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    width: 90px;
}
    @media screen and (max-width:767px) {
        main .about-wrap p.sub-lead span{
            margin-left: 2.66vw;
            width: 24vw;
        }
    }

main .about-wrap p.sub-lead span::after{
    align-items: center;
    content: "";
    display: block;
    font-size: 0;
    border-top: 1px solid #323333;
    height: 0;
}
main .about-wrap .lower-box{
    background: #5e6d2f;
    border-radius: 6px;
    color: #fff;
    padding: 106px 0 43px;
    position: relative;
}
    @media screen and (max-width:767px) {
        main .about-wrap .lower-box{
            border-radius: .8vw;
            margin: 0 2.66vw;
            padding: 13.33vw 0 8vw;
        }
    }

main .about-wrap .lower-box h3{
    background: #fff;
    border: 1px solid #5e6d2f;
    color: #5e6d2f;
    font-size: 32px;
    font-weight: 500;
    line-height: 90px;
    position: absolute;
    top: -45px;
    left: calc(50% - 250px);
    text-align: center;
    width: 500px;
}
    @media screen and (max-width:767px) {
        main .about-wrap .lower-box h3{
            font-size: 4vw;
            line-height: 9.33vw;
            top: -4.66vw;
            left: calc(50% - 31.33vw);
            width: 62.66vw;
        }
    }

main .about-wrap .lower-box figure{
    margin-bottom: 43px;
}
    @media screen and (max-width:767px) {
        main .about-wrap .lower-box figure{
            margin: 0 0 8vw -2.66vw;
            width: 100vw;
        }
    }

main .about-wrap .lower-box ol{
    padding: 0 90px;
}
    @media screen and (max-width:767px) {
        main .about-wrap .lower-box ol{
            padding: 0 9.33vw;
        }
    }

main .about-wrap .lower-box ol li{
    border-bottom: 1px solid #59673a;
    font-size: 20px;
    font-weight: 500;
    line-height: 46px;
    padding: 10px 0;
}
    @media screen and (max-width:767px) {
        main .about-wrap .lower-box ol li{
            border-bottom: 1px solid #59673a;
            font-size: 4.26vw;
            line-height: 6.13vw;
            padding: 2.66vw 0 2.66vw 6.66vw;
            text-indent: -6.66vw;
        }
    }

main .about-wrap .lower-box ol li:last-child{
    border: none;
}

main .about-wrap .lower-box ol li span.num{
    font-family: 'Libre Baskerville', serif;
    font-style: italic;
    font-weight: 400;
    font-size: 32px;
    display: inline-block;
    line-height: 48px;
    margin-right: 15px;
    text-align: right;
    width: 25px;
}
    @media screen and (max-width:767px) {
        main .about-wrap .lower-box ol li span.num{
            font-size: 5.06vw;
            line-height: 6.13vw;
            margin-right: 2vw;
            width: 4.66vw;
        }
    }

main .about-wrap .lower-box ol li span.clr{
    color: #dec179;
}
main .about-wrap .sml-txt{
    font-size: 16px;
    line-height: 28px;
    margin: 50px auto 0;
    width: 814px;
}
    @media screen and (max-width:767px) {
        main .about-wrap .sml-txt{
            font-size: 3.46vw;
            line-height: 5.86vw;
            margin: 0;
            padding: 8.66vw 8vw 0;
            width: auto;
        }
    }