/* argument */
/* font style */
/* site style */
/* [ opacity ]
-------------------------------------------------*/
/* [ display style ]
-------------------------------------------------*/
/* [ background-image ]
-------------------------------------------------*/
/* [ writing-mode ]
-------------------------------------------------*/
/* [ illustrator & photoshop letter spacing ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
/* [ easy transform ]
-------------------------------------------------*/
#header { transform: translateY(-20px); opacity: 0; }

#header.is-loading { transform: translateY(0px); opacity: 1; }

.main-visual { position: relative; padding: 165px 0 165px;}

.main-visual .mv-bg { position: absolute; left: 0; top: 0; bottom: 0; right: 0; background: url(../images/mv_img.jpg) no-repeat center center; background-size: cover; }

.main-visual .mv-block { transition: All 0.7s ease; -webkit-transition: All 0.7s ease; -moz-transition: All 0.7s ease; -o-transition: All 0.7s ease; transform: translateY(-10px); opacity: 0; background: rgba(255, 255, 255, 0.8); padding: 6px 6px 6px; }

.main-visual .mv-block .inner { background: rgba(255, 255, 255, 0.5); padding: 20px 27px 20px 27px; }

@media only screen and (max-width: 375px) { .main-visual .mv-block .inner { padding: 20px 18px 20px 18px; } }

