/*---------------------------------------------------------------------------*/
@media screen and (min-width: 769px) { .page-main { padding: 0 0 5rem; } }

.main-visual .slider-item { border: none; outline: none; }

@media screen and (min-width: 769px) { .main-visual .slider-item { background: none !important; } }

@media screen and (max-width: 768px) { .main-visual .slider-item { height: 40vw; }
  .main-visual .slider-item figure { display: none; } }

.main-visual .slick-dots button { display: block; overflow: hidden; position: relative; width: 14px; height: 14px; padding: 0; -moz-border-radius: 50%; border-radius: 50%; border: 1px solid transparent; background: transparent; color: transparent; line-height: 1; cursor: pointer; outline: none; }

.main-visual .slick-dots button:before { display: block; position: absolute; top: 2px; left: 2px; width: 8px; height: 8px; -moz-border-radius: 50%; border-radius: 50%; background: #0084C8; content: ''; }

.main-visual .slick-dots .slick-active button { border: 1px solid #002773; }

.main-visual a { display: block; }

.main-visual a:hover { opacity: 0.75; }

.slider-item { position: relative; }

.slider-item_ttl { font-size: 2.8rem; font-weight: 600; color: #006BB8; position: absolute; left: 20%; top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); letter-spacing: 3px; }

@media screen and (max-width: 768px) { .slider-item_ttl { font-size: 5.06667vw; left: 4vw; top: 50%; bottom: auto; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); } }

.slick-slide img { width: 100%; }

/** section-button **/
@media screen and (min-width: 769px) { .section-button.show_pc { display: inherit; } }

@media screen and (max-width: 768px) { .section-button.show_sp { display: inherit; } }

@media screen and (min-width: 769px) { .button_list { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -moz-box-orient: horizontal; -moz-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; } }

.button_list_top_item { height: 12.5rem; }

@media screen and (max-width: 768px) { .button_list_top_item { height: 40vw; } }

.button_list_top_item:first-child { width: 66.66667%; }

@media screen and (max-width: 768px) { .button_list_top_item:first-child { width: 100%; } }

.button_list_top_item:last-child { width: 33.33333%; }

@media screen and (max-width: 768px) { .button_list_top_item:last-child { width: 100%; } }

.button_list_top_item__title { font-size: 2.1rem; letter-spacing: 2px; }

@media screen and (max-width: 768px) { .button_list_top_item__title { font-size: 4.8vw; } }

.button_list_top_item__en { font-family: "DIN Alternate"; margin: 0; font-size: 2.1rem; }

@media screen and (max-width: 768px) { .button_list_top_item__en { font-size: 4.8vw; margin: 1.33333vw 0 1.33333vw; } }

.button_list_top_item__ja { font-size: 1.3rem; }

@media screen and (max-width: 768px) { .button_list_top_item__ja { font-size: 3.46667vw; } }

.button_list_top_item__inner { text-align: center; position: relative; /*&:after { position: absolute; content: ''; width: 7rem; height: 2.5rem; bottom: 0; left: 50%; transform: translateX(-50%); background: url(../img/arrow_down_w.svg) left top no-repeat; background-size: cover; }*/ }

@media screen and (max-width: 768px) { .button_list_top_item__inner { /*&:after { width: vw(130); height: vw(44); }*/ } }

.button_list_top_item a, .button_list_top_item__link { width: 100%; height: 100%; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; color: #fff; position: relative; }

@media screen and (min-width: 769px) { .button_list_bottom_item { width: -webkit-calc(100%/3); width: -moz-calc(100%/3); width: calc(100%/3); height: 30rem; } }

@media screen and (max-width: 768px) { .button_list_bottom_item { height: 66.66667vw; } }

.button_list_bottom_item a { width: 100%; height: 100%; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; background: rgba(0, 0, 0, 0.55); color: #fff; position: relative; text-align: center; }

.button_list_bottom_item__title { font-size: 2rem; letter-spacing: 2px; }

@media screen and (max-width: 768px) { .button_list_bottom_item__title { font-size: 4vw; } }

.button_list_bottom_item__en { font-size: 2rem; }

@media screen and (max-width: 768px) { .button_list_bottom_item__en { font-size: 4vw; } }

.button_list_bottom_item .btn { margin: 2.5rem auto 0; font-size: 1.8rem; }

@media screen and (max-width: 768px) { .button_list_bottom_item .btn { margin: 6.66667vw auto 0; } }

.section-bottom { background: #006BB8; color: #fff; }

@media screen and (min-width: 769px) { .section-bottom { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -moz-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -moz-box-align: start; -ms-flex-align: start; align-items: flex-start; } }

/** section-news **/
@media screen and (min-width: 769px) { .top-news { width: -webkit-calc(870/1920 * 100%); width: -moz-calc(870/1920 * 100%); width: calc(870/1920 * 100%); display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -moz-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } }

@media screen and (max-width: 768px) { .top-news { padding: 10.66667vw 4vw; } }

.top-news_inner { width: 56rem; }

@media screen and (max-width: 768px) { .top-news_inner { max-width: 100%; } }

.top-news_ttl { font-size: 2.1rem; margin-bottom: 3rem; }

.top-news .news-category { margin-bottom: 1.5rem; }

.top-news .btn { margin: 0 0 5rem auto; }

@media screen and (max-width: 768px) { .top-news .btn { margin: 0 auto 13.33333vw; } }

/** top-message **/
.top-message { padding: -webkit-calc(40/966 * 100%) 0 -webkit-calc(40/966 * 100%) 0; padding: -moz-calc(40/966 * 100%) 0 -moz-calc(40/966 * 100%) 0; padding: calc(40/966 * 100%) 0 calc(40/966 * 100%) 0; position: relative; display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -moz-box-orient: vertical; -moz-box-direction: normal; -ms-flex-flow: column; flex-flow: column; -webkit-box-pack: end; -moz-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

@media screen and (max-width: 768px) { .top-message { width: 100%; padding: 10.66667vw 4vw 0; } }

.top-message_ttl { font-size: 6rem; font-family: "DIN Alternate"; color: #fff; opacity: 0.6; letter-spacing: 0.08em; line-height: 1; font-weight: normal; line-height: 0.8; }

@media screen and (max-width: 768px) { .top-message_ttl { font-size: 9.06667vw; margin-bottom: 2rem; } }

.top-message_sub { font-size: 2.4rem; letter-spacing: 1em; margin-bottom: 2.5rem; }

@media screen and (max-width: 768px) { .top-message_sub { font-size: 4.8vw; } }

.top-message_lead { line-height: 2.2; margin-bottom: 7rem; }

@media screen and (max-width: 768px) { .top-message_lead { margin-bottom: 10.66667vw; } }

.top-message dl { margin-bottom: 2rem; }

.top-message dl dt { background: #0D5C9B; text-align: center; margin-bottom: 2rem; padding: 0.5rem 1rem; }

.top-message_ctn { position: relative; z-index: 2; }

.top-message_ctn .btn { margin: 5rem 0 0 9rem; }

@media screen and (max-width: 768px) { .top-message_ctn .btn { margin: 10.66667vw 0 0; } }

.top-message_copy { max-width: 34rem; }

@media screen and (max-width: 768px) { .top-message_copy { max-width: 100%; } }

@media screen and (min-width: 769px) { .top-message_img { position: absolute; bottom: 0; right: 0; display: inline-block; text-align: right; }
  .top-message_img img { width: -webkit-calc(761/966 * 100%); width: -moz-calc(761/966 * 100%); width: calc(761/966 * 100%); right: 0; top: 0; bottom: 0; } }

@media screen and (max-width: 768px) { .top-message_img { margin: 0 -4vw; }
  .top-message_img img { margin: -40vw 0 0 0; } }

.news-list:last-child { margin-bottom: 0; }

/** top-direction **/
.top-direction { width: -webkit-calc(512/1920 * 100%); width: -moz-calc(512/1920 * 100%); width: calc(512/1920 * 100%); padding: -webkit-calc(40/966 * 100%) -webkit-calc(70/1920 * 100%) -webkit-calc(40/966 * 100%) -webkit-calc(70/1920 * 100%); padding: -moz-calc(40/966 * 100%) -moz-calc(70/1920 * 100%) -moz-calc(40/966 * 100%) -moz-calc(70/1920 * 100%); padding: calc(40/966 * 100%) calc(70/1920 * 100%) calc(40/966 * 100%) calc(70/1920 * 100%); }

@media screen and (max-width: 768px) { .top-direction { width: 100%; padding: 10.66667vw 4vw 0; } }

.top-direction_list { margin-top: 4rem; }

@media screen and (max-width: 768px) { .top-direction_list { margin-top: 2rem; } }

.top-direction_list li + li { margin-top: 2rem; }

@media screen and (max-width: 768px) { .top-direction_list li + li { margin-top: 4vw; } }

.top-direction_list li a { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -moz-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -moz-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; height: 5.6rem; color: #016bb8; background: #fff; -moz-border-radius: 1rem; border-radius: 1rem; font-size: 2.2rem; font-family: "DIN Alternate"; line-height: 1; font-weight: bold; }

@media screen and (max-width: 768px) { .top-direction_list li a { font-size: 4.26667vw; height: 13.33333vw; } }

.top-message { width: -webkit-calc(1408/1920 * 100%); width: -moz-calc(1408/1920 * 100%); width: calc(1408/1920 * 100%); }

@media (min-width: 1025px) and (max-width: 1599px) { .top-message_ttl { font-size: 4.8rem; letter-spacing: 0.03em; } }

@media screen and (max-width: 1024px) { .section-bottom { display: block; }
  .top-direction { width: 100%; }
  .top-message { width: 100%; padding: -webkit-calc(40/966 * 100%) -webkit-calc(70/1920 * 100%) 0 -webkit-calc(70/1920 * 100%); padding: -moz-calc(40/966 * 100%) -moz-calc(70/1920 * 100%) 0 -moz-calc(70/1920 * 100%); padding: calc(40/966 * 100%) calc(70/1920 * 100%) 0 calc(70/1920 * 100%); margin-top: 4rem; } }
