@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 { padding-bottom: 154px; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { #main { padding-bottom: 100px; } }

/* ========== end △ */
.main-visual { position: relative; text-align: center; padding: 0; z-index: 23; overflow: hidden; height: 100vh; }

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

/* ========== end △ */
.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%; }

.main-visual .mv-ttl { position: absolute; content: ""; z-index: 22; left: 0; right: 0; max-width: 1000px; margin: 0 auto; text-align: center; top: 50%; transform: translateY(-50%); }

.main-visual .mv-ttl .ttl01 { color: #fff; font-size: 87px; line-height: 1.43678; letter-spacing: 0.075em; font-weight: 500; -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: translateY(180px); }

.main-visual .mv-ttl .ttl01 small { font-size: 70px; line-height: 1.78571; }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1199px) { .main-visual .mv-ttl .ttl01 { font-size: 80px; line-height: 1.25; }
  .main-visual .mv-ttl .ttl01 small { font-size: 65px; line-height: 1.53846; } }

/* ========== end △ */
.main-visual .mv-ttl .ttl02 { color: #fff; font-size: 24px; line-height: 1.25; letter-spacing: 0.075em; font-weight: 500; margin: 10px 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: translateY(60px); }

/* ▽ PC-TAB layout ========== */
@media only screen and (min-width: 768px) and (max-width: 1199px) { .main-visual .mv-ttl .ttl02 { font-size: 20px; line-height: 1.4; letter-spacing: 0.05em; } }

/* ========== end △ */
.main-visual .mv-ttl .logo01 { margin: 50px 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: translateY(60px); }

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

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

.main-visual.is-show .logo01 { transition-delay: 0.6s; }

/* ▽ PC-TAB layout ========== */
/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .main-visual .mv-ttl .ttl01 { font-size: 40px; line-height: 1.375; letter-spacing: 0.04em; }
  .main-visual .mv-ttl .ttl01 small { font-size: 30px; line-height: 1.83333; } }

@media only screen and (max-width: 767px) and (max-width: 375px) { .main-visual .mv-ttl .ttl01 { font-size: 34px; line-height: 1.47059; }
  .main-visual .mv-ttl .ttl01 small { font-size: 26px; line-height: 1.92308; } }

@media only screen and (max-width: 767px) { .main-visual .mv-ttl .ttl02 { font-size: 18px; line-height: 1.55556; letter-spacing: 0.06em; margin: 10px 0 0; }
  .main-visual .mv-ttl .logo01 { margin: 30px 0% 0; }
  .main-visual .mv-ttl .logo01 img { max-width: 65%; } }

/* ========== end △ */
.sec01 { padding: 66px 0 67px; background: #fbfbfb; }

.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 #d5d5d5; padding: 28px 0 29px 0; position: relative; }

.sec01 .block__right .news-box li a .date { width: 100px; -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% - 100px); padding: 0 0 0 20px; -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: #1e8cc5; }
  .sec01 .block__right .news-box li a:hover .date { color: #1e8cc5; }
  .sec01 .block__right .news-box li a:hover .ttl { color: #1e8cc5; } }

/* ========== 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: 20px 0 0; }
  .sec01 .block__right { width: calc(100% - 225px); padding: 0 0 0 30px; } }

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

/* ▽ 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: 100px 0 130px; }

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

.sec02 .c-ttl02 { margin-bottom: 21px; }

.sec02 .btn01 { margin: 79px 0 0; }

.sec02 .block01 .c-img { width: 100%; height: 783px; border-radius: 10px 0 0 10px; }

.sec02 .block01 .c-img img { border-radius: 10px 0 0 10px; }

.sec02 .block01__img { position: relative; }

.sec02 .block01__img .cap { position: absolute; background: #ffffff; padding: 48px 19px 48px; z-index: 22; left: 27%; top: -95px; }

.sec02 .block01__img .cap span { writing-mode: vertical-rl; }

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec02 .block01 { 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; max-width: 1920px; margin: 0 auto; }
  .sec02 .block01__left { order: 1; width: 54.5%; 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; }
  .sec02 .block01__left .box { width: 100%; max-width: 647px; padding: 70px 60px 0 20px; } }

@media only screen and (min-width: 768px) and (max-width: 1199px) { .sec02 .block01__left .box { padding-right: 30px; padding-left: 15px; } }

@media print, screen and (min-width: 768px) { .sec02 .block01__img { order: 2; width: 45.5%; } }

/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .sec02 { padding: 45px 0  55px; }
  .sec02 .c-ttl01 { margin-bottom: 25px; }
  .sec02 .c-ttl02 { margin-bottom: 17px; }
  .sec02 .btn01 { margin: 25px 0 0; text-align: center; }
  .sec02 .btn01 .c-btn01 { margin: 0 auto; }
  .sec02 .block01 { padding: 0 15px; }
  .sec02 .block01 .c-img { height: 250px; border-radius: 10px; }
  .sec02 .block01 .c-img img { border-radius: 10px; }
  .sec02 .block01__img { text-align: center; margin: 30px 0 0; }
  .sec02 .block01__left { padding: 0; } }

/* ========== end △ */
.sec03 { padding: 88px 0 110px; background: #edf5f8; }

.sec03 .c-ttl01 { margin-bottom: 24px; }

.sec03 .block01 { text-align: center; }

.sec03 .block01 .txt01 { font-size: 18px; line-height: 1.66667; letter-spacing: 0.1em; font-weight: bold; margin-bottom: 36px; }

.sec03 .block01 .txt01 strong { font-size: 24px; line-height: 1.25; }

.sec03 .block01 .txt02 { font-size: 16px; line-height: 1.875; letter-spacing: 0.1em; font-weight: 400; margin-bottom: 51px; }

.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; margin: 0 -14px; }

.sec03 .lst01 .item { width: 33.33%; padding: 0 14px; text-align: center; margin: 0 0 10px; }

.sec03 .lst01 .item__thumb { border-radius: 10px; }

.sec03 .lst01 .item__thumb .c-img { position: relative; }

.sec03 .lst01 .item__thumb .c-img:before { display: block; content: " "; width: 100%; padding-top: 51.42857%; }

.sec03 .lst01 .item__thumb .c-img > .content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

.sec03 .lst01 .item__info { margin: 20px 0 0; }

.sec03 .lst01 .item__ttl { 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: center; padding-right: 50px; }

.sec03 .lst01 .item__ttl .num { width: 48px; color: #0083c0; font-size: 20px; line-height: 1.5; letter-spacing: 0.1em; font-weight: 500; }

.sec03 .lst01 .item__ttl .ttl { font-size: 20px; line-height: 1.5; letter-spacing: 0.1em; font-weight: 500; max-width: calc(100% - 48px); }

.sec03 .lst01 .item__desc { font-size: 16px; line-height: 1.875; letter-spacing: 0.1em; font-weight: 400; margin: 12px 0 0; }

.sec03 .c-btn01-center { margin-top: 48px; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .sec03 { padding: 50px 0 50px; }
  .sec03 .c-ttl01 { margin-bottom: 15px; }
  .sec03 .block01 .txt01 { font-size: 16px; line-height: 1.5; letter-spacing: 0.05em; margin-bottom: 20px; }
  .sec03 .block01 .txt01 strong { font-size: 20px; line-height: 1.4; }
  .sec03 .block01 .txt02 { text-align: left; font-size: 15px; line-height: 1.6; letter-spacing: 0.05em; margin-bottom: 25px; }
  .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; margin: 0px; }
  .sec03 .lst01 .item { width: 100%; padding: 0; text-align: center; margin: 0 0 25px; }
  .sec03 .lst01 .item__thumb { border-radius: 5px; }
  .sec03 .lst01 .item__info { margin: 10px 0 0; }
  .sec03 .lst01 .item__ttl { 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: center; padding-right: 0px; }
  .sec03 .lst01 .item__ttl .num { width: 45px; font-size: 18px; line-height: 1.38889; letter-spacing: 0.05em; }
  .sec03 .lst01 .item__ttl .ttl { font-size: 18px; line-height: 1.38889; letter-spacing: 0.05em; max-width: calc(100% - 45px); }
  .sec03 .lst01 .item__desc { font-size: 15px; line-height: 1.6; letter-spacing: 0.05em; margin: 10px 0 0; }
  .sec03 .c-btn01-center { margin-top: 10px; } }

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

/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 768px) { .sec04 { background: url(../images/bg_img01.jpg) no-repeat center center; background-size: cover; } }

/* ========== end △ */
.sec04 .c-ttl01 { margin-bottom: 51px; }

.sec04 .btn01 { margin-top: 58px; }

.sec04 .block__info { background: #fff; border-radius: 0 10px 0 0; order: 1; width: 55.5%; 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; }

.sec04 .block__info .box { width: 100%; max-width: 609px; padding: 78px 20px 24px 20px; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) { .sec04 { padding: 0; }
  .sec04 .c-ttl01 { margin-bottom: 25px; }
  .sec04 .btn01 { text-align: center; margin: 35px 10px 0; }
  .sec04 .btn01 .c-btn01 { margin: 0 auto; }
  .sec04 .block__info { border-radius: 10px 10px 0 0; order: 1; width: 100%; display: block; }
  .sec04 .block__info .box { padding: 35px 15px 0; } }

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

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