.main-visual .mv-block .mv-txt01 { color: #2d2a24; font-family: 'Noto Serif JP', serif; font-size: 15px; line-height: 1.5; letter-spacing: 0.04em; font-weight: 500; }

.main-visual .mv-block .mv-ttl { color: #794e06; font-family: 'Noto Serif JP', serif; font-size: 31px; line-height: 1.4; letter-spacing: 0.08em; font-weight: 500; margin: 6px -3px 15px; }

@media only screen and (max-width: 639px) { .main-visual .mv-block .mv-ttl { font-size: 6.6vw; } }

.main-visual .mv-block .mv-txt02 { color: #2d2a24; font-family: 'Noto Serif JP', serif; font-size: 15px; line-height: 1.5; letter-spacing: 0.13em; font-weight: 500; }

.main-visual .mv-block .mv-btn { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 10px 0 0; }

.main-visual .mv-block .mv-btn li { background: url(../common_img/bg_tag01.png) no-repeat center center; background-size: 100% 100%; margin: 0 11px 0 0; padding: 8px 2px 8px; text-align: center; width: 124px; max-width: calc(33.33% - 8px); }

.main-visual .mv-block .mv-btn li:last-child { margin-right: 0; }

.main-visual .mv-block .mv-btn li span { color: #fff; font-family: 'Noto Serif JP', serif; font-size: 12px; line-height: 1.38889; letter-spacing: 0.04em; font-weight: 500; }

.main-visual.is-show .mv-block { opacity: 1; transform: translateY(0px); }

.main-visual .c-scrollDown { position: absolute; right: 35px; bottom: 0; }

.main-visual .c-scrollDown a { display: inline-block; position: relative; width: 24px; vertical-align: bottom; }

.main-visual .c-scrollDown-txt { position: absolute; right: 2px; top: 8px; text-align: center; color: #2d2a24; font-size: 16px; line-height: 1; letter-spacing: 0em; font-weight: 300; width: 30px; height: 62px; }

.main-visual .c-scrollDown-txt span { white-space: nowrap; display: inline-block; transform-origin: 30% 65%; text-align: right; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); }

.main-visual .c-scrollDown-line { height: 155px; position: relative; }

.main-visual .c-scrollDown-line span { position: absolute; content: ""; width: 1px; height: 100%; background: #575550; top: 0; left: 0; right: 0; margin: 0; z-index: 34; animation-delay: 4s; -webkit-animation: elasticus 2s cubic-bezier(0, 0, 0, 1) infinite; -moz-animation: elasticus 2s cubic-bezier(0, 0, 0, 1) infinite; -o-animation: elasticus 2s cubic-bezier(0, 0, 0, 1) infinite; animation: elasticus 2s cubic-bezier(0, 0, 0, 1) infinite; }

.c-scrollDown.for-sub { display: none; }

.sec01 { padding: 47px 10px 0; }

.sec01 .block { padding-bottom: 47px; }

.sec01 .block .box01 { padding: 20px 10px 47px; margin: 0 -10px; background: url(../common_img/cm_bg01.png) repeat center center; background-size: 9px 9px; }

.sec01 .block-info { position: relative; z-index: 59; }

.sec01 .block-img { position: relative; z-index: 59; margin-bottom: 20px; }

.sec01 .block-img img { border-radius: 10px; }

.sec01 .desc01 { padding-bottom: 18px; font-size: 15px; /*! line-height: 1.53333; */ letter-spacing: 0.1em; }

.sec01 .list01 { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.sec01 .list01 li { max-width: 30.66%; margin: 0 4% 0 0; }

.sec01 .list01 li:last-child { margin-right: 0; }

.sec01 .btn01 { text-align: center; margin: 25px 0 0; }

.sec02 { background: #dad5cd; padding: 47px 20px 50px; }

.sec02 .c-ttl01 { text-align: center; margin-bottom: 59px; }

.sec02 .list { margin: 20px 0 0; }

.sec02 .list .item { position: relative; margin-top: 52px; }

.sec02 .list .item-ttl01 { text-align: center; font-family: 'Futura Lt'; border: 1px solid #988867; border-radius: 30px; text-align: center; display: inline-block; letter-spacing: 0.05em; font-size: 17px; color: #462f17; position: absolute; content: ""; left: 0; right: 0; width: 100%; top: -30px; z-index: 44; max-width: 190px; background: #fff; margin: 0 auto; padding: 9px 5px 7px; font-weight: 400; }

.sec02 .list .item-ttl01 .num { font-weight: 400; font-size: 34px; color: #1a3933; letter-spacing: 0em; display: inline-block; line-height: 1; margin-right: -6px; vertical-align: middle; }

.sec02 .list .item-ttl02 { color: #794e06; font-size: 20px; line-height: 1.8; letter-spacing: 0.04em; font-weight: 500; }

.sec02 .list .item-desc { color: #242424; font-size: 14px; line-height: 1.6; letter-spacing: 0.1em; margin: 5px 0 0; }

.sec02 .list .item-info { padding: 16px 0 0; }

.sec02 .list .item-img { text-align: center; }

.sec02 .list .item a { display: inline-block; border: 1px solid #9f9071; background: #fff; position: relative; padding: 49px 20px 20px; }

.sec02 .list .item a:after { position: absolute; content: ""; left: 0; right: 0; height: 3px; top: -1px; background: #fff; margin: 0 auto; width: 68%; }

.sec02 .btn01 { text-align: center; margin-top: 40px; }

.sec03 { background: #625834; padding: 50px 0 57px; }

.sec03 .block { margin-bottom: 35px; }

.sec03 .block:last-child { margin-bottom: 0; }

.sec03 .block.block02 { margin-bottom: 0; }

.sec03 .block-img { position: relative; z-index: 59; padding: 0 10px; }

.sec03 .block.desc { font-size: 15px; line-height: 1.5; letter-spacing: 0.05em; margin: 32px 0 0; }

.sec03 .block-info { margin: -50px 20px 0; background: #fff; position: relative; z-index: 89; padding: 25px 23px 0; }

.sec03 .block.block02 .block-info { margin: 0px 20px 0; }

.sec03 .block.block02 .block-img { padding: 0 29%; }

.sec03 .block .btn01 { margin-right: -23px; text-align: right; margin-top: 23px; }

.sec03 .block .btn01 .c-btn01 { border-radius: 18px 0 0 0; }

.sec04 { background: url(../images/bg_img01.jpg) no-repeat center center; background-size: cover; padding: 42px 0 57px; }

.sec04 .c-ttl01 { text-align: center; margin-bottom: 25px; }

.sec04 .list { padding: 0 20px; }

.sec04 .list .item { position: relative; margin-bottom: 5px; height: 293px; }

.sec04 .list .item-label { width: 120px; position: absolute; left: 20px; top: 20px; z-index: 4; }

.sec04 .list .item-ttl01 { background: #794e06; color: #fff; font-size: 22px; line-height: 1.5; letter-spacing: 0.04em; font-weight: 500; text-align: center; width: 90%; max-width: 280px; margin: 0 auto 16px; border-radius: 10px 10px 0 0; padding: 5px 5px 5px; }

.sec04 .list .item-desc { color: #fff; font-size: 14px; line-height: 1.71429; letter-spacing: 0.1em; }

.sec04 .list .item-info { position: absolute; z-index: 49; left: 10px; right: 10px; text-align: center; top: 54%; transform: translate(0, -50%); }

.sec04 .list .item-img { text-align: center; position: absolute; left: 0; top: 0; bottom: 0; right: 0; }

.sec04 .list .item-img img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }

.sec04 .list .item a { display: inline-block; border: 1px solid #988867; position: relative; padding: 80px 20px 20px; width: 100%; height: 100%; }

.sec04 .list .item a:after { position: absolute; content: ""; left: 0; right: 0; bottom: 0; top: 0; background: rgba(21, 22, 26, 0.8); z-index: 1; }

.sec04 .list .item a:hover .c-btn02:before { margin-top: -10px; }

.sec04 .list .item-btn { position: absolute; right: 12px; bottom: 25px; z-index: 59; }

.sec04 .list .item-btn .c-btn02 { color: #fff; }

.sec04 .list .item:last-child { margin-right: 0; }

.sec05 { padding: 50px 10px 48px; }

.sec05 .c-ttl01 { margin-bottom: 0px; }

.sec05 .block-left { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; text-align: left; width: 100%; justify-content: space-between; }

.sec05 .block-right { padding: 25px 0 0 0; }

.sec05 .news-info { padding-right: 20px; overflow-y: auto; max-height: 250px; }

.sec05 .news-info ul li { margin-bottom: 10px; }

.sec05 .news-info a { padding: 10px 0; width: 100%; }

.sec05 .news-info a .date, .sec05 .news-info a .ttl { letter-spacing: 0.1em; font-size: 14px; }

.sec05 .news-info a .ttl { color: #242424; letter-spacing: 0.01em; text-decoration: underline; }

.sec05 .news-info a:hover .date, .sec05 .news-info a:hover .ttl { color: #794e06; }

.sec05 .btn01 { width: 245px; margin-top: 25px; }

@media only screen and (max-width: 639px) { .sec04 .c-ttl01 img { max-height: 84px; } }

@media only screen and (max-width: 375px) { .sec05 .btn01 { width: 215px; } }

.sec05 .btn01 .c-btn01 { padding: 8px 30px; }

.sec06 { padding: 0 10px 70px; }

.sec06 .block { position: relative; text-align: center; }

.sec06 .block .btn01 { text-align: center; margin-top: 25px; }

.sec06 .block .desc { /*! font-size: 16px; */ line-height: 1.5; letter-spacing: 0.05em; text-align: left; }

.sec06 .block .desc p { margin-bottom: 20px; }

.sec06 .block .desc p:last-child { margin-bottom: 0; }

.sec06 .block-info .box { position: relative; padding: 26px 10px 0; }

.sec07 { background: #f4f3f3; padding: 50px 10px 45px; }

.sec07 .rows { position: relative; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.sec07 .rows .col a { display: inline-block; margin: 0 0 5px 0; }

.sec07 .rows .col a:last-child { margin-right: 0; }

.sec07 .rows .col.col01 { padding: 0 19% 4px; }

.sec07 .rows .col.col02 { width: 49%; margin-right: 2%; }

.sec07 .rows .col.col03 { width: 49%; }

.sec08 { background: #625834; padding: 40px 0 45px; }

.sec08 .block-img { position: relative; z-index: 59; padding: 0 15% 25px; }

.sec08 .block.desc { font-size: 15px; line-height: 1.5; letter-spacing: 0.05em; margin: 32px 0 0; }

.sec08 .block-info { margin: 0px 20px 0; background: #fff; position: relative; z-index: 89; padding: 25px 23px 0; }

.sec08 .block .btn01 { margin-right: -23px; text-align: right; margin-top: 23px; }

.sec08 .block .btn01 .c-btn01 { border-radius: 18px 0 0 0; }

/*# sourceMappingURL=maps/top.css.map */
