@charset "utf-8";
/* CSS Document */

/* contact */
#contact_last{
	background: url("../images/contact_bg_sp.webp") top center / cover no-repeat;
    padding: 60px 30px 40px;	
}
#contact_last h2{
	font-size: 1.375rem;
}
#contact_last .cnt_box{
	gap:10px;
	margin-top: 23px;
	flex-direction: column;
	align-items: center;
}
#contact_last .cnt_box > div{
	max-width: 354px;
}
#contact_last .cnt_box > div:first-child{
   	padding: 30px 20px 25px;	
}
#contact_last .cnt_box > div:last-child{
    padding: 30px 20px 30px;	
}
#contact_last .cnt_box > div p{
	font-size: 0.8125rem;
}
#contact_last .cnt_box > div p.tel_txt{
    letter-spacing: 1.2px;
	margin-top: 3px;
}
#contact_last .cnt_box > div p.tel_txt,
#contact_last .cnt_box > div p.tel_txt *{
	font-size: 1.8125rem;	
}
@media screen and (max-width: 360px){	
	#contact_last .cnt_box > div p.tel_txt,
	#contact_last .cnt_box > div p.tel_txt *{
		font-size: clamp(1.65rem, 7.5vw, 1.8125rem);
	}
}
#contact_last .btn_style1{
	margin-top: 7px;
}
#contact_last .btn_style1 a{
	min-width: 229px;
}
/* 共通 */
.btn_style1 a{
	display: flex;
    text-decoration: none;
    font-size: 0.8125rem;
    min-height: 52px;
    padding: 0 45px 0 20px;
}
.btn_style1 a span{
    font-size: 0.8125rem;
}
.btn_style1 a span.link_mark::after{
	background: url("../images/icon/btn_circle.svg") top left / 26px no-repeat;
	width: 26px;
	height: 26px;
	right: 15px;
}
.btn_style1 a span.link_mark::before{
	right: 24px;
}
.btn_style1.white a span.link_mark::after{
	background: url("../images/icon/btn_circle_blue.svg") top left / 26px no-repeat;
}
/* top */
#main.top{
	margin-top: -49px;
}
#main .top_bg .bg{
    clip-path: polygon(0 0, clamp(108px, 23.6vw, 29%) 0, clamp(317px, 69.5vw, 126%) 100%, 0 100%, 0 0);
}
#main .top_bg .bg::before{
	min-height: 266px;
	height: 266px;
}
#main .top_bg .bg::after{
	height: 100%;
}
/* main slider */
#main_visual{
	height: 266px;
	min-height: 266px;
}
#main_visual .slick-slide img{
	height: 266px;
	min-height: 266px;
}
#main_visual .text_cnt{
    bottom: 28px;
    left: 7.9%;
}
#main_visual .text_cnt p{
	font-size: 0.875rem;
}
#main_visual .text_field{
   	padding-bottom: 11px;
}
#main_visual .text_cnt p.en_txt{
	font-size: 1.8125rem;
	letter-spacing: 4.5px;
}
#main_visual .text_cnt p.en_txt span{
	font-size: 1.8125rem;
}
#main_visual .text_cnt p.en_txt > span > span {
    transform: translate3d(0, 50px, 0);
}
#main_visual .text_cnt p.en_txt.active > span > span {
    transform: translate3d(0, -5px, 0);
}
#main_visual .slick-dots {
	display: none !important;
	top: -5px;
	right: 30px;
	gap:30px;
}
#main_visual .slick-dots::before{
	right: 8.5px;
}
#main_visual .slick-dots li,
#main_visual .slick-dots li button {
    width: 8px;
    height: 8px;
}
#main_visual .slick-dots li button::before {
    font-size: 8px;
    width: 8px;
    height: 8px;
}
#main_visual .slick-dots li.slick-active button:after{
	width: 20px;
	height: 20px;
	top:-6px;
	left:-6px;
}
/* 共通 */
#main.top h2{
	font-size: 1.375rem;
}
/* about */
#top_about{
    padding: 54px 30px 33px;	
}
#top_about > div{
	justify-content: flex-start;
	gap: 38px;
	max-width: fit-content;
}
#top_about picture{
	margin-bottom: 12px;
}
#top_about .btn_style2{
	margin-bottom: 0;
}
#top_about .btn_style2 a{
    font-size: 0.8125rem;
    min-height: 134px;
    width: 52px;
    padding: 18px 5px 45px 5px;
    letter-spacing: 1px;
}
#top_about .btn_style2 a span{
    font-size: 0.8125rem;
}
#top_about .btn_style2 a span.link_mark::after{
	background: url("../images/icon/btn_circle.svg") top left / 26px no-repeat;
	width: 26px;
	height: 26px;
	bottom:13px;
}
#top_about .btn_style2 a span.link_mark::before{
	right: -1px;
	bottom: 23px;
}
/* business */
#top_business{
    padding: 40px 30px 30px;	
}
#top_business .business_cnt{
	margin: 35px auto auto;
	justify-content: center;
	flex-wrap: wrap;
	gap: 30px 0;
}
#top_business .business_cnt > div:last-child{
	margin-left: -12px;
}
#top_business .business_cnt a{
	max-width: 178px; 
	height: 148px;
}
#top_business .business_cnt a > div{
	bottom: 4px;
	left: 12px;
	max-width: 148px;
}
#top_business .business_cnt a picture img{
	max-width: 178px;
	height: auto;
}
#top_business .business_cnt a > div > div{
	max-width: 97px;
}
#top_business h3{
	font-size: 1rem;
    margin-bottom: 0;	
}
#top_business .business_cnt a p{
	font-size: 0.75rem;
	line-height: 1.5;
}
#top_business .business_cnt a span.link_mark{
    right: 0;
    bottom: 33px;
}
#top_business .business_cnt a span.link_mark::after{
	background: url("../images/icon/btn_circle.svg") top left / 26px no-repeat;
	width: 26px;
	height: 26px;
    right: 19px;
    top: 13px;
	bottom:0;
	margin: auto;
}
#top_business .business_cnt a span.link_mark::before{
    right: 28px;
    top: 13px;
}
/* work */
#top_work{
	padding: 12px 0 40px;	
}
#top_work .top_text{
    position: static;
	opacity: 1;
}
#top_work .top_text.active{
	opacity: 1;
}
#top_work .top_text p{
	font-size: 2.5rem;
}
#top_work .work-txtcnt,
#top_work .slide-num{
	padding: 17px 30px;
}
#top_work .slide-num{
    display: none;
}

