@charset "UTF-8";
:root { --color-gray: #929292; --color-gray-second: #c4c4c4; --color-gray-third: #707070; --color-gray-fourth: #d8d5d5; --color-gray-fifth: #e3e3e3; --color-gray-sixth: #F6F6F6; --color-black: #000000; --color-black-second: #0d0d0d; --color-black-third: #262421; --color-white: #ffffff; --color-brown: #684117; --color-red: #ff0000; --font-noto-sans-jp: "Noto Sans JP", sans-serif; --font-noto-serif-jp: "Noto Serif JP", serif; --font-saira: "Saira Semi Condensed", sans-serif; --font-libre-baskerville: "Libre Baskerville", serif; }

:root { --color-gray: #929292; --color-gray-second: #c4c4c4; --color-gray-third: #707070; --color-gray-fourth: #d8d5d5; --color-gray-fifth: #e3e3e3; --color-gray-sixth: #F6F6F6; --color-black: #000000; --color-black-second: #0d0d0d; --color-black-third: #262421; --color-white: #ffffff; --color-brown: #684117; --color-red: #ff0000; --font-noto-sans-jp: "Noto Sans JP", sans-serif; --font-noto-serif-jp: "Noto Serif JP", serif; --font-saira: "Saira Semi Condensed", sans-serif; --font-libre-baskerville: "Libre Baskerville", serif; }

@keyframes prixClipFix { 0% { clip-path: polygon(50% 50%, 0 0, 0 0, 0 0, 0 0, 0 0); }
  25% { clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 0, 100% 0, 100% 0); }
  50% { clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 100% 100%, 100% 100%); }
  75% { clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 100%); }
  100% { clip-path: polygon(50% 50%, 0 0, 100% 0, 100% 100%, 0 100%, 0 0); } }

