@charset "UTF-8";
/* CSS Document */
/*parts
=========================================== */
.slider01 { margin-bottom: 0 !important; }
.slider01 .slick-prev, .slider01 .slick-next { width: 40px; height: 40px; background: #04287E; border-radius: 50%; box-sizing: border-box; transition: 0.3s; z-index: 1; }
.slider01 .slick-prev::before, .slider01 .slick-prev::before, .slider01 .slick-next::before, .slider01 .slick-next::before { content: ""; display: block; width: 16px; height: 12px; background: url("../img/common/slide_arrow.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; transform: translate(0, -50%); opacity: 1; }
.slider01 .slick-prev:hover, .slider01 .slick-next:hover { background: #04287E; opacity: 0.7; }
.slider01 .slick-prev:focus, .slider01 .slick-next:focus { background: #04287E; }
.slider01 .slick-prev { left: -10px; }
.slider01 .slick-prev::before { right: 14px; transform: translate(0, -50%) scale(-1, 1); }
.slider01 .slick-next { right: -10px; }
.slider01 .slick-next::before { left: 14px; }

.info_cate { align-items: flex-start; margin-bottom: 5px; }
.info_cate .time { font-family: "Roboto Condensed"; font-size: 14px; margin: 0 12px 5px 0; }
.info_cate .cate-list { width: auto; margin-bottom: 5px; }
.info_cate .cate-list li { padding: 4px 20px; box-sizing: border-box; background: #F2157F; border-radius: 100px; font-size: 12px; line-height: 1.1; color: #FFFFFF; font-weight: 500; margin-right: 5px; }
.info_cate .cate-list li:last-child { margin-right: 0; }

.news01 { width: 260px; }
.news01 a { display: block; width: 100%; padding: 20px; box-sizing: border-box; background: #F8F8F8; border-radius: 10px; position: relative; }
.news01 a:hover { text-decoration: none; }
.news01 a:hover .img .in_img { transform: scale(1.1); }
.news01 a .img { width: 100%; height: 160px; border-radius: 5px; overflow: hidden; margin-bottom: 17px; }
.news01 a .img .in_img { width: 100%; height: 100%; transition: 0.3s; }
.news01 a .info_cate { margin-bottom: 7px; }
.news01 a .info_cate .cate-list { margin-bottom: 0; }
.news01 a .info_cate .cate-list li { font-size: 14px; margin-bottom: 5px; }
.news01 a h3 { font-weight: 400; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }

.top-news01 { width: 100%; }
.top-news01 a { display: block; }
.top-news01 a:hover { text-decoration: none; opacity: 0.7; }
.top-news01 a h3 { font-weight: 400; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.common_content01 { padding: 40px 40px 42px; box-sizing: border-box; background: #FFFFFF; border-radius: 10px; }
.common_content01 .box_in { justify-content: space-between; align-items: center; }
.common_content01 .box_in:hover { text-decoration: none; }
.common_content01 .box_in:hover .img img { transform: translate(-50%, -50%) scale(1.1); }
.common_content01 .box_in:hover h3 { color: #04287E; }
.common_content01 .box_in .img { display: block; width: 200px; height: 140px; border-radius: 6px; order: 1; overflow: hidden; position: relative; }
.common_content01 .box_in .img img { display: block; width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.3s; }
.common_content01 .box_in h3 { width: calc(100% - 200px); padding-left: 54px; box-sizing: border-box; font-size: 26px; font-weight: 700; position: relative; transition: 0.3s; }
.common_content01 .box_in h3 .arrow { display: block; width: 20px; height: 20px; border-radius: 50%; background-color: #04287E; background-image: url("../img/common/btn_arrow.svg"); background-repeat: no-repeat; background-position: top 7px left 7px; background-size: 7px; position: absolute; top: 50%; left: 20px; transform: translateY(-50%); }
.common_content01 p.content_text { margin-top: 30px; }

.common_list01 li, .common_list02 li { padding-left: 14px; box-sizing: border-box; line-height: 1.4; margin-bottom: 4px; position: relative; }
.common_list01 li:last-child, .common_list02 li:last-child { margin-bottom: 0; }
.common_list01 li::before, .common_list02 li::before { content: ""; display: block; width: 6px; height: 6px; border-radius: 50%; position: absolute; top: 8px; left: 0; }

.common_list01 li::before { background: #F2157F; }

.common_list02 li::before { background: #04287E; }

.wrap.twin { display: flex; justify-content: space-between; }
.wrap.twin div#two-main { width: 820px; }
.wrap.twin div#two-side { width: 230px; }
.wrap.twin div#two-side .side_box { margin-bottom: 40px; }
.wrap.twin div#two-side .side_box:last-child { margin-bottom: 0; }
.wrap.twin div#two-side .side_box .side-title { padding: 12px 0; box-sizing: border-box; background: #04287E; border-radius: 5px; line-height: 1; text-align: center; color: #FFFFFF; font-weight: 700; margin-bottom: 8px; }
.wrap.twin div#two-side .side_box .side-link > li { margin-bottom: 4px; }
.wrap.twin div#two-side .side_box .side-link > li:last-child { margin-bottom: 0; }
.wrap.twin div#two-side .side_box .side-link > li > a { display: block; padding: 16px 16px 17px 35px; box-sizing: border-box; background: #F3F6FF; border-radius: 5px; line-height: 1; font-weight: 500; position: relative; }
.wrap.twin div#two-side .side_box .side-link > li > a:hover { text-decoration: none; color: #04287E; opacity: 0.6; }
.wrap.twin div#two-side .side_box .side-link > li > a .arrow { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background-color: #04287E; background-image: url("../img/common/btn_arrow.svg"); background-repeat: no-repeat; background-position: center; background-size: 5px; position: absolute; top: 18px; left: 16px; }
.wrap.twin div#two-side .side_box .side-link > li.on_cat > a { color: #04287E; font-weight: 700; }
.wrap.twin div#two-side .side_box .side-inner select { width: 100%; height: 48px; box-sizing: border-box; padding: 7px 35px 7px 15px; font-size: 14px; line-height: 32px; font-weight: 500; border: 1px solid #D4D4D4; font-family: 'NotoSansJP'; background: url("../img/common/select_arrow.svg") no-repeat center right 15px, #FFFFFF; background-size: 14px; border-radius: 0; -webkit-appearance: none; appearance: none; cursor: pointer; color: #0E0E0E !important; }
.wrap.twin div#two-side .side_box .side-inner select option { color: #0E0E0E !important; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; width: 48px; height: 48px; background: #FFFFFF; border: 1px solid #04287E; border-radius: 50%; box-sizing: border-box; margin: 0 3px; text-decoration: none; font-size: 14px; font-weight: 700; color: #04287E; line-height: 46px; transition: 0.3s; }

.wp-pagenavi { text-align: center; margin-top: 60px; }
.wp-pagenavi a:hover, .wp-pagenavi span.current { background: #04287E; color: #FFFFFF; }
.wp-pagenavi a.page { position: relative; }
.wp-pagenavi span.extend { margin: 0; border: 0; background: transparent; }
.wp-pagenavi span.pages { display: none; }
.wp-pagenavi a.previouspostslink, .wp-pagenavi a.nextpostslink { position: relative; color: transparent; }
.wp-pagenavi a.previouspostslink:hover, .wp-pagenavi a.nextpostslink:hover { color: transparent; }
.wp-pagenavi a.previouspostslink:hover::before, .wp-pagenavi a.nextpostslink:hover::before { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(2deg) brightness(100%) contrast(107%); }
.wp-pagenavi a.previouspostslink::before, .wp-pagenavi a.nextpostslink::before { content: ""; width: 7px; height: 12px; background: url("../img/common/page_arrow01.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.wp-pagenavi a.previouspostslink::before { transform: translate(-50%, -50%) scale(-1, 1); }
.wp-pagenavi a.first, .wp-pagenavi a.last { position: relative; color: transparent; }
.wp-pagenavi a.first:hover, .wp-pagenavi a.last:hover { color: transparent; }
.wp-pagenavi a.first:hover::before, .wp-pagenavi a.last:hover::before { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(2deg) brightness(100%) contrast(107%); }
.wp-pagenavi a.first::before, .wp-pagenavi a.last::before { content: ""; width: 13px; height: 12px; background: url("../img/common/page_arrow02.svg") no-repeat center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.wp-pagenavi a.first::before { transform: translate(-50%, -50%) scale(-1, 1); }

.post-navigation { margin-top: 60px; }

.post-navigation ul { justify-content: center; align-items: center; position: relative; }

.post-navigation ul > li a { display: block; width: 260px; height: 48px; padding: 15px 20px 17px; box-sizing: border-box; background: #FFFFFF; border: 1px solid #B3B3B3; border-radius: 5px; text-align: center; }
.post-navigation ul > li a:focus, .post-navigation ul > li a:hover { text-decoration: none; background: #04287E; border: 1px solid #04287E; }
.post-navigation ul > li a:focus span, .post-navigation ul > li a:hover span { color: #FFFFFF; }
.post-navigation ul > li a:focus span::before, .post-navigation ul > li a:hover span::before { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(2deg) brightness(100%) contrast(107%); }
.post-navigation ul > li a span { display: block; width: 100px; box-sizing: border-box; font-size: 14px; font-weight: 700; line-height: 1; color: #04287E; position: relative; margin: 0 auto; }
.post-navigation ul > li a span::before { content: ""; display: block; width: 7px; height: 12px; background: url("../img/common/page_arrow01.svg") no-repeat center; background-size: contain; position: absolute; top: 2px; }

.post-navigation ul > li.prev a span { padding-left: 15px; }
.post-navigation ul > li.prev a span::before { left: 0; transform: scale(-1, 1); }

.post-navigation ul > li.next a span { padding-right: 15px; }
.post-navigation ul > li.next a span::before { right: 0; }

.post-navigation ul > li.blog-back { margin: 0 20px; }
.post-navigation ul > li.blog-back a { background: #04287E; border: 1px solid #04287E; }
.post-navigation ul > li.blog-back a span { color: #FFFFFF; }
.post-navigation ul > li.blog-back a span::before { display: none; }
.post-navigation ul > li.blog-back a:focus, .post-navigation ul > li.blog-back a:hover { background: #FFFFFF; border: 1px solid #B3B3B3; }
.post-navigation ul > li.blog-back a:focus span, .post-navigation ul > li.blog-back a:hover span { color: #04287E; }

.post-navigation ul > li.kara { opacity: 0; pointer-events: none; }

/*TOPページ　p01
=========================================== */
#topbox01 { padding: 120px 0 100px; margin-bottom: 20px; position: relative; }
#topbox01::before { content: ""; display: block; width: calc(100% - 40px); height: 580px; background: #F6F6F6; border-radius: 16px; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
#topbox01 .title01 { display: block; margin-bottom: 120px; }
#topbox01 .title01 .en { display: block; margin: 0 0 10px 0; }
#topbox01 .title01 .ja { display: block; }
#topbox01 .text_box { width: 560px; }
#topbox01 .text_box p { margin-bottom: 30px; }
#topbox01 .text_box p:last-child { margin-bottom: 0; }
#topbox01 .img { width: 450px; position: absolute; top: 20px; right: 0; }

#topbox02 { padding: 100px 0; margin-bottom: 20px; position: relative; }
#topbox02::before { content: ""; display: block; width: calc(100% - 40px); height: 100%; background: #F3F6FF; border-radius: 16px; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
#topbox02 .business-list { justify-content: space-between; }
#topbox02 .business-list .common_content01 { width: 545px; }

.qa-list .qa01 { padding: 27px 0 30px; box-sizing: border-box; background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; }
.qa-list .qa01:first-child { background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px), repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left top, left bottom; background-repeat: repeat-x, repeat-x; background-size: 100% 1px, 100% 1px; }
.qa-list .qa01 .t_text { padding-right: 40px; box-sizing: border-box; position: relative; cursor: pointer; transition: 0.3s; }
.qa-list .qa01 .t_text:hover { opacity: 0.7; }
.qa-list .qa01 .t_text .midashi { padding-left: 26px; box-sizing: border-box; position: relative; }
.qa-list .qa01 .t_text .midashi .mark { display: block; font-size: 20px; position: absolute; top: -3px; left: 0; }
.qa-list .qa01 .t_text .icon { width: 20px; height: 20px; background: #F2157F; border-radius: 50%; position: absolute; top: 50%; right: 0; transform: translateY(-50%); transition: 0.3s; }
.qa-list .qa01 .t_text .icon::before { content: ""; display: block; width: 8px; height: 8px; background-image: url("../img/top/icon_open.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.3s; }
.qa-list .qa01 .t_text.on .icon { background: #FFF2F8; }
.qa-list .qa01 .t_text.on .icon::before { background-image: url("../img/top/icon_close.svg"); }
.qa-list .qa01 .c_text { display: none; padding: 15px 0 0 26px; box-sizing: border-box; position: relative; }
.qa-list .qa01 .c_text .mark { display: block; font-size: 20px; position: absolute; top: 13px; left: 0; }

#topbox03 { padding: 100px 0; position: relative; }
#topbox03::before { content: ""; display: block; width: calc(100% - 40px); height: 100%; background: #FFF2F8; border-radius: 16px; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
#topbox03 .cnt { justify-content: space-between; align-items: flex-start; }
#topbox03 .cnt .img_box { width: 420px; }
#topbox03 .cnt .recruitment-list { width: 660px; }
#topbox03 .cnt .recruitment-list .common_content01 { height: 310px; margin-bottom: 20px; }
#topbox03 .cnt .recruitment-list .common_content01:last-child { margin-bottom: 0; }
#topbox03 .cnt .recruitment-list .common_content01 .box_in .img { width: 240px; }
#topbox03 .cnt .recruitment-list .common_content01 .box_in h3 { width: calc(100% - 240px); }
#topbox03 .qa_box { padding: 60px 60px 54px; box-sizing: border-box; background: #FFFFFF; border-radius: 10px; border: 1px solid #F2157F; margin-top: 20px; position: relative; }
#topbox03 .qa_box .title02 { margin-bottom: 30px; }
#topbox03 .qa_box .btn02 { position: absolute; top: 76px; right: 60px; }

#topbox04 { padding: 100px 0; }
#topbox04 .cnt { justify-content: space-between; align-items: flex-start; }
#topbox04 .cnt .left { width: 660px; }
#topbox04 .cnt .left .news-list .top-news01 { padding: 30px 0; box-sizing: border-box; background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; }
#topbox04 .cnt .left .news-list .top-news01:first-child { background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px), repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left top, left bottom; background-repeat: repeat-x, repeat-x; background-size: 100% 1px, 100% 1px; }
#topbox04 .cnt .facebook_box { width: 380px; height: 640px; margin-top: 42px; background: #EFEFEF; }
#topbox04 .cnt .facebook_box .box_in { width: 100%; height: 100%; }
#topbox04 .cnt .facebook_box .box_in .fb-page, #topbox04 .cnt .facebook_box .box_in .fb-page span, #topbox04 .cnt .facebook_box .box_in .fb-page iframe { width: 100% !important; height: 100% !important; }
#topbox04 .cnt .facebook_box .box_in .fb-page iframe { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

/*事業案内　p02
=========================================== */
#p02box01 { padding-bottom: 60px; }
#p02box01 .title01 { margin-bottom: 24px; }
#p02box01 .point { font-size: 32px; line-height: 1; margin-bottom: 32px; }
#p02box01 .cnt { justify-content: space-between; align-items: flex-start; }
#p02box01 .cnt .text_box { width: 500px; }
#p02box01 .cnt .text_box .box_in { padding: 32px 40px; box-sizing: border-box; background: #F3F6FF; border-radius: 10px; margin-bottom: 10px; }
#p02box01 .cnt .text_box .box_in:last-child { margin-bottom: 0; }
#p02box01 .cnt .text_box .box_in h3 { padding-left: 28px; box-sizing: border-box; font-size: 23px; line-height: 1; margin-bottom: 17px; position: relative; }
#p02box01 .cnt .text_box .box_in h3 .num { display: block; font-size: 20px; font-weight: 500; position: absolute; top: 4px; left: 0; }
#p02box01 .cnt .text_box .box_in p.text { line-height: 1; }
#p02box01 .cnt .photo_box { width: 560px; }

#p02box02 { padding-top: 60px; background: #FFFFFF; }
#p02box02 .cnt { justify-content: space-between; align-items: flex-start; }
#p02box02 .cnt .text_box { width: 480px; }
#p02box02 .cnt .text_box .logo { width: 200px; margin-bottom: 30px; }
#p02box02 .cnt .text_box .point { display: flex; align-items: center; margin-bottom: 24px; }
#p02box02 .cnt .text_box .point .midashi { width: 96px; padding: 4px 0 8px; box-sizing: border-box; background: #F2157F; border-radius: 5px; font-size: 20px; line-height: 1; text-align: center; margin-right: 8px; }
#p02box02 .cnt .text_box .point .text { font-size: 22px; line-height: 1; }
#p02box02 .cnt .photo_box { width: 560px; }
#p02box02 .service-list { margin-top: 40px; }
#p02box02 .service-list .service01 { padding: 32px 40px 40px; box-sizing: border-box; background: #FFF2F8; border-radius: 10px; margin-bottom: 40px; }
#p02box02 .service-list .service01:last-child { margin-bottom: 0; }
#p02box02 .service-list .service_box-list .service_box { padding: 40px; box-sizing: border-box; background: #ffffff; border: 1px solid #F2157F; border-radius: 10px; margin-bottom: 24px; }
#p02box02 .service-list .service_box-list .service_box:last-child { margin-bottom: 0; }
#p02box02 .service-list .service_box-list .service_box .title_box { align-items: center; padding-bottom: 40px; background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; margin-bottom: 32px; }
#p02box02 .service-list .service_box-list .service_box .title_box h4 { font-size: 24px; line-height: 1; }
#p02box02 .service-list .service_box-list .service_box .title_box .num { display: inline-block; line-height: 1; margin-left: 16px; }
#p02box02 .service-list .service_box-list .service_box .box.flex { justify-content: space-between; align-items: flex-start; margin-top: 32px; }
#p02box02 .service-list .service_box-list .service_box .box.flex .img_box { width: 360px; }
#p02box02 .service-list .service_box-list .service_box .box.flex .text_box { width: 540px; }
#p02box02 .service-list .service_box-list .service_box .box.flex .text_box .box_in { padding: 24px; box-sizing: border-box; background: #F8F8F8; border-radius: 5px; margin-bottom: 8px; }
#p02box02 .service-list .service_box-list .service_box .box.flex .text_box .box_in:last-child { margin-bottom: 0; }
#p02box02 .service-list .service_box-list .service_box .box.flex .text_box .box_in h5 { font-size: 18px; line-height: 1; margin-bottom: 12px; }
#p02box02 .service-list .service_box-list .service_box .box.flex .text_box .box_in p.text { line-height: 1.4; }
#p02box02 .service-list .service_box-list .service_box .box.flex .text_box .sub_text { padding-left: 18px; box-sizing: border-box; font-size: 14px; line-height: 1.5; position: relative; margin-top: 16px; }
#p02box02 .service-list .service_box-list .service_box .box.flex .text_box .sub_text span { display: block; position: absolute; top: 0; left: 0; }
#p02box02 .service-list .service_box-list .service_box .box.flex .text_box .sub_text02 { font-size: 14px; line-height: 1.5; margin-top: 8px; }
#p02box02 .service-list .service02 { padding: 40px; box-sizing: border-box; background: #FDE5F0; border-radius: 10px; margin-top: 40px; }
#p02box02 .service-list .service02 .service_box-list .service_box .box.flex .text_box { width: 460px; }

#p02box03 { padding: 100px 0; background: #F6F6F6; }
#p02box03 .btn-list { justify-content: space-between; }
#p02box03 .btn-list .common_content01 { width: 540px; padding: 30px; }
#p02box03 .btn-list .common_content01 .box_in .img { width: 220px; height: 160px; }
#p02box03 .btn-list .common_content01 .box_in h3 { width: calc(100% - 220px); padding-left: 34px; }
#p02box03 .btn-list .common_content01 .box_in h3 .arrow { left: 0; }

/*会社案内・理念　p03
=========================================== */
#p03box01 .cnt { justify-content: space-between; align-items: flex-start; }
#p03box01 .cnt .company-table { width: 530px; }
#p03box01 .cnt .company-table tr { background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; }
#p03box01 .cnt .company-table tr:last-child { background-image: none; }
#p03box01 .cnt .company-table tr th, #p03box01 .cnt .company-table tr td { padding: 24px 0; box-sizing: border-box; line-height: 1.4; }
#p03box01 .cnt .company-table tr th { width: 100px; }

#p03box02 .cnt { justify-content: space-between; }
#p03box02 .cnt .text_box { width: 460px; }
#p03box02 .cnt .text_box .access-list .access01 { margin-bottom: 32px; }
#p03box02 .cnt .text_box .access-list .access01:last-child { margin-bottom: 0; }
#p03box02 .cnt .text_box .access-list .access01 h3 { padding-left: 28px; box-sizing: border-box; line-height: 1.8; position: relative; margin-bottom: 8px; }
#p03box02 .cnt .text_box .access-list .access01 h3 img { display: block; width: 24px; height: 24px; position: absolute; top: 3px; left: 0; }
#p03box02 .cnt .map_box { width: 580px; min-height: 340px; }
#p03box02 .cnt .map_box iframe { width: 100%; height: 100%; border-radius: 10px; overflow: hidden; }

#p03box03 .cnt { justify-content: space-between; align-items: flex-start; margin-bottom: 40px; }
#p03box03 .cnt .title01 { margin-bottom: 0; }
#p03box03 .cnt .point { width: 580px; font-size: 24px; }
#p03box03 .philosophy-list { justify-content: space-between; }
#p03box03 .philosophy-list .philosophy01 { width: 350px; padding: 32px; box-sizing: border-box; background: #FFF2F8; border-radius: 10px; }
#p03box03 .philosophy-list .philosophy01 h3 { padding-left: 28px; box-sizing: border-box; font-size: 24px; line-height: 1; margin-bottom: 18px; position: relative; }
#p03box03 .philosophy-list .philosophy01 h3 .num { display: block; font-size: 19px; position: absolute; top: 4px; left: 0; }

#p03box04 .wrap { padding-right: 500px; box-sizing: border-box; }
#p03box04 .img { width: 440px; position: absolute; top: 0; right: 0; }
#p03box04 .text_box p { margin-bottom: 26px; }
#p03box04 .text_box p:last-child { margin-bottom: 0; }
#p03box04 p.name { line-height: 20px; margin-top: 24px; }
#p03box04 p.name em { display: inline-block; font-size: 20px; margin-left: 8px; }

#p03box05 .box { margin-bottom: 100px; }
#p03box05 .box:last-child { margin-bottom: 0; }
#p03box05 .cnt { justify-content: space-between; }
#p03box05 .cnt .box_in { width: 540px; border-radius: 10px; }
#p03box05 .cnt .box_in h3 { padding: 20px 24px; box-sizing: border-box; border-radius: 10px 10px 0 0; font-size: 24px; line-height: 1; }
#p03box05 .cnt .box_in .text_box { padding: 32px 40px 40px; box-sizing: border-box; }
#p03box05 .cnt .box_in .text_box .list_box { justify-content: space-between; align-items: flex-start; margin-top: 24px; }
#p03box05 .cnt .box_in .text_box .list_box .common_list01, #p03box05 .cnt .box_in .text_box .list_box .common_list02 { width: 50%; }
#p03box05 .cnt .box_in.left { background: #FFF2F8; }
#p03box05 .cnt .box_in.left h3 { background: #F2157F; }
#p03box05 .cnt .box_in.right { background: #F3F6FF; }
#p03box05 .cnt .box_in.right h3 { background: #04287E; }
#p03box05 .history-list .history01 { align-items: flex-start; padding: 24px 0; box-sizing: border-box; background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; }
#p03box05 .history-list .history01:first-child { padding-top: 0; }
#p03box05 .history-list .history01:last-child { padding-bottom: 0; background-image: none; }
#p03box05 .history-list .history01 .day { width: 200px; align-items: center; margin-right: 40px; }
#p03box05 .history-list .history01 .day .year { display: flex; align-items: center; width: calc(100% - 40px); line-height: 32px; }
#p03box05 .history-list .history01 .day .year em { display: inline-block; font-size: 32px; margin-right: 16px; }
#p03box05 .history-list .history01 .day .month { width: 40px; }
#p03box05 .history-list .history01 .text { width: calc(100% - 240px); line-height: 2; }

/*お知らせ　p04
=========================================== */
#p04box01 .news-all-list .news01 { margin: 20px 20px 0 0; }
#p04box01 .news-all-list .news01:nth-child(-n+3) { margin-top: 0; }
#p04box01 .news-all-list .news01:nth-child(3n) { margin-right: 0; }
#p04box01 .news-all-list .news01 a { height: 100%; }

.edit-title01 { padding-left: 12px; box-sizing: border-box; font-size: 20px; line-height: 1.45; margin-bottom: 16px; position: relative; }
.edit-title01::before { content: ""; display: block; width: 4px; height: calc(100% - 8px); background: #F2157F; border-radius: 5px; position: absolute; top: 4px; left: 0; }

.edit-title02 { font-size: 16px; margin-bottom: 12px; }

#toc_container { background: transparent !important; border: 0 !important; padding: 0 !important; margin-bottom: 40px !important; width: 100% !important; font-size: 18px !important; box-sizing: border-box; }
#toc_container p.toc_title { text-align: left !important; padding: 0 0 0 12px !important; box-sizing: border-box; font-size: 20px; line-height: 1.45; color: #0E0E0E; margin: 0 0 16px !important; position: relative; }
#toc_container p.toc_title::before { content: ""; display: block; width: 4px; height: calc(100% - 8px); background: #F2157F; border-radius: 5px; position: absolute; top: 4px; left: 0; }
#toc_container ul.toc_list { margin-top: 0 !important; }
#toc_container ul.toc_list > li { padding: 19px 20px 18px; box-sizing: border-box; background: #FFF2F8 !important; border-radius: 5px; margin-bottom: 4px; }
#toc_container ul.toc_list > li:last-child { margin-bottom: 0; }
#toc_container ul.toc_list > li > a { display: block; padding-left: 32px; box-sizing: border-box; position: relative; font-size: 18px; font-weight: 700; line-height: 1.45; color: #0E0E0E; }
#toc_container ul.toc_list > li > a .toc_number { font-family: "Roboto Condensed"; font-size: 19px; line-height: 1; font-weight: 700; color: #F2157F; position: absolute; top: 4px; left: 0; }

#newsBox01 .thumbnail_img { width: 100%; margin-bottom: 40px; }
#newsBox01 .thumbnail_img img { display: block; border-radius: 10px; margin: 0 auto; }
#newsBox01 .blog-text p img { margin: 10px 0; }
#newsBox01 .keyword_box { padding: 40px; box-sizing: border-box; background: #FFF2F8; border-radius: 10px; margin-top: 40px; }
#newsBox01 .keyword_box .keyword-list li { margin: 8px 8px 0 0; }
#newsBox01 .keyword_box .keyword-list li a { display: inline-block; padding: 3px 11px; box-sizing: border-box; border: 1px solid #F2157F; border-radius: 100px; font-size: 14px; line-height: 1.1; font-weight: 500; color: #F2157F; position: relative; }
#newsBox01 .keyword_box .keyword-list li a:hover { text-decoration: none; background: #F2157F; color: #FFFFFF; }
#newsBox01 .keyword_box .keyword-list li a span { display: inline-block; margin-right: 2px; }
#newsBox01 .writer_box { margin-top: 40px; }
#newsBox01 .writer_box .info_box01 { justify-content: space-between; align-items: center; }
#newsBox01 .writer_box .info_box01 .img { width: 100px; height: 100px; border-radius: 50%; }
#newsBox01 .writer_box .info_box01 .box_in { width: calc(100% - 124px); }
#newsBox01 .writer_box .info_box01 .box_in .name { line-height: 1; }
#newsBox01 .writer_box .info_box01 .box_in .info { margin-top: 8px; }
#newsBox01 .writer_box .info_box01 .box_in .info span { display: inline-block; font-weight: 500; line-height: 1; color: #838383; }
#newsBox01 .writer_box .info_box01 .box_in .info span:last-child::after { display: none; }
#newsBox01 .writer_box .info_box01 .box_in .info span::after { content: "/"; margin: 0 4px; }
#newsBox01 .writer_box .info_box01 .box_in.full { width: 100%; }
#newsBox01 .writer_box .info_box02 { padding: 0 24px; box-sizing: border-box; background: #F8F8F8; border-radius: 5px; margin-top: 16px; }
#newsBox01 .writer_box .info_box02 .box_in { padding: 24px 0; box-sizing: border-box; background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; }
#newsBox01 .writer_box .info_box02 .box_in:last-child { background-image: none; }
#newsBox01 .writer_box .info_box02 .box_in .writer_title { line-height: 1; margin-bottom: 8px; }

/*スタッフ紹介　p06
=========================================== */
#p06box01 .staff-list .staff01 { padding-bottom: 40px; background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; margin-bottom: 40px; }
#p06box01 .staff-list .staff01:last-child { padding-bottom: 0; background-image: none; margin-bottom: 0; }
#p06box01 .staff-list .staff01 .cnt { justify-content: space-between; align-items: flex-start; }
#p06box01 .staff-list .staff01 .cnt .img { width: 280px; height: 200px; border-radius: 10px; }
#p06box01 .staff-list .staff01 .cnt .text_box { width: 780px; }
#p06box01 .staff-list .staff01 .cnt .text_box h2 { font-size: 24px; margin-bottom: 12px; }
#p06box01 .staff-list .staff01 .cnt .text_box p.info span { display: inline-block; }
#p06box01 .staff-list .staff01 .cnt .text_box p.info span::after { content: "/"; margin: 0 4px; }
#p06box01 .staff-list .staff01 .cnt .text_box p.info span:last-child::after { display: none; }
#p06box01 .staff-list .staff01 .cnt .text_box .info-list { margin-top: 18px; }
#p06box01 .staff-list .staff01 .cnt .text_box .info-list li { justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
#p06box01 .staff-list .staff01 .cnt .text_box .info-list li:last-child { margin-bottom: 0; }
#p06box01 .staff-list .staff01 .cnt .text_box .info-list li .midashi { width: 80px; padding: 2px 0 4px; box-sizing: border-box; background: #F2157F; border-radius: 100px; line-height: 1.1; }
#p06box01 .staff-list .staff01 .cnt .text_box .info-list li .text { width: calc(100% - 88px); line-height: 1.475; }
#p06box01 .staff-list .staff01 .cnt .text_box.full { width: 100%; }
#p06box01 .staff-list .staff01 .interview_box { border: 1px solid #FFFFFF; box-sizing: border-box; border-radius: 5px; overflow: hidden; margin-top: 24px; }
#p06box01 .staff-list .staff01 .interview_box .t_text { padding: 18px 60px 15px 23px; box-sizing: border-box; background: #FFF2F8; font-size: 19px; position: relative; cursor: pointer; transition: 0.3s; }
#p06box01 .staff-list .staff01 .interview_box .t_text:hover { opacity: 0.7; }
#p06box01 .staff-list .staff01 .interview_box .t_text .icon { width: 32px; height: 32px; background: #F2157F; border-radius: 50%; position: absolute; top: 50%; right: 23px; transform: translateY(-50%); transition: 0.3s; }
#p06box01 .staff-list .staff01 .interview_box .t_text .icon::before { content: ""; display: block; width: 13px; height: 13px; background-image: url("../img/top/icon_open.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.3s; filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(146deg) brightness(107%) contrast(101%); }
#p06box01 .staff-list .staff01 .interview_box .t_text.on .icon::before { background-image: url("../img/top/icon_close.svg"); }
#p06box01 .staff-list .staff01 .interview_box .c_text { display: none; padding: 32px 30px 40px; box-sizing: border-box; position: relative; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 { justify-content: space-between; align-items: flex-start; padding: 32px 0; box-sizing: border-box; background-image: repeating-linear-gradient(90deg, #F2157F, #F2157F 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01:first-child { padding-top: 0; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01:last-child { padding-bottom: 0; background-image: none; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 .text_box { width: 720px; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 .text_box h4.question, #p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 .text_box p.answer { padding-left: 26px; box-sizing: border-box; position: relative; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 .text_box h4.question .mark, #p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 .text_box p.answer .mark { display: block; font-size: 20px; position: absolute; top: -4px; left: 0; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 .text_box h4.question { margin-bottom: 18px; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 .text_box.full { width: 100%; }
#p06box01 .staff-list .staff01 .interview_box .c_text .interview-list .interview01 .img { width: 280px; height: 200px; border-radius: 10px; }
#p06box01 .staff-list .staff01 .interview_box:has(.t_text.on) { border: 1px solid #F8BCD9; }

#p06box02 { margin-bottom: 90px; }
#p06box02 .day-list .day01 { padding: 40px 24px 40px 40px; box-sizing: border-box; background: #FFFFFF; border-radius: 10px; margin-bottom: 40px; }
#p06box02 .day-list .day01:last-child { margin-bottom: 0; }
#p06box02 .day-list .day01 h3 { align-items: center; margin-bottom: 40px; }
#p06box02 .day-list .day01 h3 .midashi { width: 186px; padding: 7px 0 9px; box-sizing: border-box; background: #04287E; border-radius: 5px; line-height: 1; text-align: center; margin-right: 16px; }
#p06box02 .day-list .day01 h3 .text { font-size: 18px; }
#p06box02 .day-list .day01 .time-list > div.flex { justify-content: space-between; align-items: flex-start; margin-bottom: 16px; }
#p06box02 .day-list .day01 .time-list > div.flex:last-child { margin-bottom: 0; }
#p06box02 .day-list .day01 .time-list > div.flex p.time { width: 127px; padding-right: 70px; box-sizing: border-box; font-size: 24px; line-height: 1; position: relative; }
#p06box02 .day-list .day01 .time-list > div.flex p.time::after { content: ""; display: block; width: 40px; height: 2px; background-image: repeating-linear-gradient(90deg, #000000, #000000 2px, transparent 2px, transparent 7px); background-position: left top; background-repeat: repeat-x; background-size: 100% 2px; position: absolute; top: 50%; right: 16px; transform: translateY(-50%); }
#p06box02 .day-list .day01 .time-list > div.flex .text_box { width: calc(100% - 127px); line-height: 1.4; }
#p06box02 .day-list .day01 .time-list > div.flex .text_box p.sub_text { padding-left: 1em; text-indent: -1em; margin-top: 4px; }

/*採用情報　p07
=========================================== */
.page-recruit { overflow: visible; }
.page-recruit main { position: relative; }
.page-recruit main .section-bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.page-recruit main .section-bg .bg { position: absolute; left: 0; width: 100%; }
.page-recruit main .section-bg .bg.bg02 { background: #F3F6FF; }
.page-recruit main .section-bg .bg.bg04 { background: #F6F6F6; }
.page-recruit main .section-bg .bg.bg06 { background: #FFF2F8; }
.page-recruit main .page-inner { width: 1100px; margin: 0 auto; display: flex; justify-content: space-between; }
.page-recruit main .page-inner .anchor_box { width: 200px; padding: 60px 0 100px; box-sizing: border-box; position: relative; }
.page-recruit main .page-inner .anchor_box .anchor-link { position: sticky; top: 160px; left: 0; z-index: 2; }
.page-recruit main .page-inner .anchor_box .anchor-link li { margin-bottom: 4px; }
.page-recruit main .page-inner .anchor_box .anchor-link li:last-child { margin-bottom: 0; }
.page-recruit main .page-inner .anchor_box .anchor-link li > a { display: block; padding: 16px 35px 17px 16px; box-sizing: border-box; background: #FFFFFF; border: 1px solid #EAEAEA; border-radius: 5px; line-height: 1; font-weight: 500; position: relative; }
.page-recruit main .page-inner .anchor_box .anchor-link li > a:hover { text-decoration: none; color: #04287E; opacity: 0.6; }
.page-recruit main .page-inner .anchor_box .anchor-link li > a .arrow { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background-color: #04287E; background-image: url("../img/common/btn_arrow.svg"); background-repeat: no-repeat; background-position: top 5px left 5px; background-size: 5px; position: absolute; top: 50%; right: 16px; transform: translateY(-50%); }
.page-recruit main .page-inner .under-cont { width: calc(100% - 260px); }
.page-recruit main .page-inner .under-cont > section { background: transparent !important; position: relative; z-index: 1; }
.page-recruit main .page-inner .under-cont > section > .wrap { width: 100%; }

#p07box01 .title_box { justify-content: space-between; align-items: flex-start; margin-bottom: 40px; }
#p07box01 .title_box .title01 { width: 300px; margin-bottom: 0; }
#p07box01 .title_box .title01 .en { margin-left: 24px; }
#p07box01 .title_box .text01 { width: 500px; }
#p07box01 .work-list .work01 { justify-content: space-between; align-items: flex-start; padding: 16px 16px 16px 40px; box-sizing: border-box; background: #FFF2F8; border-radius: 10px; margin-bottom: 16px; }
#p07box01 .work-list .work01:last-child { margin-bottom: 0; }
#p07box01 .work-list .work01 .img_box { width: 300px; height: 220px; background: #FFFFFF; border-radius: 5px; position: relative; order: 1; }
#p07box01 .work-list .work01 .img_box img { display: block; width: auto; height: 180px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#p07box01 .work-list .work01 .text_box { width: 460px; margin-top: 24px; }
#p07box01 .work-list .work01 .text_box .edit-title01 { line-height: 1; margin-bottom: 20px; }
#p07box01 .work-list .work01 .text_box .edit-title01::before { height: calc(100% + 4px); top: 0; }
#p07box01 .work-list .work01 .text_box .sub_text { line-height: 1.4; font-weight: 500; margin-bottom: 16px; }
#p07box01 .work-list .work02 .img_box img { height: 200px; }

#p07box02 .environment-list .environment01 { justify-content: space-between; align-items: flex-start; margin-bottom: 40px; }
#p07box02 .environment-list .environment01:nth-child(2n) .text_box { order: 1; }
#p07box02 .environment-list .environment01:last-child { margin-bottom: 0; }
#p07box02 .environment-list .environment01 .text_box { width: 400px; }
#p07box02 .environment-list .environment01 .text_box h3 { font-size: 24px; line-height: 1.45; margin-bottom: 24px; }
#p07box02 .environment-list .environment01 .img_box { width: 400px; }
#p07box02 .point-list { margin-top: 80px; }
#p07box02 .point-list .point01 { padding: 24px 40px 32px; box-sizing: border-box; background: #FFFFFF; border-radius: 10px; margin-bottom: 10px; }
#p07box02 .point-list .point01:last-child { margin-bottom: 0; }
#p07box02 .point-list .point01 h3 { display: flex; align-items: center; margin-bottom: 24px; }
#p07box02 .point-list .point01 h3 .icon { display: block; width: 56px; height: 56px; background: #F8F8F8; border-radius: 50%; position: relative; margin-right: 16px; }
#p07box02 .point-list .point01 h3 .icon img { display: block; width: 32px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#p07box02 .point-list .point01 h3 .title { display: block; width: calc(100% - 72px); font-size: 24px; line-height: 1; }
#p07box02 .point-list .point01 .text-list { margin-top: 8px; }
#p07box02 .point-list .point01 .text-list li { line-height: 1.4; padding-left: 1em; text-indent: -1em; margin-bottom: 4px; }
#p07box02 .point-list .point01 .text-list li:last-child { margin-bottom: 0; }
#p07box02 .point-list .point01 p.bold { font-size: 18px; line-height: 1; margin-bottom: 12px; }

#p07box03 .data-list { justify-content: space-between; }
#p07box03 .data-list .data00 { width: 410px; padding: 40px; box-sizing: border-box; background: #FFF2F8; border-radius: 10px; margin: 20px 20px 0 0; }
#p07box03 .data-list .data00:nth-child(-n+2) { margin-top: 0; }
#p07box03 .data-list .data00:nth-child(2n) { margin-right: 0; }
#p07box03 .data-list .data00 h3 { font-size: 24px; line-height: 1; }
#p07box03 .data-list .data00 h3 .sub { display: block; font-size: 16px; line-height: 1.6; font-weight: 500; margin-top: 8px; }
#p07box03 .data-list .data00 .num00 { line-height: 1; }
#p07box03 .data-list .data00 .num00 em { display: inline-block; line-height: 1; font-weight: 500; margin-right: 4px; }
#p07box03 .data-list .data00 .num-list { margin-top: 10px; }
#p07box03 .data-list .data00 .num-list li { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; box-sizing: border-box; background-image: repeating-linear-gradient(90deg, #f2157f, #f2157f 2px, transparent 2px, transparent 10px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 2px; }
#p07box03 .data-list .data00 .num-list li:first-child { padding-top: 0; }
#p07box03 .data-list .data00 .num-list li:last-child { padding-bottom: 0; background-image: none; }
#p07box03 .data-list .data00 .num-list li .th { display: block; width: 100px; font-weight: 500; }
#p07box03 .data-list .data00 .num-list li .num00.num02 { display: block; width: calc(100% - 100px); text-align: right; }
#p07box03 .data-list .data00 .num-list li .num00.num02 em { font-size: 32px; }
#p07box03 .data-list .data01 .num00.num01 { font-size: 24px; text-align: center; margin-top: 60px; }
#p07box03 .data-list .data01 .num00.num01 em { font-size: 48px; }
#p07box03 .data-list .data04 .list_box { justify-content: space-between; margin-top: 16px; }
#p07box03 .data-list .data04 .list_box .num-list { width: 150px; margin-top: 0; }
#p07box03 .data-list .data04 .list_box .num-list li .th { width: 50px; }
#p07box03 .data-list .data04 .list_box .num-list li .num00.num02 { width: calc(100% - 50px); }

#p07box04 .cnt { padding-right: 440px; box-sizing: border-box; position: relative; }
#p07box04 .cnt .img_box { width: 400px; position: absolute; top: 0; right: 0; }
#p07box04 .cnt .text_box .name { line-height: 20px; margin-top: 24px; }
#p07box04 .cnt .text_box .name em { display: inline-block; font-size: 20px; font-weight: 500; margin-left: 8px; }

#p07box05 .photo_gallery .photo01 { width: 560px; margin: 0 20px; }
#p07box05 .photo_gallery .photo01 .img { width: 100%; height: 400px; border-radius: 10px; }
#p07box05 .photo_gallery .photo01 .text { line-height: 1.45; margin-top: 8px; }
#p07box05 .insta_box { padding: 32px 50px 50px; box-sizing: border-box; background: #F3F6FF; border-radius: 10px; margin-top: 60px; }
#p07box05 .insta_box .insta_box_in #sb_instagram #sbi_images { width: 180px; height: 180px; gap: 7px; padding: 0; }

#p07box06 { margin-bottom: 100px; }
#p07box06 .requirements-list .requirement01 { background: #FFFFFF; border-radius: 10px; overflow: hidden; margin-bottom: 40px; }
#p07box06 .requirements-list .requirement01:last-child { margin-bottom: 0; }
#p07box06 .requirements-list .requirement01 h3 { padding: 22px 24px; box-sizing: border-box; background: #F2157F; font-size: 20px; line-height: 1; }
#p07box06 .requirements-list .requirement01 .text01 { padding: 0 32px; box-sizing: border-box; margin-top: 24px; }
#p07box06 .requirements-list .requirement01 .text01 li { line-height: 1.4; font-weight: 500; margin-bottom: 8px; }
#p07box06 .requirements-list .requirement01 .text01 li:last-child { margin-bottom: 0; }
#p07box06 .requirements-list .requirement01 .box_in { padding: 0 32px 32px; box-sizing: border-box; margin-top: 24px; }
#p07box06 .requirements-list .requirement01 .box_in .t_text01 { padding: 17px 70px 18px 24px; box-sizing: border-box; background: #F8F8F8; border-radius: 5px; font-size: 18px; position: relative; cursor: pointer; transition: 0.3s; }
#p07box06 .requirements-list .requirement01 .box_in .t_text01:hover { opacity: 0.7; }
#p07box06 .requirements-list .requirement01 .box_in .t_text01 .icon { width: 32px; height: 32px; background: #F2157F; border-radius: 50%; position: absolute; top: 50%; right: 24px; transform: translateY(-50%); transition: 0.3s; }
#p07box06 .requirements-list .requirement01 .box_in .t_text01 .icon::before { content: ""; display: block; width: 13px; height: 13px; background-image: url("../img/top/icon_open.svg"); background-repeat: no-repeat; background-position: center; background-size: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: 0.3s; }
#p07box06 .requirements-list .requirement01 .box_in .t_text01.on .icon { background: #FFF2F8; }
#p07box06 .requirements-list .requirement01 .box_in .t_text01.on .icon::before { background-image: url("../img/top/icon_close.svg"); }
#p07box06 .requirements-list .requirement01 .box_in .c_text01 { display: none; }
#p07box06 .requirements-list .requirement01 .box_in .c_text01 .info-table tr { box-sizing: border-box; background-image: repeating-linear-gradient(90deg, #000000, #000000 1px, transparent 1px, transparent 9px); background-position: left bottom; background-repeat: repeat-x; background-size: 100% 1px; }
#p07box06 .requirements-list .requirement01 .box_in .c_text01 .info-table tr:last-child { background-image: none; }
#p07box06 .requirements-list .requirement01 .box_in .c_text01 .info-table tr:last-child th, #p07box06 .requirements-list .requirement01 .box_in .c_text01 .info-table tr:last-child td { padding-bottom: 0; }
#p07box06 .requirements-list .requirement01 .box_in .c_text01 .info-table tr th, #p07box06 .requirements-list .requirement01 .box_in .c_text01 .info-table tr td { padding: 24px 0; box-sizing: border-box; line-height: 1.4; }
#p07box06 .requirements-list .requirement01 .box_in .c_text01 .info-table tr th { width: 140px; }
#p07box06 .requirements-list .requirement01 .box_in .btn01 { margin: 30px auto 0; }

/*よくあるご質問　p09
=========================================== */
.page-faq { overflow: visible; }
.page-faq #main.kasou .main_title .en { text-transform: uppercase; }

#p09box01 .wrap.twin { align-items: flex-start; }
#p09box01 .wrap.twin div#two-main { width: 810px; }
#p09box01 .wrap.twin div#two-side { position: sticky; top: 120px; left: 0; }
#p09box01 .wrap.twin div#two-side .side_box .side-link > li > a { padding-left: 16px; padding-right: 35px; }
#p09box01 .wrap.twin div#two-side .side_box .side-link > li > a .arrow { left: auto; right: 16px; }
#p09box01 .faq_wrap { margin-bottom: 80px; }
#p09box01 .faq_wrap:last-child { margin-bottom: 0; }

/*お問い合わせ　p05
=========================================== */
#p05box01 .bikou-list { margin-bottom: 40px; }
#p05box01 .bikou-list li { line-height: 1.4; padding-left: 1em; text-indent: -1em; margin-bottom: 8px; }
#p05box01 .bikou-list li:last-child { margin-bottom: 0; }

ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0; }
ul.contact-state > li { display: table; width: 350px; height: 48px; position: relative; }
ul.contact-state > li > span.text { display: table-cell; text-align: center; vertical-align: middle; background: #D4D4D4; font-size: 16px; font-weight: 700; line-height: 19px; letter-spacing: 0.06em; color: #737373; position: relative; }
ul.contact-state > li > span.text::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 7px 0 7px 10px; border-color: transparent transparent transparent #D4D4D4; position: absolute; top: 50%; right: -9px; transform: translateY(-50%); }
ul.contact-state > li > span.text .num { display: inline-block; margin-right: 3px; }
ul.contact-state > li.state01 > span.text { background: #04287E; color: #FFFFFF; }
ul.contact-state > li.state01 > span.text::before { border-color: transparent transparent transparent #04287E; }
ul.contact-state li.state03 { width: 360px; }
ul.contact-state li.state03 > span.text::before { display: none; }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }
ul.contact-state.contact-state02 > li.state02 > span.text { background: #04287E; color: #FFFFFF; }
ul.contact-state.contact-state02 > li.state02 > span.text::before { border-color: transparent transparent transparent #04287E; }

.state-text { display: none; text-align: center; color: #EA2F32; font-weight: 700; font-size: 18px; }

.wpcf7-form.custom-wpcf7c-confirmed .state-text { display: block; }
.wpcf7-form.custom-wpcf7c-confirmed ul.contact-state { margin-bottom: 20px; }

.contactTBL { padding: 40px 0; /*お問い合わせ項目*/ /*住所*/ /*連絡可能な時間帯*/ /*添付ファイル*/ /*doui-check*/ /*送信ボタン*/ }
.contactTBL::placeholder { color: #B2B2B2; }
.contactTBL th, .contactTBL td { display: block; font-size: 16px; line-height: 24px; }
.contactTBL th { margin-bottom: 24px; }
.contactTBL th .hissu, .contactTBL th .ninni { display: inline-block; font-size: 14px; line-height: 22px; font-weight: 700; padding: 0 6px; box-sizing: border-box; border-radius: 5px; margin-right: 8px; }
.contactTBL th .hissu { background: #EA2F32; color: #FFFFFF; }
.contactTBL th .ninni { background: #E6E6E6; }
.contactTBL td { margin-bottom: 48px; }
.contactTBL input.wpcf7-text, .contactTBL textarea.wpcf7-form-control.wpcf7-textarea, .contactTBL select.wpcf7-form-control.wpcf7-select, .contactTBL input.wpcf7-date { width: 100%; height: 48px; padding: 11px 17px; box-sizing: border-box; background: #FFFFFF; border: 1px solid #D4D4D4; border-radius: 0; font-family: 'NotoSansJP'; font-size: 16px; font-weight: 400; line-height: 1.5; color: #0E0E0E; cursor: pointer; }
.contactTBL input.wpcf7-text.your-name, .contactTBL input.wpcf7-text.kana, .contactTBL input.wpcf7-text.tel01 { width: 400px; }
.contactTBL textarea.wpcf7-form-control.wpcf7-textarea { height: 160px; }
.contactTBL select.wpcf7-form-control.wpcf7-select { width: auto; min-width: 400px; padding: 7px 40px 7px 15px; background: url("../img/common/select_arrow.svg") no-repeat center right 15px, #FFFFFF; background-size: 16px; -webkit-appearance: none; appearance: none; }
.contactTBL select.wpcf7-form-control.wpcf7-select option { color: #000000; }
.contactTBL .koumoku .wpcf7-list-item { display: block; margin: 8px 0 0 0; }
.contactTBL .koumoku .wpcf7-list-item label { display: flex; align-items: center; cursor: pointer; }
.contactTBL .koumoku .wpcf7-list-item label input[type="radio"], .contactTBL .koumoku .wpcf7-list-item label input[type="checkbox"] { width: 16px; height: 16px; background: #FFFFFF; border: 1px solid #D4D4D4; margin-right: 8px; cursor: pointer; }
.contactTBL .koumoku .wpcf7-list-item.first { margin-top: 0; }
.contactTBL .address_box .address-list li { margin-bottom: 16px; }
.contactTBL .address_box .address-list li:last-child { margin-bottom: 0; }
.contactTBL .address_box .address-list li .th { margin-bottom: 12px; }
.contactTBL .address_box .address-list li select.wpcf7-form-control.wpcf7-select { min-width: 170px; }
.contactTBL .address_box .address-list li.zip1 .td { display: flex; align-items: center; }
.contactTBL .address_box .address-list li.zip1 .td input.wpcf7-text { width: 110px; }
.contactTBL .address_box .address-list li.zip1 .td .sub_text { font-size: 14px; line-height: 17px; margin-left: 10px; }
.contactTBL .time_box td { display: flex; align-items: center; }
.contactTBL .time_box td select.wpcf7-form-control.wpcf7-select { width: 190px; min-width: 190px; }
.contactTBL .time_box td .text { display: block; width: 30px; text-align: center; font-weight: 700; }
.contactTBL .codedropz-upload-wrapper .wpcf7c-conf.wpcf7c-conf-hidden { display: none; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler { background: #FFFFFF; border: 1px solid #D4D4D4; border-radius: 0; position: relative; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container { height: 100%; padding: 56px 0; box-sizing: border-box; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner h3 { padding-top: 28px; box-sizing: border-box; margin: 0 0 8px; font-size: 17px; font-weight: 400; line-height: 32px; position: relative; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner h3::before { content: ""; display: block; width: 16px; height: 20px; background: url("../img/p05/icon_upload.svg") no-repeat center; background-size: contain; position: absolute; top: 0; left: 50%; transform: translateX(-50%); }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner > span { display: none; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn { display: inline-block; height: 35px; background: #E3E3E3; border: 1px solid #707070; border-radius: 0; padding: 2px 14px 1px; box-sizing: border-box; font-size: 16px; font-weight: 400; line-height: 2; color: #000000; margin: 0 auto; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn:hover { opacity: 0.7; }
.contactTBL .codedropz-upload-wrapper .codedropz-upload-handler .dnd-upload-counter { display: none; }
.contactTBL .codedropz-upload-wrapper:has(.dnd-upload-status) .codedropz-upload-handler .codedropz-upload-container .codedropz-upload-inner .codedropz-btn-wrap::after { display: none; }
.contactTBL .doui-box .doui-text { margin-top: 8px; }
.contactTBL .doui-box .doui-text a { display: inline-block; color: #2487C4; text-decoration: underline; }
.contactTBL .doui-box .doui-text a:hover { opacity: 0.7; }
.contactTBL .doui-box .wpcf7-list-item { display: block; margin-left: 0; }
.contactTBL .doui-box .wpcf7-list-item label { display: flex; align-items: center; justify-content: flex-start; }
.contactTBL .doui-box .wpcf7-list-item label span.wpcf7-list-item-label { position: relative; display: flex; align-items: center; cursor: pointer; font-weight: 700; }
.contactTBL .doui-box .wpcf7-list-item label input[type="checkbox"] { width: 16px; height: 16px; margin-right: 5px; background: #FFFFFF; border: 1px solid #D4D4D4; border-radius: 100%; cursor: pointer; }
.contactTBL .contact-submit.flex { justify-content: center; flex-direction: row-reverse; }
.contactTBL .contact-submit.flex .btn01 { margin-top: 0; }
.contactTBL .contact-submit.flex .btn01 input.wpcf7-form-control { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 0 50px 0 27px; box-sizing: border-box; white-space: normal; border-radius: 6px; background-color: #04287E; background-image: url("../img/p05/submit_arrow.png"); background-repeat: no-repeat; background-position: center right 16px; background-size: 30px; border: 1px solid #04287E; cursor: pointer; transition: 0.3s; font-size: 16px; line-height: 1.6; color: #FFFFFF; font-weight: 700; text-align: left; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.contactTBL .contact-submit.flex .btn01 input.wpcf7-form-control:hover { text-decoration: none; opacity: 0.7; }
.contactTBL .contact-submit.flex .btn01:has(.wpcf7c-force-hide) { display: none; }
.contactTBL .contact-submit.flex .btn01.back { margin-right: 20px !important; }
.contactTBL .contact-submit.flex .btn01.back input.wpcf7-form-control { padding: 0 27px 0 50px; background-color: #FFFFFF; background-image: url("../img/p05/submit_arrow_h.png"); background-position: center left 16px; color: #04287E; text-align: right; }
.contactTBL .contact-submit.flex .wpcf7c-elm-step2.mt20 { width: 100%; text-align: center; margin-top: 20px; }
.contactTBL .contact-submit.flex input.wpcf7-form-control:focus { outline: none; }

/*確認画面時の表示設定*/
.contactArea.che .contactTBL { background: #eee; }
.contactArea.che .contactTBL td { margin-bottom: 20px; }
.contactArea.che .dnd-upload-status .dnd-upload-details .remove-file, .contactArea.che .codedropz-upload-handler, .contactArea.che .file-text, .contactArea.che span.dnd-progress-bar, .contactArea.che input[type=checkbox], .contactArea.che input[type=radio] { display: none; }
.contactArea.che input[type=checkbox]:checked, .contactArea.che input[type=radio]:checked { display: inline-block; }
.contactArea.che input[type=checkbox] ~ span.wpcf7-list-item-label, .contactArea.che input[type=radio] ~ span.wpcf7-list-item-label { display: none; }
.contactArea.che input[type=checkbox]:checked ~ span.wpcf7-list-item-label, .contactArea.che input[type=radio]:checked ~ span.wpcf7-list-item-label { display: inline-block; font-weight: 700; }
.contactArea.che textarea.wpcf7-textarea, .contactArea.che input.wpcf7-number, .contactArea.che input.wpcf7-date, .contactArea.che input.wpcf7-text, .contactArea.che select { font-weight: 700; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form { padding-top: 185px; margin-top: -185px; }

.wpcf7c-conf { background-color: #D4D4D4 !important; }

input:-webkit-autofill, input:-internal-autofill-selected { -webkit-appearance: none; -webkit-box-shadow: 0 0 0px 1000px #D4D4D4 inset !important; box-shadow: 0 0 0px 1000px #D4D4D4 inset !important; }

.wpcf7 .ajax-loader { display: none !important; }

.wpcf7-spinner { display: none !important; }

/*Thanks・404
=========================================== */
#other { padding: 93px 0 120px; text-align: center; }
#other h2 { font-size: 24px; margin-bottom: 25px; }
#other p { font-size: 18px; padding-left: 15px; position: relative; margin: 10px 0; }
#other .btn01 { margin-left: auto; margin-right: auto; text-align: left; }

/*プライバシーポリシー
=========================================== */
div#pageBox01 { padding: 93px 0 120px; }

h2.pp-title01 { font-size: 24px; border-bottom: solid 2px; margin-bottom: 25px; padding-bottom: 10px; }

h3.pp-title02 { font-size: 20px; position: relative; margin: 25px 0; padding-left: 10px; }
h3.pp-title02::before { content: ""; width: 5px; height: 65%; background: #000; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*ウインドー幅ごと
=========================================== */
@media screen and (min-width: 0px) and (max-width: 1300px) { #header { height: 70px; }
  #header .header_inner .logo_box { margin-top: 10px; }
  #header .header_inner .logo .logo-text { font-size: 11px; margin-bottom: 7px; }
  #header .header_inner .logo a .logo-img01 { width: 165px; }
  #header .header_inner .logo a .logo-img02 { width: 95px; margin-left: 10px; }
  #header .header_inner .right .right_top { height: 32px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel { padding: 0 15px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel::before { height: 21px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel a .text { font-size: 10px; margin-bottom: -8px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel a .num { font-size: 16px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel a .num::before { width: 10px; height: 10px; }
  /*gnav*/
  .gnav { height: 30px; margin-top: 8px; }
  .gnav > ul > li > a > span { font-size: 14px; }
  .gnav .gnav_first > p { font-size: 14px; }
  .gnav .gnav_first > p::after { top: 6px; }
  .gnav_second { padding: 16px 22px; }
  .gnav_second ul li a { font-size: 14px; }
  .gnav_second ul li a .arrow { top: 5px; }
  /* main */
  #main.home_main { height: 460px; padding: 0 14px; margin-top: 70px; }
  #main.home_main .main_box .main_img .main_slide { height: 460px; }
  #main.home_main .main_box .main_img .main_slide .slide_img { height: 460px; }
  #main.home_main .main_title { width: 400px; }
  #main.home_main .main_news { width: 520px; height: 84px; padding: 30px 30px 0 40px; right: 14px; }
  #main.home_main .main_news .top-news01 a h3 { font-size: 14px; } }
@media screen and (max-height: 780px) { #main.home_main { height: 550px; }
  #main.home_main .main_box .main_img .main_slide { height: 550px; }
  #main.home_main .main_box .main_img .main_slide .slide_img { height: 550px; } }
@media screen and (max-height: 650px) { #header { height: 70px; }
  #header .header_inner .logo_box { margin-top: 10px; }
  #header .header_inner .logo .logo-text { font-size: 11px; margin-bottom: 7px; }
  #header .header_inner .logo a .logo-img01 { width: 165px; }
  #header .header_inner .logo a .logo-img02 { width: 95px; margin-left: 10px; }
  #header .header_inner .right .right_top { height: 32px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel { padding: 0 15px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel::before { height: 21px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel a .text { font-size: 10px; margin-bottom: -8px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel a .num { font-size: 16px; }
  #header .header_inner .right .right_top .tel_wrap .tel-list .tel a .num::before { width: 10px; height: 10px; }
  /*gnav*/
  .gnav { height: 30px; margin-top: 8px; }
  .gnav > ul > li > a > span { font-size: 14px; }
  .gnav .gnav_first > p { font-size: 14px; }
  .gnav .gnav_first > p::after { top: 6px; }
  .gnav_second { padding: 16px 22px; }
  .gnav_second ul li a { font-size: 14px; }
  .gnav_second ul li a .arrow { top: 5px; }
  /* main */
  #main.home_main { height: 460px; padding: 0 14px; margin-top: 70px; }
  #main.home_main .main_box .main_img .main_slide { height: 460px; }
  #main.home_main .main_box .main_img .main_slide .slide_img { height: 460px; }
  #main.home_main .main_title { width: 400px; }
  #main.home_main .main_news { width: 520px; height: 84px; padding: 30px 30px 0 40px; right: 14px; }
  #main.home_main .main_news .top-news01 a h3 { font-size: 14px; } }
/*ipad対策
=========================================== */
/*Firefox用
=========================================== */
@-moz-document url-prefix() {}
/*safari用
=========================================== */