#top_work .btn_cnt{
	justify-content: center;
}
#top_work .control{
	gap:3px;	
}
#top_work .btn_style1{
	margin: 0;
}
#top_work .btn_style1 a{
	min-width: 124px;
}
#top_work .btn_style1 a::before {
    background: url("../images/icon/news_icon_gray.svg") top left / 15px 15px no-repeat;
    width: 15px;
    height: 15px;
}
#work_slide{
	margin: 5px auto 24px;
	padding: 0;
	max-height: 353px;
}
#work_slide .slide_img a{
	max-width: 256px;
	margin: 0 16px;
}
#work_slide .slide_img a picture{
	max-width: 256px;
	width: 100%;
	height: 167px;
}
#work_slide .slide_img a picture img{
	max-width: 256px;
	height: 167px;
}
#work_slide .slide_img a p{
	margin-top: 11px;
}
#top_work .slick-next,
#top_work .slick-prev{
    width: 52px;
    height: 52px;
}
#top_work .slick-prev span::before,
#top_work .slick-next span::before{
    content: "";
    display: block;
	width:0;
	height:0;
	border-style:solid;
	border-width: 6px 10px 6px 0;
	border-color: transparent #194056 transparent transparent;
    opacity: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
	z-index: 1;
}
#top_work .slick-next span::before{
    transform: scale(-1);	
}
#top_work .slick-arrow::before{
	content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: transform 0.3s ease-out;
    transform: scale(0, 1);
    transform-origin: right top;
    background-color: #E6EEF3;
}
#top_work .slick-arrow:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