.loading { position: fixed; left: 0; top: 0; bottom: 0; right: 0; background: #fff; z-index: 8977; -webkit-transition: 0.5s ease all; -moz-transition: 0.5s ease all; -ms-transition: 0.5s ease all; -o-transition: 0.5s ease all; transition: 0.5s ease all; }

.loading .lds-roller { width: 48px; height: 48px; border: 7px solid #dae9f1; border-radius: 50%; position: relative; transform: rotate(45deg) translateY(-50%); box-sizing: border-box; position: absolute; left: 0; right: 0; margin: 0 auto; top: 50%; }

.loading .lds-roller::before { content: ""; position: absolute; box-sizing: border-box; inset: -7px; border-radius: 50%; border: 7px solid #1e8cc5; animation: prixClipFix 2s infinite linear; }

.loading.is-hidden { opacity: 0; pointer-events: none; }

.main-visual { position: relative; text-align: left; padding: 0; z-index: 23; overflow: hidden; height: calc(100vh - 120px); }

.main-visual .mv-slider { height: 100%; width: 100%; position: relative; z-index: 3; }

.main-visual .mv-slider .slick-list { height: 100%; width: 100%; }

.main-visual .mv-slider .slick-track { height: 100%; }

.main-visual .mv-slider .slick-slide { height: 100%; }

.main-visual .mv-slider .slick-slide > div { height: 100%; }

.main-visual .mv-slider .slide { width: 100%; height: 100%; }

.main-visual .mv-slider .slide .c-img { width: 100%; height: 100%; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .main-visual { min-height: 680px; } }

/* ========== end △ */
.main-visual .mv-ttl { position: absolute; content: ""; z-index: 22; left: 0; right: 0; max-width: 1110px; margin: 0 auto; top: 50%; transform: translateY(-50%); padding: 0 20px; }

.main-visual .mv-ttl .ttl01 { -webkit-transition: 0.8s ease all; -moz-transition: 0.8s ease all; -ms-transition: 0.8s ease all; -o-transition: 0.8s ease all; transition: 0.8s ease all; opacity: 0; transform: translateX(60px); }

.main-visual .mv-ttl .ttl02 { color: #fff; font-size: 70px; line-height: 1.07143; letter-spacing: 0.08em; font-weight: 900; margin: 28px 0 2px; -webkit-transition: 0.8s ease all; -moz-transition: 0.8s ease all; -ms-transition: 0.8s ease all; -o-transition: 0.8s ease all; transition: 0.8s ease all; -webkit-text-stroke: 3px black; opacity: 0; transform: translateX(60px); }

.main-visual .mv-ttl .ttl02 small { font-size: 52px; line-height: 1.44231; }

.main-visual .mv-ttl .ttl03 { color: #fff; font-size: 35px; line-height: 1.57143; letter-spacing: 0.075em; font-weight: 900; margin: 20px 0 0; -webkit-transition: 0.8s ease all; -moz-transition: 0.8s ease all; -ms-transition: 0.8s ease all; -o-transition: 0.8s ease all; transition: 0.8s ease all; -webkit-text-stroke: 2px black; opacity: 0; transform: translateX(60px); }

.main-visual .mv-ttl .logo01 { margin: 46px 0 0; -webkit-transition: 0.8s ease all; -moz-transition: 0.8s ease all; -ms-transition: 0.8s ease all; -o-transition: 0.8s ease all; transition: 0.8s ease all; opacity: 0; transform: translateX(60px); }

.main-visual.is-show .ttl01, .main-visual.is-show .ttl02, .main-visual.is-show .ttl03, .main-visual.is-show .logo01 { opacity: 1; transform: translateX(0px); }

.main-visual.is-show .ttl02 { transition-delay: 0.2s; }

.main-visual.is-show .ttl03 { transition-delay: 0.4s; }

.main-visual.is-show .logo01 { opacity: 1; transform: translateX(0px); transition-delay: 0.6s; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .main-visual { height: calc(100vh - 60px); }
  .main-visual .mv-ttl { transform: translateY(-50%); padding: 0 10px; }
  .main-visual .mv-ttl .ttl02 { font-size: 28px; line-height: 1.42857; letter-spacing: 0.03em; margin: 28px 0 2px; -webkit-transition: 0.8s ease all; -moz-transition: 0.8s ease all; -ms-transition: 0.8s ease all; -o-transition: 0.8s ease all; transition: 0.8s ease all; -webkit-text-stroke: 1px black; }
  .main-visual .mv-ttl .ttl02 small { font-size: 22px; line-height: 1.81818; }
  .main-visual .mv-ttl .ttl03 { font-size: 20px; line-height: 1.4; letter-spacing: 0.02em; margin: 10px 0 0; -webkit-text-stroke: 1px black; }
  .main-visual .mv-ttl .logo01 { margin: 20px 0 0; }
  .main-visual .mv-ttl .logo01 img { width: 45%; } }

/* ========== end △ */
.sec01 { padding: 58px 0 74px; background: #fdf7f7; }

.sec01 .block { max-width: 985px; margin: 0 auto; }

.sec01 .block .c-ttl01 { margin-bottom: 44px; }

.sec01 .block__right .news-box li a { text-decoration: none; display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; border-bottom: 1px solid #adb3b9; padding: 15px 0 15px 0; position: relative; }

.sec01 .block__right .news-box li a .date { width: 110px; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; font-size: 16px; line-height: 1.875; letter-spacing: 0.1em; font-weight: 500; }

.sec01 .block__right .news-box li a .ttl { width: calc(100% - 110px); padding: 0 0 0 17px; -webkit-transition: 0.3s ease all; -moz-transition: 0.3s ease all; -ms-transition: 0.3s ease all; -o-transition: 0.3s ease all; transition: 0.3s ease all; font-size: 16px; line-height: 1.875; letter-spacing: 0.1em; font-weight: 500; }

.sec01 .block__right .news-box li a .ttl span { overflow: hidden; width: 100%; -webkit-line-clamp: 1; display: -webkit-box; -webkit-box-orient: vertical; -o-text-overflow: ellipsis; text-overflow: ellipsis; white-space: normal; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec01 .block__right .news-box li a:hover { opacity: 1; color: #9b0000; }
  .sec01 .block__right .news-box li a:hover .date { color: #9b0000; }
  .sec01 .block__right .news-box li a:hover .ttl { color: #9b0000; } }

/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec01 .block { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .sec01 .block__left { width: 225px; padding: 0 0 0; }
  .sec01 .block__right { width: calc(100% - 225px); padding: 5px 0 0 33px; } }

/* ========== end △ */
.sec01 .btn01 { margin: 60px 0 0; text-align: left; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .sec01 { padding: 45px 0 40px; }
  .sec01 .block__left { margin-bottom: 20px; }
  .sec01 .block__left .c-ttl01 { text-align: center; margin-bottom: 25px; }
  .sec01 .block .btn01 { text-align: center; margin: 20px 0 0; }
  .sec01 .block__right .news-box li a { padding: 15px 0 15px 0; }
  .sec01 .block__right .news-box li a:after { right: 0px; margin: -4px 0 0; }
  .sec01 .block__right .news-box li a .date { width: 80px; font-size: 15px; line-height: 1.6; }
  .sec01 .block__right .news-box li a .ttl { width: calc(100% - 80px); padding: 0 0 0 4px; font-size: 15px; line-height: 1.6; }
  .sec01 .block__right .news-box li a .ttl span { overflow: hidden; width: 100%; -webkit-line-clamp: 1; display: -webkit-box; -webkit-box-orient: vertical; -o-text-overflow: ellipsis; text-overflow: ellipsis; white-space: normal; } }

/* ========== end △ */
.sec02 { padding: 108px 0 115px; }

.sec02__desc01 { text-align: center; font-size: 16px; line-height: 1.75; letter-spacing: 0.075em; font-weight: 400; margin: 20px 0 0; }

.sec02 .c-ttl01 { margin-bottom: 20px; }

.sec02 .lst01 { margin: 60px 0 0; }

.sec02 .lst01 li .img { text-align: center; }

.sec02 .lst01 li .info { padding: 25px 0 0; }

.sec02 .lst01 li .ttl01 { text-align: center; font-size: 18px; line-height: 1.55556; letter-spacing: 0.075em; font-weight: 500; }

.sec02 .lst01 li .desc { text-align: left; padding: 21px 0 0; }

.sec02 .lst01 li .desc p { font-size: 16px; line-height: 1.875; letter-spacing: 0.03em; font-weight: 300; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec02 .lst01 { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .sec02 .lst01 li { width: 31.33%; margin: 0 3% 0 0; }
  .sec02 .lst01 li:nth-child(3n) { margin-right: 0; } }

/* ========== end △ */
.sec02 .btn01 { margin: 79px 0 0; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .sec02 { padding: 45px 0 25px; }
  .sec02__desc01 { font-size: 15px; line-height: 1.6; letter-spacing: 0.05em; margin: 15px 0 0; }
  .sec02 .c-ttl01 { margin-bottom: 15px; }
  .sec02 .lst01 { margin: 30px 0 0; }
  .sec02 .lst01 li { margin-bottom: 30px; }
  .sec02 .lst01 li .info { padding: 10px 0 0; }
  .sec02 .lst01 li .ttl01 { font-size: 16px; line-height: 1.5; letter-spacing: 0.05em; }
  .sec02 .lst01 li .desc { padding: 12px 0 0; }
  .sec02 .lst01 li .desc p { font-size: 15px; line-height: 1.6; }
  /* ▽ PC-TAB layout ========== */ }

@media only screen and (max-width: 767px) and (min-width: 768px) { .sec02 .lst01 { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .sec02 .lst01 li { width: 31.33%; margin: 0 3% 0 0; }
  .sec02 .lst01 li:nth-child(3n) { margin-right: 0; } }

@media only screen and (max-width: 767px) { /* ========== end △ */
  .sec02 .btn01 { margin: 79px 0 0; } }

/* ========== end △ */
.sec03 { padding: 90px 0 17px; background: #f6f6f6 url(../images/bg01.jpg) no-repeat right bottom; background-size: cover; position: relative; }

.sec03__desc01 { text-align: center; font-size: 16px; line-height: 1.75; letter-spacing: 0.075em; font-weight: 400; margin: 20px 0 0; }

.sec03 .lst01 { margin: 84px 0 0; }

.sec03 .lst01 li { background: #fff; padding: 70px 44px 60px; position: relative; z-index: 22; }

.sec03 .lst01 li:after { z-index: 3; position: absolute; content: ""; left: 0; top: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.7); }

.sec03 .lst01 li .count { position: absolute; left: 40px; top: -36px; text-align: center; z-index: 222; }

.sec03 .lst01 li .count .txt { display: block; font-size: 17px; line-height: 0.94118; letter-spacing: 0.075em; font-weight: 500; }

.sec03 .lst01 li .count .num { display: block; font-family: "Jost", sans-serif; font-size: 72px; line-height: 1; letter-spacing: 0.075em; font-weight: 500; }

.sec03 .lst01 li .box__bg { position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 3; }

.sec03 .lst01 li .box { position: relative; z-index: 222; margin-bottom: 30px; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec03 .lst01 li .box { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .sec03 .lst01 li .box__info { width: 67%; padding: 0 10px 0 0; }
  .sec03 .lst01 li .box__img { text-align: right; width: 33%; padding: 0; margin: -10px 0 0; } }

/* ========== end △ */
.sec03 .lst01 li .ttl01 { position: relative; z-index: 222; text-align: left; font-size: 30px; line-height: 1.5; letter-spacing: 0em; font-weight: 500; margin-bottom: 5px; }

.sec03 .lst01 li .desc { position: relative; z-index: 222; text-align: left; padding: 9px 0 0; font-size: 16px; line-height: 1.875; letter-spacing: 0.075em; font-weight: 400; }

.sec03 .lst01 li .btn { position: relative; z-index: 222; }

.sec03 .lst01 li .btn .c-btn01 { max-width: 200px; height: 60px; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec03 .lst01 { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .sec03 .lst01 li { width: 47.5%; margin: 0 5% 97px 0; }
  .sec03 .lst01 li:nth-child(2n) { margin-right: 0; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .sec03 { background-position: left bottom; padding: 40px 0 15px; }
  .sec03__desc01 { text-align: left; font-size: 15px; line-height: 1.46667; letter-spacing: 0.05em; margin: 20px 0 0; }
  .sec03 .lst01 { margin: 60px 0 0; }
  .sec03 .lst01 li { padding: 27px 15px 30px; margin-bottom: 60px; }
  .sec03 .lst01 li .count { left: 0; right: 0; top: -36px; text-align: center; }
  .sec03 .lst01 li .count .txt { display: block; font-size: 15px; line-height: 1.06667; letter-spacing: 0.05em; }
  .sec03 .lst01 li .count .num { font-size: 45px; line-height: 1; letter-spacing: 0.05em; }
  .sec03 .lst01 li .box { margin-bottom: 30px; }
  .sec03 .lst01 li .box__img { text-align: center; padding: 0 36%; }
  .sec03 .lst01 li .ttl01 { text-align: center; font-size: 24px; line-height: 1.66667; margin-bottom: -5pxx; }
  .sec03 .lst01 li .desc { padding: 9px 0 0; font-size: 15px; line-height: 1.46667; letter-spacing: 0.04em; }
  .sec03 .lst01 li .btn .c-btn01 { height: 50px; margin: 0 auto 0; } }

/* ========== end △ */
.sec04 { padding: 105px 0 0; }

.sec04 .sec04-iframe { margin: 60px 0 0; }

.sec04 .sec04-iframe iframe { width: 100%; height: 510px; }

.sec04 .block .desc01 { font-size: 16px; line-height: 1.875; letter-spacing: 0.075em; font-weight: 400; }

.sec04 .block .box { margin: 51px 0 0; }

.sec04 .block .box-ttl { font-size: 24px; line-height: 1.25; letter-spacing: 0.075em; font-weight: 500; }

.sec04 .block .box .tbl { margin: 10px 0 0; }

.sec04 .block .box .tbl dl { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.sec04 .block .box .tbl dl dt { width: 88px; font-size: 16px; line-height: 1.875; letter-spacing: 0.075em; font-weight: 400; }

.sec04 .block .box .tbl dl dd { width: calc(100% - 88px); font-size: 16px; line-height: 1.875; letter-spacing: 0.075em; font-weight: 400; }

.sec04 .block .btn { margin: 54px 0 0; }

.sec04 .block__img { position: relative; }

.sec04 .block__img .img01 { position: relative; width: 100%; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec04 .block__img .img01 { min-height: 630px; } }

/* ========== end △ */
.sec04 .block__img .c-img { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; }

.sec04 .block__img .c-txt01 { padding: 0 20px 0 0; color: #f90d0d; font-weight: bold; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec04 .block { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .sec04 .block__info { display: -webkit-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: flex-end; width: 56%; padding: 0 0 38px 0; }
  .sec04 .block__img { width: 44%; margin: 15px 0 0; }
  .sec04 .block .inner { width: 100%; max-width: 660px; padding: 0 45px 0 20px; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .sec04 { padding: 55px 0 0; }
  .sec04 .c-ttl01 { text-align: center; }
  .sec04 .sec04-iframe { margin: 30px 0 0; }
  .sec04 .sec04-iframe iframe { height: 220px; }
  .sec04 .block .desc01 { font-size: 15px; line-height: 1.6; letter-spacing: 0.05em; }
  .sec04 .block .box { margin: 35px 0 0; }
  .sec04 .block .box-ttl { font-size: 19px; line-height: 1.31579; letter-spacing: 0.05em; }
  .sec04 .block .box .tbl { margin: 10px 0 0; }
  .sec04 .block .box .tbl dl dt { width: 88px; font-size: 15px; line-height: 1.6; letter-spacing: 0.05em; }
  .sec04 .block .box .tbl dl dd { width: calc(100% - 88px); font-size: 15px; line-height: 1.6; letter-spacing: 0.05em; }
  .sec04 .block .btn { margin: 25px 0 0; }
  .sec04 .block .btn .c-btn01 { margin: 0 auto; }
  .sec04 .block__img { position: relative; }
  .sec04 .block__img .img01 { height: 260px; }
  .sec04 .block__img .c-img { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
  .sec04 .block__img .c-txt01 { padding: 0 15px 0; }
  .sec04 .block__info { padding: 0 15px; } }

/* ========== end △ */

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