@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 ***************************************/
html { scroll-behavior: smooth; }

body { /*========= ページトップのためのCSS ===============*/ /*リンクの形状*/ /*リンクを右下に固定*/ /*　上に上がる動き　*/ /*　下に下がる動き　*/ }

body header { position: relative; overflow: hidden; }

body header.scrolled .items { background-color: rgba(33, 33, 33, 0.6); transition: all linear .2s; }

body header .items { display: flex; flex-wrap: nowrap; flex-direction: row; justify-content: space-between; align-items: center; position: fixed; top: 0; left: 0; width: 100%; padding: .8rem 1.5rem; transition: all linear .2s; z-index: 999; }

body header .items .header_logo { width: 320px; }

body header .items .menu_wrapper .nav { position: fixed; top: 0; right: -100%; bottom: 0; width: 100%; padding: 2rem; 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%; display: flex; justify-content: center; align-items: center; flex-direction: row-reverse; }

body header .items .menu_wrapper .nav .menu-header_menu-container .menu { display: flex; flex-wrap: wrap; justify-content: space-between; max-width: 700px; width: 100%; }

body header .items .menu_wrapper .nav .menu-header_menu-container .menu li { width: 48%; border-bottom: solid 1px #4461C9; position: relative; }

body header .items .menu_wrapper .nav .menu-header_menu-container .menu li::after { content: ''; display: inline-block; width: 24px; height: 24px; background: url("../img/nav_arrow.png") no-repeat center center; background-size: contain; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); }

body header .items .menu_wrapper .nav .menu-header_menu-container .menu li a { display: block; color: #fff; padding: 1.5rem 1.5rem; transition: .3s; }

body header .items .menu_wrapper .nav .menu-header_menu-container .menu li a:hover { opacity: .5; }

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

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

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .com_name { font-weight: bold; margin-bottom: 1rem; }

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

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .add a { text-decoration: underline; }

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

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: .75rem; 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: .75rem; transition: .3s; }