/* news */
#top_news{
    padding: 40px 0 60px;
}
#top_news .news_cnt{
	flex-direction: column-reverse;
    gap: 30px;
	margin-top: 40px;
}
#main.top #top_news h2{
	margin-bottom: 10px;
}
#top_news .news_btn,
#top_news .news_ttl{
	padding: 0 30px;
}
#top_news .btn_style1{
	min-width: 124px;
    position: static;
    margin: 0 auto;	
}
#top_news .btn_style1 a::before{
	background: url("../images/icon/news_icon.svg") top left / 16px 16px no-repeat;
	width: 16px;
	height: 16px;
	margin-right: 10px;
}
#top_news #feed{
    float: none;
	padding:0 0 10px 30px;
	overflow-x: scroll;
}
#top_news #feed::-webkit-scrollbar {
	background: transparent; 
	height: 5px;
	opacity: .8;
	padding-top: 5px;
}
#top_news #feed::-webkit-scrollbar-thumb {
	background-color: rgba(25,64,86,0.4);
	border-radius: 10px;
}
/* recruit */
#top_recruit a > div.img_cnt{
	display: none;
}
#top_recruit a > div.link_cnt{
	background: url(../images/top/recruit_bg2_sp.webp) center top / cover no-repeat;
	padding: 60px 30px 30px;
}
#top_recruit a > div.link_cnt > div > p{
	max-width: 388px;
	line-height: 1.5;
	font-size: 0.875rem;
}
#top_recruit a > div.link_cnt > div .mark_cnt{
	margin-bottom: 29px;
}
#top_recruit a > div.link_cnt > div .mark_cnt span.link_mark{
    bottom: 30px;
}
#top_recruit a > div.link_cnt > div .mark_cnt span.link_mark::after{
	background: url("../images/icon/btn_circle.svg") top left / 41px no-repeat;
	width: 41px;
	height: 41px;
	top:0;
	bottom:0;
}
#top_recruit a > div.link_cnt > div .mark_cnt span.link_mark::before{
	right: 17px;
}

/* 下層 */
.wrap_pankuzu{
    padding: 0 30px;
}
.pankuzu {
    padding: 15px 0;
}
/* ページリンク */
#link_menu{
    align-items: flex-start;
    flex-direction: column;	
	gap: 15px;	
    border-radius: 21px;
    min-height: 40px;
    padding: 10px 40px 5px 20px;
	width: calc(100% - 60px) !important;
	position: absolute;
	top:0;
}
#link_menu .acdn_area{
	height: 40px;
	border-radius: 21px;
	cursor: pointer;
	border-bottom: solid 1px transparent;	
	transition: border-bottom 0s;
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;	
}
#link_menu .acdn_area.acdn_open{
	border-radius: 21px 21px 0 0;
	border-bottom: solid 1px #FFF;
	transition-delay: .2s;	
}
#link_menu .acdn_area::before{
	content:"";
	width: 12px;
	height: 2px;
	background-color: #FFF;
	position: absolute;
	right: 22px;
	top:0;
	bottom:0;
	margin: auto;
	transition: .3s;
}
#link_menu .acdn_area::after{
	content:"";
	width: 2px;
	height: 12px;
	background-color: #FFF;
	position: absolute;
	right: 27px;
	top:0;
	bottom:0;
	margin: auto;
	transition: .3s;
}
#link_menu .acdn_area.acdn_open::before,
#link_menu .acdn_area.acdn_open::after{
	transform: rotate(90deg);
}
#link_menu .acdn_area.acdn_open::before{
	opacity: 0;
}
#link_menu > p, #link_menu > p a{
	letter-spacing: -1px;
	font-size: 0.875rem;
}
#link_menu .acdn_cnt{
	display: none;
}
#link_menu ul{
	display: block;
    padding: 12px 17px 35px;
}
#link_menu ul li{
	margin-bottom: 17px !important;
	padding-left: 0 !important;
	font-weight: 400;
}
#link_menu ul li:last-child {
    margin-bottom: 0 !important;
}
#link_menu ul li::before{
	content: none;
}
#link_menu ul li a {
    font-weight: 400;
   	font-size: 0.875rem;
    letter-spacing: 0;
}
#link_menu ul li a.on::after {
	border-width: 0 5px 8px 5px;
    left: -16px;
    right: inherit;
    bottom: 0;
    top: 3px;
    transform: rotate(90deg);
}
#main.hierarchy-two #link_menu{
    top: -20px;
}
#main.hierarchy-three #contents-top #link_menu{
	position: absolute;
	width: 100%;
	left: 0;
	right: 0;
	margin: 78px auto 0;
	top:0;
}
#main.hierarchy-three #contents-top #link_menu.scroll2,
#main.hierarchy-two #link_menu.scroll{
    position: fixed;
    top: 15px;	
	margin-top: 0;
}

