@charset "UTF-8";
/******************************* Preface ***************************************/
a:hover { color: #00489E; }

/********************************* body ***************************************/
/********************************* body ***************************************/
body { /******************************** header **************************************/ /********************************  Main Content ******************************/ /***********************************  footer ********************************/ }

body header { position: relative; z-index: 999; position: fixed; width: 100%; top: 0; background: #ffffff; }

body header.scrolled { background-color: rgba(255, 255, 255, 0.7); transition: all linear .1s; }

body header .inner { position: relative; max-width: 1400px; margin: 0 auto; padding: 1rem 1rem; }

body header .inner .f-warp { display: flex; align-items: center; justify-content: space-between; }

body header .inner .f-warp .logo_area { display: flex; align-items: center; }

body header .inner .f-warp .logo_area .jr_logo { width: 75px; border-right: solid 1px #999; margin-right: 1.2rem; padding-right: 1.5rem; }

body header .inner .f-warp .logo_area .tach_logo { font-weight: bolder; font-size: 1.3rem; }

body header .inner .f-warp .swich { color: #E50012; margin-left: 2rem; }

body header .inner .f-warp .swich a { border: solid 1px #E50012; border-radius: 999px; padding: .3rem 1.7rem .4rem 1.7rem; transition: .3s; }

body header .inner .f-warp .swich a:hover { color: #fff; background: #00489E; border: solid 1px #00489E; }

@media screen and (min-width: 768px) and (max-width: 1080px) { body header .inner .f-warp .swich { margin-right: 4.5rem; margin-left: 0; } }

body header .inner .funa2_nav_wrap { display: flex; align-items: center; }

body header .inner .funa2_nav { display: flex; }

body header .inner .funa2_nav a { display: block; font-weight: bold; transition: .3s; margin-left: 1.7rem; padding-bottom: 3px; /* テキストと下線の間隔 */ background-image: linear-gradient(#00489E, #00489E); background-repeat: no-repeat; background-position: bottom right; background-size: 0 1px; transition: background-size 0.3s; }

body header .inner .funa2_nav a:hover { background-position: bottom left; /* 下線のホバー時位置 */ background-size: 100% 1px; /* 下線の横幅を100%にする */ }

body header .inner .menu-wrapper { display: none; }

@media screen and (min-width: 768px) and (max-width: 1080px) { body header .inner .funa2_nav { display: none; }
		body header .inner .menu-wrapper { display: block; }
		body header .inner .menu-wrapper .gnav { position: fixed; top: 0; right: -100%; bottom: 0; width: 100%; padding-top: 5rem; background: #fff; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: all .5s; opacity: 0; z-index: -1; }
		body header .inner .menu-wrapper .gnav .gnav_inr { width: 100%; height: 100%; background: #00489E; }
		body header .inner .menu-wrapper .gnav .gnav_inr .menu-container { padding: 0 1.5rem; }
		body header .inner .menu-wrapper .gnav .gnav_inr .menu-container .menu li { width: 100%; border-bottom: solid 1px #fff; position: relative; }
		body header .inner .menu-wrapper .gnav .gnav_inr .menu-container .menu li:last-of-type { border-bottom: 0; }
		body header .inner .menu-wrapper .gnav .gnav_inr .menu-container .menu li a { display: block; color: #fff; padding: 1.5rem 3rem 1.5rem 1rem; transition: .3s; }
		body header .inner .menu-wrapper .gnav .gnav_inr .menu-container .menu li::after { content: ''; display: inline-block; width: 16px; height: 16px; background: url("../img/nav_arrow.png") no-repeat center center; background-size: contain; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); }
		body header .inner .menu-wrapper .toggle-btn { position: absolute; top: 50%; right: 1rem; width: 45px; height: 45px; transition: all .5s; cursor: pointer; z-index: 999; transform: translateY(-50%); background: #00489E; border-radius: 999px; }
		body header .inner .menu-wrapper .toggle-btn span { display: block; position: absolute; left: 0; width: 20px; height: 2px; background-color: #fff; transition: all .5s; }
		body header .inner .menu-wrapper .toggle-btn span:nth-child(1) { top: 15px; left: 0; right: 0; margin: 0 auto; }
		body header .inner .menu-wrapper .toggle-btn span:nth-child(2) { top: 22px; left: 0; right: 0; margin: 0 auto; }
		body header .inner .menu-wrapper .toggle-btn span:nth-child(3) { bottom: 14px; left: 0; right: 0; margin: 0 auto; }
		body header .inner .menu-wrapper.menu-open .gnav { top: 0; right: 0; opacity: 1; }
		body header .inner .menu-wrapper.menu-open .toggle-btn { margin-top: 0; }
		body header .inner .menu-wrapper.menu-open .toggle-btn:hover span { background-color: #fff; }
		body header .inner .menu-wrapper.menu-open .toggle-btn span { background-color: #fff; }
		body header .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(1) { -webkit-transform: translateY(6px) rotate(-315deg); transform: translateY(6px) rotate(-315deg); }
		body header .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(2) { opacity: 0; }
		body header .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(3) { -webkit-transform: translateY(-8px) rotate(315deg); transform: translateY(-8px) rotate(315deg); } }

body .main_vi { background: url("../img/mv_pc.png"); background-size: cover; width: 100%; }

body .main_vi .main_vi_inner { display: flex; justify-content: center; align-items: center; padding: 2rem 2rem; }

body .main_vi .sub { margin-left: 3rem; }

body .content-wrap { padding: 4rem 1.5rem; /* ボタンを完全に丸くして見た目をドットに */ /* アクティブなドットを赤に */ }

body .content-wrap .inner.inner-l { width: 100%; max-width: 1180px; margin: 0 auto; }

body .content-wrap .inner.inner-m { width: 100%; max-width: 920px; margin: 0 auto; }

body .content-wrap .inner.inner-s { width: 100%; max-width: 840px; margin: 0 auto; }

body .content-wrap h1.content-title, body .content-wrap h2.content-title, body .content-wrap h3.content-title, body .content-wrap h4.content-title, body .content-wrap h5.content-title, body .content-wrap h6.content-title { margin-bottom: 2rem; }

body .content-wrap h1.content-title.content-title-01, body .content-wrap h2.content-title.content-title-01, body .content-wrap h3.content-title.content-title-01, body .content-wrap h4.content-title.content-title-01, body .content-wrap h5.content-title.content-title-01, body .content-wrap h6.content-title.content-title-01 { line-height: 1.6; }

body .content-wrap h1.content-title.content-title-01 span, body .content-wrap h2.content-title.content-title-01 span, body .content-wrap h3.content-title.content-title-01 span, body .content-wrap h4.content-title.content-title-01 span, body .content-wrap h5.content-title.content-title-01 span, body .content-wrap h6.content-title.content-title-01 span { display: block; }

body .content-wrap h1.content-title.content-title-01 span.jp, body .content-wrap h2.content-title.content-title-01 span.jp, body .content-wrap h3.content-title.content-title-01 span.jp, body .content-wrap h4.content-title.content-title-01 span.jp, body .content-wrap h5.content-title.content-title-01 span.jp, body .content-wrap h6.content-title.content-title-01 span.jp { font-size: 1.8rem; font-weight: bold; margin-bottom: .6rem; }

body .content-wrap h1.content-title.content-title-01 span.en, body .content-wrap h2.content-title.content-title-01 span.en, body .content-wrap h3.content-title.content-title-01 span.en, body .content-wrap h4.content-title.content-title-01 span.en, body .content-wrap h5.content-title.content-title-01 span.en, body .content-wrap h6.content-title.content-title-01 span.en { font-weight: bold; }

body .content-wrap .slick-dots { text-align: center; margin-top: 0; padding: 0; }

body .content-wrap .slick-dots li { display: inline-block; margin: 0 .5rem; }

body .content-wrap .slick-dots li button { width: 10px; height: 10px; border-radius: 50%; background-color: #bbb; /* グレー */ border: none; padding: 0; cursor: pointer; font-size: 0; /* 数字を消す */ transition: background-color 0.3s ease; }

body .content-wrap .slick-dots li.slick-active button { background-color: #00489E; }

body .content-wrap.content-wrap-news .inner { display: flex; align-items: center; border: solid 1px #D9D9D9; padding: .5rem 2rem .5rem 2rem; border-radius: 10px; }

body .content-wrap.content-wrap-news .inner .news-title { width: 20%; font-weight: bold; font-size: 1.5rem; }

body .content-wrap.content-wrap-news .inner .news-list { width: 80%; }

body .content-wrap.content-wrap-news .inner .news-list .news-item { border-bottom: solid 1px #D9D9D9; }

body .content-wrap.content-wrap-news .inner .news-list .news-item:last-of-type { border-bottom: 0; }

body .content-wrap.content-wrap-news .inner .news-list .news-item a { display: flex; align-items: center; position: relative; padding: 1.3rem 5rem 1.3rem 1rem; }

body .content-wrap.content-wrap-news .inner .news-list .news-item a .date { font-size: .9rem; font-weight: 500; margin-right: 2rem; }

body .content-wrap.content-wrap-news .inner .news-list .news-item a .ttl { line-height: 1.6; font-weight: 500; }

body .content-wrap.content-wrap-news .inner .news-list .news-item a i { position: absolute; top: 50%; right: 1rem; transform: translateY(-50%); font-size: 1.2rem; }

body .content-wrap.content-wrap-intro .intro-top { display: flex; margin-bottom: 4rem; }

body .content-wrap.content-wrap-intro .intro-top .mark { width: 26%; }

body .content-wrap.content-wrap-intro .intro-top .copy { width: 74%; margin-left: 4rem; }

body .content-wrap.content-wrap-intro .intro-top .copy h4 { font-size: 1.8rem; font-weight: bolder; margin-bottom: .5rem; }

body .content-wrap.content-wrap-intro .intro-bottom { display: flex; margin-top: 4rem; }

body .content-wrap.content-wrap-intro .intro-bottom .thm { width: 45%; }

body .content-wrap.content-wrap-intro .intro-bottom .copy { width: 55%; margin-right: 4rem; }

body .content-wrap.content-wrap-intro .intro-bottom .copy h4 { font-size: 1.8rem; font-weight: bolder; margin-bottom: .5rem; }

body .content-wrap.content-wrap-howto .howto01 { padding: 3.5rem 0; }

body .content-wrap.content-wrap-howto .caution { font-weight: bold; font-size: 1.2rem; margin-bottom: 1.5rem; }

body .content-wrap.content-wrap-history .history_head { display: flex; border-radius: 10px; margin-bottom: 3.5rem; padding: 2.5rem; }

body .content-wrap.content-wrap-history .history_head .history_txt { width: 76%; margin-right: 2rem; }

body .content-wrap.content-wrap-history .history_head .history_txt .caution { font-size: .85rem; margin-top: 1.3rem; }

body .content-wrap.content-wrap-history .history_head .qr { width: 24%; line-height: 1.7; }

body .content-wrap.content-wrap-history .history_head .qr .txt { font-weight: bold; font-size: .9rem; margin-top: 1rem; }

body .content-wrap.content-wrap-history .history_bottom .history_list { display: flex; align-items: stretch; }

body .content-wrap.content-wrap-history .history_bottom .history_list .history-item { width: 30%; }

body .content-wrap.content-wrap-history .history_bottom .history_list .history-item .num { font-size: 2.2rem; line-height: 1.6; margin-top: .8rem; }

body .content-wrap.content-wrap-history .history_bottom .history_list .history-item .txt { font-size: .9rem; }

body .content-wrap.content-wrap-history .history_bottom .history_list .history-ar { display: flex; align-items: center; transform: translateY(-12%); width: 5%; padding: 0 1.6%; }

body .content-wrap.content-wrap-usecase .usecase_area { border-radius: 10px; overflow: hidden; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; }

body .content-wrap.content-wrap-usecase .usecase_area .usecase_area_ttl { text-align: center; color: #fff; background: #00489E; font-weight: bold; font-size: 1.4rem; padding: 1rem 0; }

body .content-wrap.content-wrap-usecase .usecase_area .usecase_area_ttl span { font-size: 1.2rem; margin-left: 2rem; }

body .content-wrap.content-wrap-usecase .usecase_area .usecase_area_map { background: #fff; padding: 2rem; }

body .content-wrap.content-wrap-usecase .use-slider { position: relative; }

body .content-wrap.content-wrap-usecase .use-slider .slick-item { margin: 0 .4rem; }

body .content-wrap.content-wrap-usecase .use-slider .slick-arrow { max-width: 70px; width: 1.5%; position: absolute; top: 50%; transform: translateY(-50%); z-index: 100; }

body .content-wrap.content-wrap-usecase .use-slider .slick-arrow.prev { left: 17%; }

body .content-wrap.content-wrap-usecase .use-slider .slick-arrow.next { right: 17%; }

body .content-wrap.content-wrap-usecase .area-caution { display: flex; align-items: center; background: #F6F7F9; border-radius: 10px; padding: 1rem 2rem; max-width: 960px; margin: 2rem auto 4rem auto; }

body .content-wrap.content-wrap-usecase .area-caution .ttl { width: 13%; font-weight: bold; font-size: 1.4rem; }

body .content-wrap.content-wrap-usecase .area-caution .area-caution-list { width: 87%; border-left: solid 1px #B0B0B0; padding-left: 2rem; }

body .content-wrap.content-wrap-usecase .area-caution .area-caution-list li { font-size: .9rem; padding-left: 1rem; text-indent: -1rem; }

body .content-wrap.content-wrap-usecase .new-area-ttl { cursor: pointer; text-align: center; color: #fff; background: #00489E; font-weight: bold; font-size: 1.5rem; padding: 1rem 0 .5rem 0; border-radius: 10px 10px 0 0; position: relative; /* 矢印 */ }

body .content-wrap.content-wrap-usecase .new-area-ttl::after { content: ""; position: absolute; right: 3rem; top: 50%; width: 15px; height: 15px; border-right: 3px solid #fff; border-bottom: 3px solid #fff; transform: translateY(-50%) rotate(45deg); /* 開いたとき */ }

body .content-wrap.content-wrap-usecase .new-area-ttl.open::after { transform: translateY(0%) rotate(225deg); }

body .content-wrap.content-wrap-usecase .new-area { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; border-radius: 0 0 10px 10px; border: solid 5px #00489E; }

body .content-wrap.content-wrap-usecase .new-area .new-map { margin: .3rem 0 1rem 0; }

body .content-wrap.content-wrap-usecase .new-area .new-area-inr { padding: 1.5rem 2rem 3rem 2rem; }

body .content-wrap.content-wrap-usecase .new-area .ttl { font-size: 2.5rem; font-weight: bold; }

body .content-wrap.content-wrap-usecase .new-area .txt { max-width: 920px; margin: 0 auto; font-size: .9rem; }

body .content-wrap.content-wrap-usecase .new-area.open { display: block; }

body .content-wrap.content-wrap-info { padding-top: 2.5rem; padding-bottom: 2.5rem; }

body .content-wrap.content-wrap-info .inner .info_list { display: flex; justify-content: space-between; }

body .content-wrap.content-wrap-info .inner .info_list .info_item { width: 49%; }

body .content-wrap.content-wrap-info .inner .info_list .info_item a { display: block; position: relative; padding: 1rem 1.5rem; border: solid 2px #222; border-radius: 8px; transition: all .3s; }

body .content-wrap.content-wrap-info .inner .info_list .info_item a .ttl span { display: block; line-height: 1.7; }

body .content-wrap.content-wrap-info .inner .info_list .info_item a .ttl span.jp { font-size: 1.2rem; font-weight: bold; }

body .content-wrap.content-wrap-info .inner .info_list .info_item a .ttl span.en { color: #00489E; font-size: .95rem; }

body .content-wrap.content-wrap-info .inner .info_list .info_item a i { position: absolute; font-size: 1.2rem; top: 50%; right: 1.5rem; color: #00489E; transform: translateY(-50%); }

body .content-wrap.content-wrap-info .inner .info_list .info_item a:hover { background: #00489E; color: #fff; }

body .content-wrap.content-wrap-info .inner .info_list .info_item a:hover .ttl span.en { color: #fff; }

body .content-wrap.content-wrap-info .inner .info_list .info_item a:hover i { color: #fff; }

body .content-wrap.content-wrap-main .main_canvas { padding: 1.5rem; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr { padding: 1.5rem 0; border-radius: 10px; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .tab-content-inr { max-width: 1100px; margin: 0 auto; padding: 4rem 0; }

@media screen and (min-width: 768px) and (max-width: 1180px) { body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .tab-content-inr { padding: 3rem 1.5rem; } }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .tab-content-inr .service_ttl { max-width: 730px; margin: 0 auto; text-align: center; font-weight: bold; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .tab-content-inr .service_ttl .catch { font-size: 1.4rem; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .tab-content-inr .service_ttl .logo.logo_hayabin { width: 51%; margin: 1rem auto 1.5rem auto; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .tab-content-inr .service_ttl .txt { text-align: left; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap { background: #F6F7F9; border-radius: 10px; overflow: hidden; padding: 0 1.5rem; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .ordermade_service { width: 100%; line-height: 1.6; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .ordermade_service tbody td { width: 50%; padding: 1.5rem; background: #F6F7F9; text-align: center; vertical-align: middle; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .ordermade_service tbody td.ordermade_head .ordermade_head_ttl { font-weight: bold; font-size: 1.5rem; padding: 1rem 0; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .ordermade_service tbody td.ordermade_head .ordermade_head_sub { font-weight: bold; font-size: 1.1rem; margin-bottom: .7rem; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .ordermade_service tbody td.ordermade_head .ordermade_head_txt { text-align: left; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .ordermade_service tbody td.bl { border-left: 3px solid #fff; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .ordermade_service tbody td a { text-decoration: underline; color: #00489E; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .ordermade_service tbody .ttl { text-align: center; font-weight: bold; color: #00489E; background: #EAECF0; padding: 1rem; font-size: 1.1rem; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .caution { border-top: 1px solid #EAECF0; font-size: .85rem; padding: 1.5rem 0; margin-top: .5rem; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .ordermade_service_wrap .caution li { padding-left: 2.1rem; text-indent: -2.1rem; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider { position: relative; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .slick-item { margin: 0 .8rem; text-align: center; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .slick-item img { border-radius: 20px; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .slick-arrow { max-width: 70px; width: 6.5%; position: absolute; top: 35%; transform: translateY(-50%); z-index: 100; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .slick-arrow.prev { left: -2%; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .slick-arrow.next { right: -2%; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .ttl { margin-top: .5rem; line-height: 1.6; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .ttl span { display: block; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .ttl span.num { font-size: .9rem; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .ttl span.name { font-weight: bold; }

body .content-wrap.content-wrap-main .main_canvas .main_canvas_inr .tab-container .flow-slider .ttl span.caution { font-size: .9rem; }

body .content-wrap.content-wrap-main .mian_intro { position: relative; text-align: center; font-weight: bold; padding-top: 2rem; padding-bottom: 8rem; }

body .content-wrap.content-wrap-main .mian_intro .ttl { font-size: 1.8rem; margin-bottom: 1.5rem; }

body .content-wrap.content-wrap-main .mian_intro .txt { line-height: 1.6; }

body .content-wrap.content-wrap-main .mian_intro .bg { position: absolute; width: 6.8%; top: -35%; left: 50%; transform: translate(-50%, 50%); }

body .content-wrap.content-wrap-main .tab-buttons { display: flex; align-items: flex-end; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap { width: 50%; margin-right: 1.5rem; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap:nth-of-type(2n) { margin-right: 0; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cp-image { margin: 0 auto 1rem auto; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cp-image.cp-image-01 { width: 60%; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cp-image.cp-image-02 { width: 72%; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cp { font-size: 1rem; margin-bottom: .6rem; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cp i { color: #00489E; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .ttl { font-size: 1.6rem; margin-bottom: 1rem; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .ttl span { color: #00489E; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cat { display: flex; justify-content: center; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cat .cat-item { padding: .2rem 1rem; margin: 0 .3rem; border: solid 1px #222; text-align: center; border-radius: 999px; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cat .cat-item.cat-item-01 { background: #fff; color: #222; }

body .content-wrap.content-wrap-main .tab-buttons .btn-wrap .cat .cat-item.cat-item-02 { background: #222; color: #fff; }

body .content-wrap.content-wrap-main .tab-buttons .tab-button { width: 100%; cursor: pointer; border: none; transition: 0.3s; background: #EBEBEB; border-radius: 20px 20px 0 0; padding: 1rem 1rem 1.2rem 1rem; text-align: center; font-weight: bold; }

body .content-wrap.content-wrap-main .tab-button.active { background: #00489E; color: #fff; }

body .content-wrap.content-wrap-main .tab-button.active .cp i { color: #fff !important; }

body .content-wrap.content-wrap-main .tab-button.active .ttl span { color: #fff !important; }

body .content-wrap.content-wrap-main .tab-content { display: none; animation: fadeIn 0.5s ease-in-out; }

body .content-wrap.content-wrap-main .tab-content.active { display: block; }

@keyframes fadeIn { from { opacity: 0; }
		to { opacity: 1; } }

body .content-wrap.content-wrap-abintro { padding-bottom: 7.5rem; position: relative; }

body .content-wrap.content-wrap-abintro .icon { max-width: 100px; margin: 0 auto; }

body .content-wrap.content-wrap-abintro .txt { margin-top: 1.5rem; font-weight: bold; }

body .content-wrap.content-wrap-abintro .tsubame { padding-left: 2rem; width: 85%; position: absolute; bottom: 0; right: 0; max-width: 1520px; min-width: 1200px; opacity: 0; }

@media screen and (min-width: 768px) and (max-width: 1200px) { body .content-wrap.content-wrap-abintro .tsubame { width: 100%; min-width: auto; } }

body .content-wrap.content-wrap-abintro .tsubame-anime-about { animation: slide_tsubame_about .4s ease-out forwards; }

body .content-wrap.content-wrap-abservise .s-list .s-list-ttl { position: relative; font-weight: bold; text-align: center; font-size: 1.5rem; margin: 2rem 0; }

body .content-wrap.content-wrap-abservise .s-list .s-list-ttl.sc { margin-top: 5rem; }

body .content-wrap.content-wrap-abservise .s-list .s-list-ttl:before { content: ''; position: absolute; top: 48%; left: 0; right: 0; border-top: 1px solid #D9D9D9; }

body .content-wrap.content-wrap-abservise .s-list .s-list-ttl span { position: relative; display: inline-block; padding: 0 2rem; background-color: #F6F7F9; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item { margin-bottom: 2rem; max-width: 920px; background: #fff; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; margin: 0 auto 2rem auto; border-radius: 15px; overflow: hidden; transition: .2s; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link { position: relative; display: flex; align-items: center; padding: 1.5rem; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .thm_warp { width: 40%; padding-right: 3rem; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .txt_warp { width: 60%; border-left: solid 1px #D9D9D9; padding-left: 3rem; padding-right: 4rem; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .cat { display: flex; justify-content: center; margin-top: 1.5rem; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .cat .cat-item { padding: .1rem 1rem; margin: 0 .3rem; border: solid 1px #222; text-align: center; border-radius: 999px; font-size: .75rem; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .cat .cat-item.cat-item-01 { background: #fff; color: #222; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .cat .cat-item.cat-item-02 { background: #222; color: #fff; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .ttl { font-weight: bold; font-size: 1.5rem; margin-bottom: .5rem; line-height: 1.6; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .logo { width: 100%; margin: 0 auto; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .logo.hayabin { width: 65%; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .logo.plus { width: 85%; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .logo.urutora { width: 65%; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .txt { font-weight: bold; line-height: 1.6; margin-bottom: .5rem; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .dp { font-size: .9rem; line-height: 1.6; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link .arrow { position: absolute; width: 7%; top: 50%; right: 1%; transform: translateY(-50%); }

body .content-wrap.content-wrap-abservise .s-list .s-list-item .pc-link:hover { color: inherit; }

body .content-wrap.content-wrap-abservise .s-list .s-list-item:hover { transform: translateX(8px); color: inherit; }

body .content-wrap.content-wrap-abservise .end-txt { text-align: center; margin-top: 4rem; font-size: .9rem; }

body .content-wrap.content-wrap-recommend { padding-top: 0; }

body .content-wrap.content-wrap-recommend .recommend-list { display: flex; justify-content: center; max-width: 900px; margin: 0 auto; }

body .content-wrap.content-wrap-recommend .recommend-list li { width: 20%; margin-right: 1.5rem; }

body .content-wrap.content-wrap-recommend .recommend-list li:nth-of-type(5n) { margin-right: 0; }

body .content-wrap.content-wrap-recommend .logo { max-width: 350px; margin: 0 auto 1rem auto; }

body .content-wrap.content-wrap-recommend .ttl { text-align: center; font-weight: bold; font-size: 1.6rem; margin-bottom: 2rem; }

body .content-wrap.content-wrap-timesc .timesc-canvas { margin: 0 2rem; border-radius: 10px; padding: 4rem 1.5rem; }

body .content-wrap.content-wrap-timesc .timesc-canvas .ttl { text-align: center; font-weight: bold; font-size: 1.5rem; margin-bottom: 2rem; color: #fff; }

body .content-wrap.content-wrap-timesc .timesc-canvas .timesc { margin-bottom: 2.5rem; }

body .content-wrap.content-wrap-timesc .timesc-canvas .timesc-caution { background: rgba(0, 0, 0, 0.3); padding: 1.5rem 2rem; margin-bottom: 2rem; }

body .content-wrap.content-wrap-timesc .timesc-canvas .timesc-caution li { color: #fff; line-height: 1.8; padding-left: 1rem; text-indent: -1rem; }

body .content-wrap.content-wrap-timesc .timesc-canvas .end-txt { font-size: .85rem; text-align: right; color: #fff; }

body .content-wrap.content-wrap-map .map { max-width: 600px; margin: 2rem auto; }

body .content-wrap.content-wrap-map .box-txt { padding: 1.5rem; border: solid 1px #C8C8C8; border-radius: 10px; font-size: 1.2rem; font-weight: bold; }

body .content-wrap.content-wrap-map .box-txt a { color: #00489E; text-decoration: underline; }

body .content-wrap.content-wrap-sdg h3 { max-width: 500px; margin: 0 auto 1rem auto; }

body .content-wrap.content-wrap-sdg h4 { font-weight: bold; text-align: center; font-size: 1.5rem; margin-bottom: 2rem; }

body .content-wrap.content-wrap-sdg .sdg-list { display: flex; justify-content: center; max-width: 900px; margin: 0 auto; }

body .content-wrap.content-wrap-sdg .sdg-list li { border: solid 3px #00489E; border-radius: 20px; width: 25%; margin-right: 1.5rem; background: #fff; padding: 1rem; }

body .content-wrap.content-wrap-sdg .sdg-list li:nth-of-type(4n) { margin-right: 0; }

body .content-wrap.content-wrap-sdg .sdg-list li .ttl { font-size: 1.2rem; text-align: center; font-weight: bold; margin-bottom: .5rem; }

body .content-wrap.content-wrap-sdg .sdg-list li .txt { font-size: .85rem; line-height: 1.6; }

body .content-wrap.content-wrap-sdg .bg-box { margin-top: 4rem; border-radius: 20px; padding: 2rem; display: flex; }

body .content-wrap.content-wrap-sdg .bg-box .text-area { width: 35%; padding-right: 2rem; line-height: 1.6; }

body .content-wrap.content-wrap-sdg .bg-box .text-area .ttl { font-weight: bold; font-size: 1.4rem; margin-bottom: .5rem; }

body .content-wrap.content-wrap-sdg .bg-box .text-area .dp { font-size: .85rem; margin-bottom: 1rem; }

body .content-wrap.content-wrap-sdg .bg-box .thm-area { display: flex; width: 65%; }

body .content-wrap.content-wrap-sdg .bg-box .thm-area .thm { margin-right: 1.5rem; }

body .content-wrap.content-wrap-sdg .bg-box .thm-area .thm:nth-of-type(2n) { margin-right: 0; }

body .content-wrap.content-wrap-faq .faqcaution { font-size: .85rem; margin-top: 2.5rem; padding-left: 1rem; text-indent: -1rem; }

body .content-wrap .accordion_list .accordion-item { padding: 1rem 1.5rem; border-radius: 10px; margin-bottom: 1.8rem; box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; }

body .content-wrap .accordion_list .accordion-item:last-of-type { margin-bottom: 0; }

body .content-wrap .accordion_list .accordion-item .accordion-header { display: flex; justify-content: space-between; align-items: center; cursor: pointer; background: #fff; font-weight: bold; }

body .content-wrap .accordion_list .accordion-item .accordion-header .accordion-title { display: flex; align-items: flex-start; }

body .content-wrap .accordion_list .accordion-item .accordion-header .accordion-title img { width: 40px; margin-right: 1rem; margin-top: .2rem; }

body .content-wrap .accordion_list .accordion-item .accordion-header .accordion-title .ttl { width: 100%; font-weight: bold; font-size: 1.2rem; padding-right: 2rem; }

body .content-wrap .accordion_list .accordion-item .accordion-header .accordion-icon { font-size: 1.5rem; transition: transform 0.3s ease; }

body .content-wrap .accordion_list .accordion-item .accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }

body .content-wrap .accordion_list .accordion-item .accordion-content .content { padding-top: 1rem; }

body footer.footer { background: #00489E; padding: 1.5rem 0 1.2rem 0; }

body footer.footer .copyright { font-size: .85rem; color: #fff; font-weight: lighter; }

/*==================================================
　anime
==================================================*/
/* fadeUp */
.fadeIn { animation-name: fadeInAnime; animation-duration: 1.2s; animation-fill-mode: forwards; opacity: 0; }

.fadeUp { animation-name: fadeUpAnime; animation-duration: .8s; animation-fill-mode: forwards; opacity: 0; }

.fadeLeft { animation-name: fadeLeftAnime; animation-duration: 0.8s; animation-fill-mode: forwards; opacity: 0; }

.fadeRight { animation-name: fadeRightAnime; animation-duration: 0.8s; animation-fill-mode: forwards; opacity: 0; }

@keyframes fadeInAnime { from { opacity: 0; }
		to { opacity: 1; } }

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

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

@keyframes fadeRightAnime { from { opacity: 0;
				transform: translateX(-100px); }
		to { opacity: 1;
				transform: translateX(0); } }

@keyframes bounce { 0%, 100% { transform: translateY(0);
				/* 元の位置 */ }
		50% { transform: translateY(-10px);
				/* 上に移動 */ } }

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger, .fadeLeftTrigger, .fadeRightTrigger, .fadeTrigger { opacity: 0; }

#page-top { display: none; position: fixed; bottom: 50px; right: 50px; transition: opacity 0.5s ease-in-out; }

/*リンクの形状*/
#page-top a { display: flex; justify-content: center; align-items: center; background-color: #ffffff; border-radius: 100rem; width: 65px; height: 65px; text-transform: uppercase; text-decoration: none; font-size: 1.6rem; line-height: 2; transition: all 0.3s; font-weight: bold; padding-bottom: .4rem; border: solid 1px #222; }

#page-top a:hover { background: #00489E; color: #fff; border: solid 1px #00489E; }

/*リンクを右下に固定*/
#page-top { position: fixed; right: 40px; bottom: 80px; z-index: 2; opacity: 0; transform: translateY(100px); }

/*　上に上がる動き　*/
#page-top.UpMove { animation: UpAnime 0.5s forwards; }

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

/*　下に下がる動き　*/
#page-top.DownMove { animation: DownAnime 0.5s forwards; }

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