@charset "UTF-8";
/**********************************************************************
/ ページネーションcss
**********************************************************************/
.pagination { display: flex; align-items: center; justify-content: center; }

.pagination .page-link { border: none; }

.pagination .page-item:first-child .page-link, .pagination .page-item:last-child .page-link { border-radius: 999px !important; }

.pagination span, .pagination a { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; margin: 4px; text-align: center; line-height: 35px; background-color: #fff; text-decoration: none; border-radius: 999px; vertical-align: text-top; }

.pagination a { font-size: 1rem; transition: all linear .2s; color: #000; }

.pagination a:hover { color: #fff; background-color: #2540A2; transition: all linear .2s; }

.pagination .dot { border: none; user-select: none; }

.pagination .current { color: #ffffff !important; border-color: #2540A2; background-color: #2540A2; font-size: 0.9rem; user-select: none; }

.pagination a.first, .pagination a.prev, .pagination a.next, .pagination a.last { font-size: 1.3rem; line-height: 33px; }

.pagination span.page_num { display: none; }

/**********************************************************************
/ ページャーcss
**********************************************************************/
.pager { display: flex; justify-content: space-between; align-items: stretch; }

.pager a { display: block; font-size: 1rem; font-weight: bold; background-color: #fff; transition: all linear .2s; color: #2540A2; }

.pager a[href]:hover { opacity: .7; }

.bread { display: flex; max-width: 1110px; margin: 0 auto; padding: 1rem 0; flex-wrap: wrap; }

.bread li { display: flex; align-items: center; font-size: .9rem; line-height: 1.2; }

.bread li::after { content: ''; display: block; content: "\f0da"; font-weight: 900; font-family: "Font Awesome 5 Free" !important; margin: 0 .8rem 2px 1rem; }

.bread li a { font-size: .9rem; transition: all linear .2s; color: #EE4328; }

.bread li a:hover { opacity: .7; transition: all linear .2s; text-decoration: none; }

.bread li:last-child::after { display: none; }

@media screen and (max-width: 640px) { .bread { max-width: 100%; padding: 1rem; } }

body { /*========= ページトップのためのCSS ===============*/ /*リンクを右下に固定*/ }

body header .items { height: 65px; padding: 0rem 1rem; }

body header .items .header_logo { width: 55%; }

body header .items .header_logo img { width: 100%; }

body header .items .menu_wrapper .nav { display: block; position: fixed; top: 0; right: -100%; bottom: 0; width: 100%; padding: 2rem; padding-top: 20%; background: #ffffff; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: all .5s; z-index: 3; opacity: 0; margin-right: 0; }

body header .items .menu_wrapper .nav .menu-header_menu-container { width: 100%; flex-direction: column; }

body header .items .menu_wrapper .nav .menu-header_menu-container .menu { max-width: 100%; width: 100%; margin-bottom: 3rem; }

body header .items .menu_wrapper .nav .menu-header_menu-container .menu li::after { content: ''; display: inline-block; width: 20px; height: 20px; right: 5px; }

body header .items .menu_wrapper .nav .menu-header_menu-container .menu li a { padding: 1.5rem 1rem; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot { max-width: 100%; width: 100%; padding-right: 0; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .logo { width: 70%; margin-bottom: 2rem; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .com_name { font-size: 1.2rem; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .add { font-size: 1.2rem; margin-bottom: 1.5rem; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .sc-btn { display: flex; margin-bottom: 1.5rem; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .sc-btn a { display: block; border: solid 1px #fff; border-radius: 999px; padding: .3rem 1rem; font-size: 1rem; margin-right: .5rem; transition: .3s; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .sc-btn a:hover { color: #2540A2; background: #fff; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .legal a { display: block; margin-bottom: .5rem; font-size: 1rem; }

body header .items .menu_wrapper .toggle_btn { display: block; position: fixed; top: 20px; right: 1rem; width: 45px; height: 45px; transition: all .5s; cursor: pointer; background: #2540A2; border-radius: 999px; z-index: 3; }

body header .items .menu_wrapper .toggle_btn span { display: block; position: absolute; left: 0; width: 20px; height: 2px; background-color: #fff; transition: all .5s; }

body header .items .menu_wrapper .toggle_btn span:nth-child(1) { top: 15px; left: 0; right: 0; margin: 0 auto; }

body header .items .menu_wrapper .toggle_btn span:nth-child(2) { top: 22px; left: 0; right: 0; margin: 0 auto; }

body header .items .menu_wrapper .toggle_btn span:nth-child(3) { bottom: 14px; left: 0; right: 0; margin: 0 auto; }

body header .items .menu_wrapper #mask { display: none; transition: all .3s; }

body header .items .menu_wrapper.open .nav { right: 0; opacity: 1; background: #2540A2; }

body header .items .menu_wrapper.open .toggle_btn { top: 20px; right: 1rem; }

body header .items .menu_wrapper.open .toggle_btn span { background-color: #fff; }

body header .items .menu_wrapper.open .toggle_btn span:nth-child(1) { -webkit-transform: translateY(6px) rotate(-315deg); transform: translateY(6px) rotate(-315deg); }

body header .items .menu_wrapper.open .toggle_btn span:nth-child(2) { opacity: 0; }

body header .items .menu_wrapper.open .toggle_btn span:nth-child(3) { -webkit-transform: translateY(-8px) rotate(315deg); transform: translateY(-8px) rotate(315deg); }

body header .items .menu_wrapper.open #mask { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: .8; z-index: 2; cursor: pointer; }

body header .vi_wrapper { min-width: 100%; }

body header .vi_wrapper.vi_wrapper_top .mainVi { width: 100%; height: 100vh; }

body header .vi_wrapper.vi_wrapper_top .mainVi #mv_slide { margin-bottom: 2rem; }

body header .vi_wrapper.vi_wrapper_top .mainVi #mv_slide li { height: 100vh; background-size: cover !important; }

body header .vi_wrapper.vi_wrapper_top .ttl { width: 100%; top: 40%; left: 5%; right: 0; margin: auto; transform: translate(0, 0); }

body header .vi_wrapper.vi_wrapper_top .ttl h2 { font-size: 2.5rem; line-height: 1.8; }

body header .vi_wrapper.vi_wrapper_top .scroll_wrap { text-align: center; position: absolute; top: 70%; left: 0; right: 0; margin: auto; }

body header .vi_wrapper.vi_wrapper_top .scroll_wrap .scroll { display: inline-block; padding-bottom: 20px; position: relative; }

body header .vi_wrapper.vi_wrapper_top .scroll_wrap .scroll .txt { color: #ffffff; font-weight: bold; }

body header .vi_wrapper.vi_wrapper_top .scroll_wrap .scroll::after { animation: scroll 2s infinite; border: solid #ffffff; border-width: 0 0 1px 1px; content: ""; display: inline-block; margin: auto; position: absolute; bottom: 0; right: 0; left: 0; transform: rotate(-45deg); width: 20px; height: 20px; }

body header .vi_wrapper.vi_wrapper_backpart .mainVi { height: 40vh; z-index: -1; }

body header .vi_wrapper.vi_wrapper_backpart .mainVi .mv_backpart { top: 0; left: 0; width: 100%; height: 40vh; background-size: cover !important; z-index: -2; }

body header .vi_wrapper.vi_wrapper_backpart .ttl { top: 50%; left: 0; right: 0; margin: auto; text-align: center; }

body header .vi_wrapper.vi_wrapper_backpart .ttl h2 { font-size: 2rem; color: #ffffff; font-weight: 500; padding-bottom: 1rem; letter-spacing: .5rem; }

body header .vi_wrapper.vi_wrapper_backpart .ttl h3 { color: #ffffff; font-size: 1rem; letter-spacing: .1rem; }

body .content_wrap .inner { max-width: 100%; width: 90%; padding: 3rem 0; }

body .content_wrap .inner .contents_wide_s { max-width: 100%; }

body .content_wrap .inner .contents_wide_m { max-width: 100%; }

body .content_wrap .inner .contents_wide_l { max-width: 100%; }

body .content_wrap .inner h2.section-title, body .content_wrap .inner h3.section-title, body .content_wrap .inner h4.section-title, body .content_wrap .inner h5.section-title, body .content_wrap .inner h6.section-title { margin-bottom: 2.5rem; }

body .content_wrap .inner h2.section-title span, body .content_wrap .inner h3.section-title span, body .content_wrap .inner h4.section-title span, body .content_wrap .inner h5.section-title span, body .content_wrap .inner h6.section-title span { display: block; }

body .content_wrap .inner h2.section-title span.main, body .content_wrap .inner h3.section-title span.main, body .content_wrap .inner h4.section-title span.main, body .content_wrap .inner h5.section-title span.main, body .content_wrap .inner h6.section-title span.main { font-size: 2rem; }

body .content_wrap .inner h2.section-title span.sub, body .content_wrap .inner h3.section-title span.sub, body .content_wrap .inner h4.section-title span.sub, body .content_wrap .inner h5.section-title span.sub, body .content_wrap .inner h6.section-title span.sub { font-size: 1rem; font-weight: 500; }

body .content_wrap .inner h2.block_title, body .content_wrap .inner h3.block_title, body .content_wrap .inner h4.block_title, body .content_wrap .inner h5.block_title, body .content_wrap .inner h6.block_title { margin-bottom: 1.6rem; padding-left: 0; }

body .content_wrap .inner h2.block_title .main, body .content_wrap .inner h3.block_title .main, body .content_wrap .inner h4.block_title .main, body .content_wrap .inner h5.block_title .main, body .content_wrap .inner h6.block_title .main { font-size: 1.6rem; }

body .content_wrap .inner h2.block_title .sub, body .content_wrap .inner h3.block_title .sub, body .content_wrap .inner h4.block_title .sub, body .content_wrap .inner h5.block_title .sub, body .content_wrap .inner h6.block_title .sub { font-size: 0.9rem; }

body .content_wrap .inner h2.block_title02, body .content_wrap .inner h3.block_title02, body .content_wrap .inner h4.block_title02, body .content_wrap .inner h5.block_title02, body .content_wrap .inner h6.block_title02 { font-size: 1.4rem; margin-bottom: 2rem; }

body .content_wrap .inner h2.contents_title .main, body .content_wrap .inner h3.contents_title .main, body .content_wrap .inner h4.contents_title .main, body .content_wrap .inner h5.contents_title .main, body .content_wrap .inner h6.contents_title .main { font-size: 1.4rem; }

body .content_wrap .inner .news_list a { padding: 1.5rem 0; }

body .content_wrap .inner .news_list a .date { width: 30%; font-size: 1rem; }

body .content_wrap .inner .news_list a .category { width: 32%; text-align: center; font-size: .9rem; margin: 0; }

body .content_wrap .inner .news_list a .ttl { width: 100%; font-size: 1.1rem; margin-top: 1.2rem !important; }

body .content_wrap .bg-gray { border-radius: 20px; }

body .content_wrap .top-about-wrap { display: block; }

body .content_wrap .top-about-wrap .text { width: 100%; margin-bottom: 2rem; }

body .content_wrap .top-about-wrap .text h4 { font-size: 1.8rem; padding-bottom: 2rem; }

body .content_wrap .top-about-wrap .btn-wrap { width: 100%; }

body .content_wrap ul.top-list-wrap { display: flex; flex-wrap: nowrap; overflow-x: auto; padding: 4rem 0; }

body .content_wrap ul.top-list-wrap li.list-item { flex: 0 0 calc(100% / 2.2); min-width: calc(100% / 2.2); }

body .content_wrap ul.top-list-wrap li.list-item a { display: block; padding: 15px; border: 1px solid #D9D9D9; border-right: none; transition: all .3s; }

body .content_wrap ul.top-list-wrap li.list-item a .thumb { position: relative; }

body .content_wrap ul.top-list-wrap li.list-item a .thumb img { display: block; aspect-ratio: 314/450; object-fit: cover; filter: brightness(40%); transition: all 1s; }

body .content_wrap ul.top-list-wrap li.list-item a .thumb .thumb-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: white; letter-spacing: .1em; }

body .content_wrap ul.top-list-wrap li.list-item a .thumb .thumb-text .sub { font-weight: 400; font-size: .8rem; }

body .content_wrap ul.top-list-wrap li.list-item a .text { text-align: end; padding-top: .5rem; }

body .content_wrap ul.top-list-wrap li.list-item a .text span { display: block; position: relative; }

body .content_wrap ul.top-list-wrap li.list-item a .text span:after { content: ""; background-image: url(../img/icon_link_white.svg); background-position: center; background-repeat: no-repeat; background-size: 6px; background-color: black; width: 25px; height: 25px; margin-left: .5rem; vertical-align: middle; line-height: 1; display: inline-block; border-radius: 100rem; color: #EE4328; }

body .content_wrap ul.top-list-wrap li.list-item a:hover .thumb img { filter: brightness(90%); }

body .content_wrap ul.top-list-wrap li.list-item a:hover .thumb .thumb-text { color: #2540A2; }

body .content_wrap .base-slider-wrap { position: relative; padding: 4rem 0; }

body .content_wrap .base-slider-wrap .slider-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: white; letter-spacing: .1em; width: 90%; }

body .content_wrap .base-slider-wrap .slider-text .header-ttl { font-weight: 500; }

body .content_wrap .base-slider-wrap .slider-text .header-ttl h3 { font-size: 1.8rem; }

body .content_wrap .base-slider-wrap .slider-text .header-ttl p { font-size: 1rem; padding: .5rem 0 1rem; }

body .content_wrap .base-slider-wrap .slider-text .detail .main { font-size: 1.5rem; font-weight: 500; padding-bottom: .5rem; }

body .footer-contact-wrap { padding: 2rem 0; border-radius: 20px; }

body .footer-contact-wrap .support-list { display: block; width: 100%; margin: 0 auto; padding: 0 2rem 0; }

body .footer-contact-wrap .support-list li { width: 100%; padding: 2rem; border-right: none; border-bottom: 1px solid #C7C7C7; }

body .footer-contact-wrap .support-list li:last-child { border-bottom: none; }

body .footer-contact-wrap .support-list li .ttl { font-size: 1rem; padding-bottom: 1rem; }

body .footer-contact-wrap .support-list li .tel > a { display: block; font-size: 2rem; line-height: 1; letter-spacing: .2rem; transition: all .3s; padding-bottom: .5rem; }

body .footer-contact-wrap .support-list li .tel p { font-size: 1rem; }

body .footer-contact-wrap .support-list li .link-btn { width: 100%; }

body footer .inner { padding: 3rem 0; width: 100%; max-width: 100%; margin: 0 auto; }

body footer .inner .flex-wrap { display: block; text-align: center; }

body footer .inner .flex-wrap .info { width: 100%; }

body footer .inner .flex-wrap .info .logo { display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; }

body footer .inner .flex-wrap .info .logo img { display: block; max-width: 30px; width: 100%; }

body footer .inner .flex-wrap .info .logo h1 { font-weight: bold; padding-left: 1rem; letter-spacing: .1rem; font-size: 1.5rem; }

body footer .inner .flex-wrap .info .text .add { padding-bottom: 0rem; }

body footer .inner .flex-wrap .info .text .add .name { font-size: 1.1rem; font-weight: bold; padding-bottom: 1rem; }

body footer .inner .flex-wrap .info .text .map-link a { display: block; color: #EE4328; text-decoration: underline; }

body footer .inner .flex-wrap .info p { font-size: 1rem; }

body footer .copyright { padding: 1rem; color: white; display: block; }

body footer .copyright .footer-sub-nav { justify-content: center; padding-bottom: 1rem; }

body footer .copyright .footer-sub-nav a { display: block; font-size: .8rem; text-align: center; line-height: 1; }

body footer .copyright .footer-sub-nav a.border-link { border: 1px solid white; border-radius: 2rem; padding: .5rem 1rem; }

body footer .copyright .footer-sub-nav a:nth-child(n + 2) { margin-left: 1rem; }

body footer .copyright p { text-align: center; }

body .table th { padding: 1.3rem 1rem; font-size: 1rem; }

body .table td { padding: 1.3rem 1rem; font-size: 1rem; }

body .box_list { width: 100%; }

body .box_list.box_2 .box_item_1 { width: 100%; margin-right: 0; margin-bottom: -5%; }

body .box_list.box_2 .box_item_2 { padding: 2rem; margin: 0 auto; width: 100%; }

body .box_list.box_3 > * { width: calc(100%); margin-left: 0; margin-top: 2rem; }

body .box_list.box_3 > *:first-child { margin-top: 0rem; }

body .box_list.box_3_2 > * { width: calc(100%); }

body .box_list.box_4 > * { width: calc(50% - (1.5rem/2)); }

body .box_list.box_4 > *:nth-child(4n+1) { margin-left: 1rem; }

body .box_list.box_4 > *:nth-child(2n+1) { margin-left: 0; }

body .box_list.box_4 > *:nth-child(n+5) { margin-top: 0; }

body .box_list.box_4 > *:nth-child(n+3) { margin-top: 1rem; }

body .box_list.box_6 > * { width: calc(50% - (1.5rem/2)); }

body .box_list.box_6 > *:nth-child(4n+1) { margin-left: 1rem; }

body .box_list.box_6 > *:nth-child(2n+1) { margin-left: 0; }

body .box_list.box_6 > *:nth-child(n+5) { margin-top: 0; }

body .box_list.box_6 > *:nth-child(n+3) { margin-top: 1.5rem; }

body .box-1col.box-1col-01 { position: relative; max-width: 100%; margin: 0 auto; display: block; }

body .box-1col.box-1col-01.reverse .thumb { width: 100%; margin-right: 0; margin-left: 0; }

@media screen and (min-width: 678px) and (max-width: 1024px) { body .box-1col.box-1col-01.reverse .thumb { margin-right: 0; margin-left: 0; } }

body .box-1col.box-1col-01.reverse .text { padding-right: 0; padding-left: 0; }

body .box-1col.box-1col-01 .thumb { width: 100%; margin-right: 0; }

@media screen and (min-width: 678px) and (max-width: 1024px) { body .box-1col.box-1col-01 .thumb { margin-right: 0; } }

body .box-1col.box-1col-01 .thumb img { display: block; width: 100%; object-fit: cover; aspect-ratio: 16/9; height: 100%; }

body .box-1col.box-1col-01 .text { width: 100%; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 2rem 0; }

body .box-1col.box-1col-01 .text h4 { margin-bottom: 2.5rem; font-size: 1.5rem; }

body .box-1col.box-1col-01 .text > p { font-size: 1rem; line-height: 1.8; }

body .box-1col.box-1col-02 { display: block; }

body .box-1col.box-1col-02 .thumb { width: 100%; padding-bottom: 1rem; }

body .box-1col.box-1col-02 .thumb img { width: 70%; margin: 0 auto; }

body .box-1col.box-1col-02 .text { width: 100%; padding-right: 0; }

body .box-1col.box-1col-03 { display: block; padding: 3rem 0; }

body .box-1col.box-1col-03.reverse .text { padding-right: 0; padding-left: 0; }

body .box-1col.box-1col-03 .thumb { width: 100%; }

body .box-1col.box-1col-03 .text { width: 100%; padding-left: 0; padding-top: 1.5rem; font-size: 1rem; }

body .text-link-list { display: block; }

body .text-link-list li { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: center; width: 100%; margin-right: 0; margin-bottom: 1rem; padding: 1.5rem; border: 1px solid #D9D9D9; border-radius: 10px; min-height: 7em; }

body .text-link-list li .ttl { width: 50%; font-size: 1rem; font-weight: 500; padding-right: 1em; }

body .text-link-list li a { position: relative; display: block; width: 50%; text-align: center; background: #EE4328; color: white; border-radius: 2em; font-size: 1rem; padding: .3rem 1em; transition: all .3s; }

body .text-link-list li a::after { content: ''; display: inline-block; background-image: url(../img/icon_dl.svg); background-position: center; background-repeat: no-repeat; background-size: contain; width: 10px; height: 10px; margin-left: .5rem; }

body .text-link-list li a:hover { opacity: .7; }

body .maker-list { display: flex; flex-wrap: wrap; }

body .maker-list li { display: block; width: 48%; font-size: 1rem; }

body .maker-list li:nth-child(2n) { margin-right: 0; }

body .text-box-wrap h3 { font-size: 1.3rem; padding-bottom: 1.5rem; line-height: 1.6; }

body .text-box-wrap.text-flex-box { display: block; padding-bottom: 2rem; }

body .text-box-wrap.text-flex-box > * { width: 100%; }

body .text-box-wrap.text-flex-box p { font-size: 1rem; }

body .machine-slider-wrap .slick-arrow.next { left: 78%; }

body .machine-slider-wrap .slick-arrow.prev { left: 9%; }

body .history-list-wrap .slick-arrow:before { content: "" !important; width: 35px; height: 35px; }

body .history-list-wrap .slick-prev:before { top: 20px; left: -80px; }

body .history-list-wrap .slick-next:before { top: 20px; right: -80px; }

body .more_link a { text-align: center; padding: 1.1rem; width: 100%; }

body .more_link.main a { width: 100%; }

body .link-btn { width: 60%; margin: 0 auto; }

body .link-btn.link-btn-01 a { position: relative; text-align: center; padding: 1rem; font-size: 1.1rem; }

body .link-btn.link-btn-01 a::after { content: ''; position: absolute; top: 50%; right: 30px; transform: rotate(45deg) translateY(-50%); width: 8px; height: 8px; border-width: 2px 2px 0 0; border-style: solid; }

body .link-btn.center { margin: 0 auto; }

body .btn-wrap a { display: inline-block; color: #EE4328; font-size: 1rem; font-weight: 600; position: relative; transition: all .3s; }

body .btn-wrap a > span { display: inline-block; padding-bottom: .3rem; border-bottom: 1px solid #EE4328; }

body .btn-wrap a:hover { text-decoration: none; opacity: 0.8; }

body .btn-wrap.red a { background-color: #EE4328; color: white; font-size: 1rem; padding: 1.4rem 11rem 1.4rem 2rem; border-radius: 100rem; }

body .btn-wrap.red a:after { content: "→"; font-size: 0.7rem; line-height: 1; display: block; position: absolute; right: 2rem; top: calc(50% - 0.5em); }

body .btn-wrap.small a:after { width: 45px; height: 45px; }

body .map { padding-bottom: 80%; }

body .base-tab-list { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: flex-start; align-items: center; }

body .base-tab-list li { width: calc(100% / 3 - 1rem); margin-right: 1rem; margin-bottom: 1rem; }

body .base-tab-list li:nth-child(3n) { margin-right: 0; }

body form .form_half > div { width: 100%; }

body form .form_item { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: flex-start; padding: 1rem 0 1.5rem 0; }

body form .form-control { padding: .8rem; }

body form label { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: flex-start; align-items: center; font-size: 1rem; width: 100%; }

body form input { font-size: 1rem; }

body form input[type="submit"] { width: 100%; }

body #page-top a { width: 45px; height: 45px; font-size: -1rem; }

body #page-top { position: fixed; right: 20px; bottom: 40px; z-index: 2; opacity: 0; transform: translateY(100px); }