#contents{
	padding: 0 30px 108px;
	position: relative;
}
#main.hierarchy-two #contents.have_menu{
	padding-top: 60px;
}
#main.hierarchy-three #contents{
	padding: 46px 30px 108px;
}
/* 2階層 */
#main.hierarchy-two #contents-top{
	min-height: 150px;
    padding: 18px 0 19px 30px;	
}
#main.hierarchy-two #contents-top::before {
    min-height: 150px;
    clip-path: polygon(0 0, 142px 0, 202px 100%, 0 100%, 0 0);
}
#main.hierarchy-two #contents-top .text_cnt{
	max-width: 350px;	
}
#main.hierarchy-two #contents-top p.en_ttl{
	font-size: 0.6875rem;		
    letter-spacing: 1.8px;
}
#main.hierarchy-two #contents-top h1{
	font-size: 1.375rem;
	margin-top: 2px;
    padding-left: 25px;
    letter-spacing: 2.5px;	
}
#main.hierarchy-two #contents-top h1::before {
    width: 20px;
    height: 20px;
    top: 5px;
    left: 0;
}
/* 3階層 */
#main.hierarchy-three{
	margin-top: -49px;
}
#main.hierarchy-three #contents-top{
	background-color: #FFF;
	padding: 118px 30px 0;
	position: relative;
}
#main.hierarchy-three #contents-top::before {
    clip-path: polygon(50% 0, 100% 0, 100% 100%, 88% 100%);
}
#main.hierarchy-three #contents-top .text_cnt{
	padding: 38px 0 39px;
}
#main.hierarchy-three #contents-top .text_cnt::before {
    font-size: 5.125rem;
    letter-spacing: 1.5px;
    top: 35px;
    left: -20px;
}
#main.hierarchy-three #contents-top p.category{
	font-size: 0.75rem;
    padding-left: 18px;
	letter-spacing: 1px;
}
#main.hierarchy-three #contents-top p.category::before {
    width: 12px;
    height: 12px;
    top: 4px;
}
#main.hierarchy-three #contents-top h1{
	font-size: 1.375rem;
	margin-top: 3px;
    letter-spacing: 4px;
}
#main.hierarchy-three #contents-top .img_cnt{
	width: calc(100% + 60px);
	height: 130px;
	transform: translateX(-30px);
}
#main.hierarchy-three #contents > .sp_width h2.lead:first-child,
#main.hierarchy-three #contents > h2.lead:first-child{
	margin: 16px auto 6px;
}
/* 共通 */
#contents .sp_width{
    padding: 0 24px;
}
#contents p{
	font-size: 0.875rem;
}
#contents img{
	width: 100%;
	max-width: fit-content;
}
#contents h2{
	padding-left: 2px;
	font-size: 1.375rem;
    letter-spacing: 2px;
	margin-bottom: 20px;
	line-height: 1.35;
}
#contents p.en_ttl{
    font-size: 1.75rem;
    margin-top: 22px;
    letter-spacing: 0.5px;
    padding-bottom: 5px;
    margin-bottom: 8px;
}
#contents p.en_ttl + h2{
	font-size: 0.875rem;	
}
#contents h3{
    font-size: 1.25rem;
    padding-left: 31px;
    margin-bottom: 3px;
    transform: translateX(0);
}
#contents h3.indent ~ *{
	padding-left: 31px;
}
#contents h3::before{
	top:13px;
}