body header .items .menu_wrapper .nav .menu-header_menu-container .nav-foot .legal a:hover { color: #fff; opacity: .5; }

body header .items .menu_wrapper .toggle_btn { display: block; position: fixed; top: 20px; right: 30px; width: 50px; height: 50px; 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: 25px; height: 2px; background-color: #fff; transition: all .5s; }

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

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

body header .items .menu_wrapper .toggle_btn span:nth-child(3) { bottom: 16px; 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: 30px; }

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(8px) rotate(-315deg); transform: translateY(8px) 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: 1110px; position: relative; }

body header .vi_wrapper .ttl { position: absolute; transform: translate(0, -50%); }

body header .vi_wrapper .mask { position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%; background: rgba(0, 0, 0, 0.4); }

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 { top: 50%; left: 25%; transform: translate(-25%, -50%); }

body header .vi_wrapper.vi_wrapper_top .ttl h2 { font-size: 2.6rem; color: #ffffff; letter-spacing: .4rem; line-height: 1.4; margin-bottom: 1.2rem; }

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

body header .vi_wrapper.vi_wrapper_top .scroll_wrap { text-align: center; position: absolute; top: 85%; 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 { font-size: .9rem; color: #ffffff; }

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: 50vh; z-index: -1; }

body header .vi_wrapper.vi_wrapper_backpart .mainVi .mv_backpart { top: 0; left: 0; width: 100%; height: 50vh; 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: 2.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: .9rem; letter-spacing: .1rem; }

body .content_wrap { overflow: hidden; }

body .content_wrap .inner { max-width: 1110px; margin: 0 auto; padding: 4rem 0; }

@media (max-width: 1040px) { body .content_wrap .inner { padding: 5rem 1rem; } }

body .content_wrap .inner .contents_wide_s { max-width: 720px; margin: 0 auto; }

body .content_wrap .inner .contents_wide_m { max-width: 800px; margin: 0 auto; }

body .content_wrap .inner .contents_wide_l { max-width: 920px; margin: 0 auto; }

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: 1.4rem; font-weight: 500; }

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: .8rem; font-weight: 500; }

body .content_wrap .inner h2.section-title.border-left-01 .main, body .content_wrap .inner h3.section-title.border-left-01 .main, body .content_wrap .inner h4.section-title.border-left-01 .main, body .content_wrap .inner h5.section-title.border-left-01 .main, body .content_wrap .inner h6.section-title.border-left-01 .main { padding-bottom: .5rem; border-left: 2px solid #222222; padding-left: 1rem; }

body .content_wrap .inner h2.section-title.border-left-01 .sub, body .content_wrap .inner h3.section-title.border-left-01 .sub, body .content_wrap .inner h4.section-title.border-left-01 .sub, body .content_wrap .inner h5.section-title.border-left-01 .sub, body .content_wrap .inner h6.section-title.border-left-01 .sub { border-left: 2px solid #EE4328; padding-left: 1rem; }

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 { position: relative; font-weight: 500; margin-bottom: 3rem; padding-bottom: 2rem; }

body .content_wrap .inner h2.block_title::after, body .content_wrap .inner h3.block_title::after, body .content_wrap .inner h4.block_title::after, body .content_wrap .inner h5.block_title::after, body .content_wrap .inner h6.block_title::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 80px; height: 4px; background-color: #EE4328; }

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 { display: block; font-size: 1.8rem; padding-bottom: .2rem; }

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-weight: bold; background: #eee; font-size: 1.2rem; padding: 1rem; margin-bottom: 2rem; }

body .content_wrap .inner h2.contents_title, body .content_wrap .inner h3.contents_title, body .content_wrap .inner h4.contents_title, body .content_wrap .inner h5.contents_title, body .content_wrap .inner h6.contents_title { font-weight: 500; 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.3rem; border-left: #222222 solid 2px; padding-left: 1rem; }

body .content_wrap .inner h2.contents_title .t_sub, body .content_wrap .inner h3.contents_title .t_sub, body .content_wrap .inner h4.contents_title .t_sub, body .content_wrap .inner h5.contents_title .t_sub, body .content_wrap .inner h6.contents_title .t_sub { border-color: #EE4328; }

body .content_wrap .inner .news_list a { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: flex-start; align-items: center; position: relative; padding: 1rem; margin-bottom: .5rem; transition: all .3s; border-bottom: solid 1px #e9e9e9; }

body .content_wrap .inner .news_list a:first-child { border-top: solid 1px #e9e9e9; }

body .content_wrap .inner .news_list a:hover { background-color: rgba(255, 255, 255, 0.7); transition: all .3s; }

body .content_wrap .inner .news_list a::after { content: '→'; position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); }

body .content_wrap .inner .news_list a .date { width: 60px; font-size: 0.9rem; color: #9E9E9E; }

body .content_wrap .inner .news_list a .category { width: 120px; text-align: center; font-size: 0.8rem; color: #ffffff; background: #2540A2; margin: 0 2rem; padding: .2rem 0; }

body .content_wrap .inner .news_list a .category.pdf-cat { background: #EE4328; margin-left: 0; }

body .content_wrap .inner .news_list a .ttl { width: 100%; margin-top: 1rem; padding-right: 2.5rem; }

body .content_wrap .inner .article_detail .ttl { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: flex-start; align-items: center; }

body .content_wrap .inner .article_detail .ttl .date { color: #A6A6A6; }

body .content_wrap .inner .article_detail .ttl .cat { font-size: .8rem; color: #ffffff; background: #2540A2; border: solid 1px #2540A2; padding: .2rem 2rem; margin-left: 1.5rem; }

body .content_wrap .inner .article_detail .ttl h2 { width: 100%; font-weight: bold; color: #2540A2; font-size: 1.6rem; }

body .content_wrap .inner .article_detail .artcle h3 { font-size: 1.2rem; padding: 0 1rem; border-left: 4px solid #2540A2; color: #2540A2; font-weight: bold; }

body .content_wrap .bg-gray { background: #F9F9F9; border-radius: 40px; width: 90%; margin: 0 auto; }

body .content_wrap .top-about-wrap { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: flex-end; }

body .content_wrap .top-about-wrap .text { width: 60%; }

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

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

body .content_wrap ul.top-list-wrap { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: center; padding: 5rem 0; }

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

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; font-size: 1.1rem; }

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: 5rem 0; }

body .content_wrap .base-slider-wrap .top-base-slider { position: relative; }

body .content_wrap .base-slider-wrap .top-base-slider .slick-item img { height: auto; width: 100%; aspect-ratio: 775/637; object-fit: cover; }

body .content_wrap .base-slider-wrap .top-base-slider::after { content: ""; display: block; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); position: absolute; top: 0; left: 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: 100%; }

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.5rem; }

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

body .content_wrap .base-slider-wrap .slider-text .detail .main { font-size: 1.4rem; font-weight: 500; }

body .footer-contact-wrap { background: #222222; border-radius: 40px; padding: 3rem 0; color: white; }

body .footer-contact-wrap .support-list { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: stretch; width: 100%; margin: 0 auto; padding: 3rem 2rem 0; }

body .footer-contact-wrap .support-list li { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; width: calc(100% / 3); text-align: center; border-right: solid 1px #C7C7C7; }

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

body .footer-contact-wrap .support-list li .ttl { font-size: .9rem; font-weight: bold; padding-bottom: .8rem; }

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: .85rem; font-weight: 400; }

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

body footer { background: #F9F9F9; }

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

@media screen and (min-width: 678px) and (max-width: 1110px) { body footer .inner.inner { padding: 4rem 40px; } }

body footer .inner .flex-wrap { display: flex; }

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

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

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

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

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

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: .9rem; }

body footer .inner .flex-wrap .tail { width: 65%; }

body footer .inner .flex-wrap .tail nav .menu-footer-container { display: flex; width: 100%; }

body footer .inner .flex-wrap .tail nav .menu-footer-container .list-wrap { width: calc(100% / 3); margin-left: 2rem; padding-top: 1rem; }

body footer .inner .flex-wrap .tail nav .menu-footer-container .list-wrap:first-child { margin-left: 0; }

body footer .inner .flex-wrap .tail nav .menu-footer-container .list-wrap .menu .menu-item a { display: block; padding: .8rem 0; font-weight: bold; transition: all .3s; border-top: 1px solid #C6C4C4; font-size: .85rem; }

body footer .inner .flex-wrap .tail nav .menu-footer-container .list-wrap .menu .menu-item a:hover { color: #000000; opacity: .7; }

body footer .inner .flex-wrap .tail nav .menu-footer-container .list-wrap .menu .menu-item.menu-item-has-children .sub-menu a { display: block; font-size: .8rem; font-weight: 400; padding-top: 0; padding-bottom: .3rem; border-top: none; }

body footer .copyright { background: #222222; padding: 1rem 50px; color: #ffffff; display: flex; justify-content: space-between; align-items: center; }

body footer .copyright .footer-sub-nav { display: flex; align-items: center; }

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 .table th { padding: 1.3rem 2rem; border-top: 0; border-bottom: 1px solid #dee2e6; font-size: .9rem; width: 28%; }

body .table td { padding: 1.3rem 1rem; border-top: 0; border-bottom: 1px solid #dee2e6; font-size: .9rem; }

body .table td p span { font-weight: bold; }

body .table.table_2 td, body .table.table_2 th { border: 1px solid #a9c392; }

body .table.table_2 td a, body .table.table_2 th a { color: #2540A2; text-decoration: underline; }

body .table.table_2 td a:hover, body .table.table_2 th a:hover { text-decoration: none; }

body .table.table_2 thead, body .table.table_2 tbody { border: solid 2px #a9c392; }

body .nav-tabs { border-color: #2540A2; }

body .nav-tabs .nav-link { border: solid 1px #2540A2; color: #2540A2; font-weight: bold; font-size: 1.2rem; }

body .nav-tabs .active { background: #2540A2; color: #ffffff; }

body .box_list { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: flex-start; align-items: stretch; width: 100%; }

body .box_list .arrow_box { position: relative; }

body .box_list .arrow_box i { position: absolute; top: 50%; right: 5%; transform: translate(0, -50%); }

body .box_list .box_list_overlay { display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; position: absolute; top: 0; left: 0; right: 0; margin: auto; height: 100%; background: rgba(0, 0, 0, 0.5); padding: 2.5rem; color: #ffffff; }

body .box_list .box_list_overlay .ttl { font-weight: bold; font-size: 1.8rem; background: url("../img/arrow.png") left bottom no-repeat; padding-bottom: .5rem; margin-bottom: 1.5rem; }

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

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

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

body .box_list.box_2 .box_item_1 { width: 60%; }

body .box_list.box_2 .box_item_2 { padding: 1rem 2rem; width: 40%; }

body .box_list.box_3 > * { width: calc(33.3333% - (3rem/3)); margin-left: 1.5rem; }

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

body .box_list.box_3 > *:nth-child(n+4) { margin-top: 2rem; }

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

body .box_list.box_4 > * { width: calc(25% - (4.5rem/4)); margin-left: 1.5rem; }

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

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

body .box_list.box_6 > * { width: calc(16.6666% - (7.5rem/6)); margin-left: 1.5rem; }

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

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

body .box-1col.box-1col-01 { display: flex; flex-wrap: wrap; flex-direction: row-reverse; justify-content: space-between; align-items: stretch; position: relative; max-width: 920px; margin: 0 auto; }

body .box-1col.box-1col-01.reverse { flex-direction: row; }

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

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

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

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

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

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: 40%; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 4rem 0; padding-right: 3rem; }

body .box-1col.box-1col-01 .text h4 { margin-bottom: 2.5rem; font-size: 1.2rem; line-height: 1.6; }

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

body .box-1col.box-1col-02 { display: flex; flex-wrap: wrap; flex-direction: row-reverse; justify-content: space-between; align-items: stretch; }

body .box-1col.box-1col-02 .thumb { width: 30%; }

body .box-1col.box-1col-02 .thumb img { display: block; width: 100%; aspect-ratio: 350/420; object-fit: cover; }

body .box-1col.box-1col-02 .text { width: 70%; padding-right: 10%; font-size: .9rem; }

body .box-1col.box-1col-03 { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: stretch; border-bottom: 1px solid #D9D9D9; padding: 3rem 0; }

body .box-1col.box-1col-03.reverse { flex-direction: row-reverse; }

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

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

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

body .box-1col.box-1col-03 .text { width: 50%; padding-left: 6%; font-size: .9rem; }

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

body .text-box-wrap.text-flex-box { display: flex; justify-content: space-between; padding-bottom: 3rem; }

body .text-box-wrap.text-flex-box > * { width: calc(100% / 2); }

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

body .text-box-wrap .thumb-area img { display: block; width: 100%; }

body .image-box-wrap img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }

body .text-link-list { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: center; }

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

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

body .text-link-list li .ttl { width: 50%; font-size: .9rem; 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: .9rem; 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: 16px; height: 16px; margin-left: .5rem; }

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

body hr { display: block; border-top: 1px solid #d2d2d2; }

body .maker-title { padding: 1em 0; font-size: 1.2rem; font-weight: bold; color: #EE4328; }

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

body .maker-list li { display: block; width: 23.5%; margin-right: 2%; margin-bottom: 2%; padding: 1rem; background-color: #F8F9F9; color: black; font-size: .7rem; font-weight: bold; border-radius: 0.5rem; }

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

body .history-list-wrap { position: relative; }

body .history-list-wrap .history-slider-list { position: relative; display: flex; margin-bottom: 5rem; padding-bottom: 5rem; }

body .history-list-wrap .history-slider-list .list-item { background: white; border-radius: 10px; padding: 1.5rem; margin: 0 1rem; }

body .history-list-wrap .history-slider-list .list-item .num { color: #EE4328; font-weight: 600; padding-bottom: .5rem; }

body .history-list-wrap .history-slider-list .list-item .num span { color: #434343; font-size: .8rem; margin-left: 1rem; }

body .history-list-wrap .history-slider-list .list-item .text { font-size: .9rem; }

body .history-list-wrap .history-slider-list .slick-num { line-height: 2; position: absolute; bottom: 5%; left: 50%; transform: translateX(-50%); height: auto; text-align: center; }

body .history-list-wrap .slick-nav-arrows { position: absolute; bottom: 3%; left: 50%; transform: translateX(-50%); height: 50px; }

body .history-list-wrap .slick-arrow { display: inline-flex; width: 100%; height: 50px; align-items: center; justify-content: center; }

body .history-list-wrap .slick-arrow:before { content: "" !important; width: 50px; height: 50px; position: absolute; top: 0; left: 0; }

body .history-list-wrap .slick-prev:before { background-image: url(../img/slider_arrow_prev.svg); background-size: contain; background-repeat: no-repeat; left: -100px; }

body .history-list-wrap .slick-next:before { background-image: url(../img/slider_arrow_next.svg); background-size: contain; background-repeat: no-repeat; right: -100px; left: auto; }

body .machine-slider-wrap.slick-slider { margin-bottom: 80px; }

body .machine-slider-wrap .slick-item { margin-right: 1rem; margin-left: 1rem; }

body .machine-slider-wrap .slick-item img { display: block; width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 10px; }

body .machine-slider-wrap .slick-nav-arrows { position: absolute; bottom: 3%; left: 50%; transform: translateX(-50%); height: 50px; }

body .machine-slider-wrap .slick-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 75px; height: 75px; z-index: 3; }

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

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

body .machine-slider-wrap .slick-dots { bottom: -55px; }

body .machine-slider-wrap .slick-dots li { width: 30px; height: 30px; }

body .machine-slider-wrap .slick-dots li button::before { font-size: 16px; }

body .machine-slider-wrap .slick-dots li.slick-active button:before { color: #EE4328; }

body .more_link { display: flex; flex-wrap: row; flex-direction: nowrap; justify-content: center; align-items: center; }

body .more_link a { padding: 1rem; color: #ffffff; background-color: #2540A2; border-radius: 10px; transition: .2s; letter-spacing: .2rem; width: 350px; }

body .more_link.main a { color: #ffffff; background-color: #2540A2; border: 1px solid #2540A2; }

body .more_link.main a:hover { color: #2540A2; background-color: #ffffff; }

body .more_link.clear a { background: 0; border: 1px solid #ffffff; }

body .more_link.clear a:hover { color: #2540A2; background-color: #ffffff; }

body .more_link.clear_2 a { background: 0; border: 1px solid #2540A2; color: #2540A2; }

body .more_link.clear_2 a:hover { color: #ffffff; background-color: #2540A2; }

body .link-btn { width: 350px; }

body .link-btn.main-color a { display: block; background-color: #2540A2; border: 1px solid #2540A2; color: #fff; }

body .link-btn.main-color a:hover { background-color: #fff; color: #2540A2; }

body .link-btn.main-color a:hover::after { border-color: #2540A2; }

body .link-btn.main-color a::after { border-color: #fff; }

body .link-btn.reverse-color a { background-color: #fff; border: 1px solid #222222; color: #222222; }

body .link-btn.reverse-color a:hover { background-color: #222222; color: #fff; border-color: white; }

body .link-btn.reverse-color a:hover::after { border-color: #fff; }

body .link-btn a { display: block; transition: .3s; }

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

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 { content: ""; background-image: url(../img/icon_link_white.svg); background-position: center; background-repeat: no-repeat; background-size: 8px; background-color: #EE4328; width: 65px; height: 65px; border: 2px solid #EE4328; margin-left: 1rem; vertical-align: middle; line-height: 1; display: inline-block; border-radius: 100rem; color: #EE4328; }

body .btn-wrap.white a { color: white; }

body .btn-wrap.white.small a:after { background: white; color: #EE4328; }

body .btn-wrap.center { text-align: center; }

body .btn-wrap.right { text-align: right; margin-left: auto; }

body .accordion-wrap .card { margin-bottom: 2rem; padding: 0 2rem; border: 1px solid #D9D9D9 !important; border-radius: 10px !important; overflow: visible; }

body .accordion-wrap .card .card-header { background: white; margin-bottom: 1px; padding: 0; border-bottom: 1px solid transparent; /* デフォルトは非表示 */ }

body .accordion-wrap .card .card-header .btn-link { font-family: "Shippori Mincho", serif; position: relative; width: 100%; display: flex; align-items: center; color: #EE4328; font-size: 1rem; text-align: left; font-weight: 600; text-decoration: none; padding: 1.3rem 0; line-height: 1; }

body .accordion-wrap .card .card-header .btn-link:focus { box-shadow: none; }

body .accordion-wrap .card .card-header .btn-link::before, body .accordion-wrap .card .card-header .btn-link::after { content: ''; display: inline-block; width: 1rem; height: 2px; background-color: #EE4328; position: absolute; right: 0; top: 50%; transform: translateY(-50%); transition: transform 0.3s ease; }

body .accordion-wrap .card .card-header .btn-link::after { transform: translateY(-50%) rotate(90deg); }

body .accordion-wrap .card .card-header .btn-link.collapsed::before { opacity: 1; }

body .accordion-wrap .card .card-header .btn-link.collapsed::after { transform: translateY(-50%) rotate(90deg); }

body .accordion-wrap .card .card-header .btn-link:not(.collapsed)::before { opacity: 1; }

body .accordion-wrap .card .card-header .btn-link:not(.collapsed)::after { transform: translateY(-50%) rotate(0deg); }

body .accordion-wrap .card .card-header .btn:not(.collapsed) { border-bottom: 1px solid #D9D9D9; }

body .accordion-wrap .card .card-body { display: flex; align-items: flex-start; padding: 1rem 0 1.5rem; }

body .accordion-wrap .card .card-body .text img { display: block; width: 100%; margin: 0 auto; padding: 1rem 0; }

body .privacy-wrap .text-list { border-bottom: 1px solid #D9D9D9; padding: 3rem 0; }

body .privacy-wrap .text-list .contents_title .main { color: #EE4328; border-left: 2px solid #EE4328 !important; }

body .ot-list-wrap .text-list { border-bottom: 1px solid #D9D9D9; padding: 1.5rem 0; }

body .ot-list-wrap .text-list .contents_title { margin-bottom: 1.5rem !important; }

body .ot-list-wrap .text-list .contents_title .main { color: #2540A2; border-left: 2px solid #2540A2 !important; }

body .map { position: relative; width: 100%; padding-bottom: 56.25%; height: 0; overflow: hidden; }

body .map iframe, body .map object, body .map embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

body .base-map-wrap img { display: block; width: 100%; margin: 0 auto; }

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

body .base-tab-list li { width: calc(100% / 5 - 1rem); background: #222222; margin-right: 1rem; border-radius: 5px; text-align: center; }

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

body .base-tab-list li a { display: block; padding: 1rem 0; font-size: .9rem; font-weight: 500; color: white; transition: all .3s; }

body .base-tab-list li a:hover { opacity: .7; }

body .base-item { border-bottom: 1px solid #D9D9D9; padding-bottom: 3rem; margin-bottom: 3rem; }

body .ancor { overflow: visible; }

body .ancor a { display: block; padding-top: 10rem; margin-top: -10rem; }

body form .form_half { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: center; }

body form .form_half > div { width: calc(50% - .5rem); }

body form .form-control { border: none; background: white; border-radius: 0; padding: .8rem 1rem; height: auto; }

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

body form .form_item:last-child { border-bottom: solid 1px #e6e6e6; }

body form .radio-wrap { display: flex; }

body form .radio-wrap label { font-size: 1rem; margin-right: 1rem; }

body form label { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: flex-start; align-items: center; font-size: 16px; font-weight: bold; width: 100%; margin-bottom: .8rem; }

body form .error { margin-top: .8rem; }

body form input { font-size: 16px; }

body form input[type="submit"] { width: 350px; padding: 1rem; color: #ffffff; background-color: #222222; border-radius: 999px; border: solid 1px #222222; font-size: .9rem; }

body form input[type="submit"]:hover { background: #ffffff; color: #222222; }

body form .checkbox-consent { text-align: center; }

body form .checkbox-consent a { color: #2540A2; text-decoration: underline; }

body .modal { padding-right: 0px !important; }

body.modal-open { padding-right: 0px !important; }

body #page-top { display: none; /* 初期状態では非表示 */ position: fixed; bottom: 50px; right: 50px; /* ここにボタンのスタイルを追加 */ transition: opacity 0.5s ease-in-out; /* フェードイン/フェードアウトのエフェクト */ }

body #page-top a { display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: #EE4328; border-radius: 100rem; width: 80px; height: 80px; text-transform: uppercase; text-decoration: none; font-weight: 400; font-size: 12px; line-height: 16px; letter-spacing: 0.1em; transition: all 0.3s; }

body #page-top a::before { content: url(../img/aroow_top.svg); display: block; }

body #page-top a:hover { background: #222222; }

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

body #page-top.UpMove { animation: UpAnime 0.5s forwards; }

@keyframes UpAnime { from { opacity: 0;
				transform: translateY(100px); }
		to { opacity: 1;
				transform: translateY(0); } }

body #page-top.DownMove { animation: DownAnime 0.5s forwards; }

@keyframes DownAnime { from { opacity: 1;
				transform: translateY(0); }
		to { opacity: 1;
				transform: translateY(100px); } }

body .company-table { width: 100%; border-collapse: collapse; }

body .company-table td { padding: 0 16px; vertical-align: top; white-space: nowrap; border-bottom: 0; }