#contents .cnt_box{
	margin: 38px auto 120px;
	padding: 40px 24px 40px;
}
#common_page .cnt_box{
	padding: 42px 24px 40px;
}
#contents .cnt_box:last-child{
	margin: 38px auto 0;	
}
#contents .cnt_box::before{
	height: 40px;
	top:-20px;
}

#contents table{
	max-width: 918px;
	width: 100%;
}
#contents .js-scrollable table{
	min-width: 600px;	
}
#contents table th{
	vertical-align: top;
    padding: 16.5px 15px;
	min-width: 140px;
}
#contents table td{
	padding: 16.5px 15px;
}

#contents .two-column{
	flex-direction: column;
    align-items: center;
	margin: 16px auto 46px;
	gap:5px;
    padding: 0 24px;	
}
#contents .two-column h2{
	text-align: center;
	margin-top: 0;
	margin-bottom: 0;
}
#contents .two-column div:last-child{
	max-width: inherit;
}
#contents .two-column p{
	line-height: 2;
}
#contents .two-column + .en_ttl{
	margin-top: 80px;
}
#contents ul {
	margin: 33px auto;
}
#contents ol{
	margin: 33px auto;
    padding-left: 41px;	
}
#contents ul li{
	padding-left: 47px;
	margin-bottom: 15px;
	font-size: 0.875rem;
	line-height: 1.5;
}
#contents ul li::before{
	left:31px;
	top:7px;
}
#contents ol li{
	padding-left: 7px;
    margin-bottom: 6px;
	font-size: 0.875rem;
	line-height: 1.5;
}
/* 共通下層 */
#main.common_page #contents{
	padding: 30px 30px 56px;
}
#common_page{
	padding-top: 54px;
}
#common_page .en_ttl{
    font-size: 0.6875rem;
    letter-spacing: 1px;
	margin-bottom: 4px;
}
#common_page h1,
#common_page .h1_style{
	font-size: 1.375rem;
    padding-left: 25px;
    letter-spacing: 3px;	
}
#common_page h1::before,
#common_page .h1_style::before {
    width: 20px;
    height: 20px;
    top: 8px;
}
#title_cnt{
	padding: 0 30px;
}
#common_page .news_text h2{
    font-size: 1.25rem;
    padding-left: 31px;
    margin-bottom: 3px;
	transform: translateX(0);
}
#common_page .news_text h2::before{
    top: 13px;	
}
#common_page h1.news,
#common_page.pwa h2{
	font-size: 1.375rem;
	letter-spacing: 2px;
}
#common_page h4,
#common_page .news_text h3{
    font-size: 1rem;
    margin: 36px 0 4px;	
	transform: translateX(0px);
}
#common_page .cnt_box p{
	line-height: 2;
}
#common_page .column2{
	display: flex;
    justify-content: space-between;
	margin: 26px 0;
    gap: 20px;
}
#common_page h2 + p{
	margin-top: 0; 
}
#common_page h3{
	transform: translateX(0);
    margin: 29px 0 4px;
}
/* 2階層 リンクリスト */
#contents h2.lead + p{
    margin-top: 20px;	
}

#contents .link_list{
    gap: 83px;
	margin-top: 83px;
}
#contents .link_list > div{
	gap: 18px 60px;
    flex-direction: column;
}
#contents .link_list > div:nth-child(even){
	flex-direction: column;
}
#contents .link_list .text_cnt{
	order: 1;
}
#contents .link_list .img_cnt{
	order: 2
}
#contents .link_list .about_txt{
	order: 3
}
#contents .link_list .text_cnt::before{
	font-size: 5.125rem;
    letter-spacing: 1.5px;
	top: 3px;
    left: -18px;	
	width: 768px;
}
#contents .link_list p.en_ttl_h2{
	font-size: 1.75rem;		
    letter-spacing: 0;
	line-height: 1.18;
}
#contents .link_list h2{
	font-size: 0.875rem;		
	margin-top: 6px;
	padding-left: 0;
}
#contents .link_list .about_txt{
    margin-top: 6px;
}
#contents .link_list .about_txt p:first-child{
    line-height: 1.5;	
}
#contents .link_list .btn_style1 a{
	min-width: 229px;
}
#contents .link_list .img_cnt a span.link_mark{
    position: absolute;
    right: 15%;
    bottom: 18%;
	z-index: 1;
}
#contents .link_list .img_cnt a span.link_mark::after{
	background: url("../images/icon/btn_circle.svg") top left / 41px no-repeat;
	width: 41px;
	height: 41px;
}
#contents .link_list .img_cnt a span.link_mark::before{
	right: 16px;
	top: 1px;
}
/* ごあいさつ */
#contents .name_txt{
    margin-top: 25px;
	align-items: flex-end;
	flex-wrap: wrap;
}
#contents .name_txt p{
	font-size: 1rem;
}
#contents .name_txt img{
    margin-top: 5px;
}
#contents .cnt_box > div.philosophy{
	gap: 60px 46px;
}
/* 会社概要 */
#contents .cnt_box.about{
	padding: 40px 24px;
}
#contents .cnt_box .access{
	flex-direction: column;
}
#contents .map_link a::before {
    background: url(../images/icon/map_blue.svg) 10px 6px / 13px 13.42px no-repeat;
    top: -1px;
}
/* 沿革 */
#contents ul.history_list li{
	width: 100%;
	gap:13px;
	position: relative;
	padding-left: 0;
	justify-content: flex-start;
}
#contents ul.history_list li:first-child{
	margin-top: 7px;
}
#contents ul.history_list li > div{
	max-width: 431px;
	width: 100%;
	order: 2;
}
#contents ul.history_list li:nth-child(even) > div{
	order: 2;	
}
#contents ul.history_list li p{
	line-height: 1.8;
}
#contents ul.history_list li:nth-child(even) p{
	text-align: left;
}
#contents ul.history_list li .circle{
	min-width: 15px;
	order:1;
	margin-top: 3px;
}
#contents ul.history_list li .circle::before{
	content:"";
	width: 3px;
	height: 37px;
    top: -10px;
	left: 0;	
}
#contents ul.history_list li::after{
	display: none;
}
#contents ul.history_list li:last-child::before{
	left:7px;
	right:inherit;	
}
#contents .history_bar {
	left:7px;
	right:inherit;
}
/* 安全への取り組み */
#contents .si_lead_text{
	line-height: 2;
	margin: 9px auto 55px !important;
}
#contents .si_cnt > div{
	padding: 57px 23px 24px;
	margin-bottom: 20px;
}
#contents .si_cnt .text_cnt{
	flex-direction: column;
	align-items: center;
	gap:0;
}
#contents .si_cnt .text_cnt > div{
	max-width: inherit;
}
#contents .si_cnt .text_cnt > div:first-child{
	max-width: inherit;
	padding-right: 0;
}
#contents .si_cnt .text_cnt > div:nth-child(2){
	margin: 17px 0 8px;
}
#contents .si_cnt h3 {
    padding-bottom: 10px;
    margin-bottom: 17px;
    letter-spacing: 2px;
}
#contents .si_cnt p{
	line-height: 1.43;
}
#contents .si_cnt img{
	max-width: 250px;
	width: 100%;
	height: 100%;
	aspect-ratio: 125 / 82;
}
/* 事業内容下層 */
#contents.business{
	padding: 46px 30px 60px !important;
}
#contents .img_cnt_pic3{
	display: none;
}
#contents #business_slide{
	display: block;
	max-width: clamp(193px, 51.46vw, 283px);
	margin: auto;
}
#contents #business_slide .slide_img_b{
	clip-path: polygon(9.5% 0, 100% 0%, 90.5% 100%, 0% 100%);
    aspect-ratio: 193 / 138;
}
/* 作業実績 */
#contents.work_record{
	padding-top: 60px;
}
#contents p.wr_toptext{
    padding: 27px 0;
}
#contents p.wr_toptext::before{
	font-size: 5.125rem;
	letter-spacing: 1.5px;
	left: -50%;
    transform: translateX(17%);
}
#contents ul.wr_list{
	margin: 36px auto 45px;
	gap:45px 32px;
	flex-direction: column;
    align-content: center;
}
#contents ul.wr_list img{
	max-width: 348px;
}
#contents ul.wr_list li > p{
	font-size: 1rem;
}
/* 実績一覧 */
#contents ul.pwa_list{
	max-width: inherit;
    gap: 10px;
    flex-wrap: nowrap;
	margin: auto;
	overflow-x: scroll;
    transform: translateX(-30px);
    width: calc(100% + 60px);
    padding-left: 30px;
}
#contents ul.pwa_list::-webkit-scrollbar {
	background: transparent; 
	height: 5px;
	opacity: .8;
	padding-top: 5px;
}
#contents ul.pwa_list::-webkit-scrollbar-thumb {
	background-color: rgba(255,255,255,0.4);
	border-radius: 10px;
}
#contents ul.pwa_list li{
	margin-bottom: 5px;
}
#contents ul.pwa_list li a{
	font-size: 0.6875rem;
    gap: 10px;
    padding: 15px 24px;
	white-space: nowrap;
}
#contents ul.pwa_list li a::after{
	border-width: 6px 4px 0 4px;
}
#common_page.pwa #contents .cnt_box:last-child {
    margin: 22px auto 0;
}
#contents .work_list{
	margin-top: 21px !important;
	flex-direction: column;
}
#contents .work_list > div > div{
	padding-bottom: 28px;
}
#contents .work_list > div > div:last-child{
	padding-bottom: 0;	
}
#contents .work_list > div > div::before{
	left: 68px;
}
#contents .work_list > div > div > p{
	letter-spacing: 1.5px;
}
#contents .work_list ul{
	padding-top: 6px;
}
#contents .work_list li{
	margin-bottom: 0;
}
#contents .work_list + h2{
	margin-top: 45px;
}
/* お知らせ */
#contents.news{
	padding: 0 30px 80px;
}
#contents .news_cnt{
	margin: 0 auto;
}
#contents .news_mainlist{
	flex-wrap: wrap;
    justify-content: center;
	margin-top: 38px;
	gap: 20px;
}
/*
#contents .pagenavi {
	margin: 38px auto 0;
	font-size: 0.875rem;
	gap: 12px;
}
#contents .page-numbers{
	width: 52px;
	height: 52px;
}
#contents .prev::before,
#contents .next::before{
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-right: 9px solid #194056;
}*/

/* お知らせ詳細 */
#contents .cnt_box > div.date{	
	gap: 10px;
	margin-top: 26px;
}
#contents div.date p.day{
	font-size: 0.75rem;
}
#contents div.date p.cate{
	font-size: 0.6875rem;
	padding: 2px 11px 3px;
	max-width: fit-content;
	min-width: 60px;
}
#contents .news_text{
	margin-top: 29px !important;
}
#contents .btn_style1.news{
	margin: 33px auto auto;
}
#contents .btn_style1.news a{
	width: 229px;
}
/* お問い合わせ */
#contents p.con_lead{
    margin: 56px auto 56px;
    padding-bottom: 30px;
}
#contents #form table tr{
    display: flex;
    flex-direction: column;
}
#contents #form table th{
	padding: 10px 0;
	padding-left: 0;	
}
#contents #form table td{
	padding: 0;
	padding-left: 0;
}
#contents #form table th,
#contents #form table th *{
	text-align: left;
}
#contents #form table th.txt_area{
	padding-top: 10px;	
	padding-bottom: 10px;
}
#contents #form table td.txt_area{
	padding-top: 0px;
	padding-bottom: 0px;	
}
#contents #form .radio{
	padding-left: 0;
}
#contents #form .btn_cnt{
    padding-left: 0;
}
#contents #form .btn_cnt .form_btn input{
	min-width: 229px;
}