.contact-cva{ padding: 120px 0!important; }
.contact-cva .top-sectitle{ font-weight: 700; font-size: 3rem; margin-bottom: 50px; }
.contact-cva .top-sectitle span{ display: block; font-weight: 700; font-size: 2.5rem; margin-bottom: 15px; color: var(--main-color); }

#ctalk #sec01 .imagebox ul{ -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center; }
#ctalk #sec01 .imagebox ul li{ display: inline-flex; align-items: center; justify-content: center; border-radius: 110px; height: 110px; min-width: 110px; text-align: center; background: var(--main-color); color: #fff; font-weight: 700; }
#ctalk #sec01 .imagebox ul li p{ line-height: 1em; padding-top: 0; font-size: 2.2rem; color: #fff; }
#ctalk #sec01 .imagebox ul li small{ font-size: 1.3rem; color: #fff; }
#ctalk #sec01 .imagebox ul li span{ line-height: 1.3em; position: relative; display: block; padding-bottom: 13px; margin-bottom: 8px; color: #fff; font-size: 1.2rem; }
#ctalk #sec01 .imagebox ul li span:before{ content:""; position: absolute; height: 2px; width: 20px; background: #fff; left: 0; right: 0; bottom: 0; margin: auto; }
#ctalk #sec01 .imagebox ul li:not(:last-child){ position: relative; margin-right: 60px; }
#ctalk #sec01 .imagebox ul li:not(:last-child):before{ content: ""; position: absolute; background: url(../images/times.svg) no-repeat; background-size: contain; background-position: center; width: 15px; height: 15px; right: -36px; top: 0; bottom: 0; margin: auto; }


.news_single .container .contents a{ color: var(--main-color); text-decoration: underline; }

@media screen and (max-width: 1400px){
	#recruit .r_topmessage .pa{ right: -10px; }
}
@media screen and (max-width: 1180px){
	.cta-rec .left h2 { font-size: 10vw; }
	.cta-rec .right { position: relative; width: calc( 65% - 50px ); }
	.cta-rec .right .box{ padding: 60px 50px 60px; }
	#recruit .r_topmessage .flex .right{ padding-right: 25px; padding-left: 50px; }
	#recruit .r_topmessage .img-flex .right{ padding-left: 50px; }

	.r_message .flex{ margin-left: 0; }
	.r_message .flex .left{ padding-right: 50px; }

	header .box .right ul li .head-btn{ padding: 11px 40px; }
	header .box .right ul li a{ font-size: 1.3rem; letter-spacing: normal; }
	header .box .right ul li:nth-child(-n+4) { margin-right: 20px; }
	header .box .left{ max-width: 300px; }
}

@media screen and (max-width: 991.98px){
	.contact-cva .text .left a{ font-size: 4.5vw; }
	.contact-cva .text .left .right p{ font-size: 1.5rem; }

	.cta-rec .flex{ padding: 50px 0; -ms-flex-wrap: wrap; flex-wrap: wrap; }
	.cta-rec .left{ margin-bottom: 15px; position: relative; width: 100%; }
	.cta-rec.recruit-cta .left{margin:0 auto;}
	.cta-rec .right{ background-color: rgb(54 69 81 / 50%); width: 100%; margin-left: 0; }
	.cta-rec .right .box{ padding: 35px; position: unset; transform: unset; }
	.cta-rec .left h2 { text-align: center; font-size: 21vw; width: 100%; }
	.cta-rec .container{ position: unset; }
	.cta-rec img{ position: absolute; height: 100%; width: 100%; object-fit: cover; object-position: center; }
	.cta-rec .right .box h3{ font-size: 2.5rem; }
	.cta-rec .right .box p{ margin-bottom: 30px; }
	.cta-rec .right .box h3{ margin-bottom: 20px; }

	#top #sec02 .box{ padding: 50px 20px; }
	#top #sec02:before{ margin-left: 0; background-size: cover;}
	#top #sec02 .box .text p{ margin-bottom: 35px; font-size: 1.5rem; }
	#top #sec02 .container:before{ content: none; }

	.contact-cva{ padding: 100px 0!important; }

	.sub .page-nav ul li { padding: 0 25px; }
}

@media screen and (max-width: 820px){
	.btn{ font-size: 1.5rem; }

	#top #sec03 .btn-box{ margin-top: 40px; text-align: center; }

	#top #sec01 .flex{ -ms-flex-wrap: wrap;	flex-wrap: wrap; }
	#top #sec01 .left{ width: 100%; }
	#top #sec01 .right{ width: 100%; padding-left: 0; }
	#top #sec01 .right .box{ margin-bottom: 40px; }
	#top #sec01 .right .btn-box{ text-align: center; }
	#top #sec01 .right .btn-box a { box-shadow: 0 3px 26px rgb(0 0 0 / 6%); max-width: 185px; width: 100%; }
	#top #sec01 .left p{ margin-bottom: 20px; }
	#top #sec01 .right ul .item .category{ margin-left: 15px; margin-right: 0; }
	#top #sec01 .right ul .item .text{ margin-top: 15px; width: 100%; }
	#top #sec01 .right ul .item .text p{ font-size: 1.4rem; }
	#top #sec01 .right ul .item .category li{ font-size: 1.1rem; padding: 8px 0; width: 70px; }

	#top .top-news-sec  .flex{ -ms-flex-wrap: wrap;	flex-wrap: wrap; }
	#top .top-news-sec  .left{ width: 100%; }
	#top .top-news-sec  .right{ width: 100%; padding-left: 0; }
	#top .top-news-sec  .right .box{ margin-bottom: 40px; }
	#top .top-news-sec  .right .btn-box{ text-align: center; }
	#top .top-news-sec  .right .btn-box a { box-shadow: 0 3px 26px rgb(0 0 0 / 6%); max-width: 185px; width: 100%; }
	#top .top-news-sec  .left p{ margin-bottom: 20px; }
	#top .top-news-sec  .right ul .item .category{ margin-left: 15px; margin-right: 0; }
	#top .top-news-sec  .right ul .item .text{ margin-top: 15px; width: 100%; }
	#top .top-news-sec  .right ul .item .text p{ font-size: 1.4rem; }
	#top .top-news-sec  .right ul .item .category li{ font-size: 1.1rem; padding: 8px 0; width: 70px; }

	footer .page-top{ bottom: 60px; right: 20px; }
	footer .page-top:before{ height: 135px; }

	.sub .title-box .title-flex h2 span { font-size: 5rem; }
	.sub .title-box .title-flex h2{ margin-top: -50px; font-size: 1.8rem; }
	.sub .title-box .title-flex .breadcrumbs a, .sub .title-box .title-flex .breadcrumbs span{ font-size: 1.3rem; }
	.sub .title-box .title-flex { padding-bottom: 40px; }
	#newlist .tab li a{ display: inline-block; }

	#nnews #sec01 .container .area{ padding: 0; }
	#nnews #sec01 .container .area ul li .flex{ -ms-flex-wrap: wrap;	flex-wrap: wrap; }
	#nnews #sec01 .container .area ul .item .category{ margin-left: 15px; margin-right: 0; }
	#nnews #sec01 .container .area ul .item .date{ width: 6em; }
	#nnews #sec01 .container .area .item .text{ margin-top: 15px; width: 100%; }
	#nnews #sec01 .container .area .item .text p{ font-size: 1.4rem; }
	#nnews #sec01 .container .area .item .category li{ font-size: 1.1rem; padding: 8px 0; width: 70px; }

	.service_list .flex .right .area{ padding: 0; }
	.tab li a{ font-size: 1.4rem; padding: 16px 10px; }
	#bridge .service_list .flex .right .area .s_box .sub_ttl{ font-size: 2.2rem; }

	.banner-slider .slider.slider-for{ padding-right: 0; width: 100%; }
	.banner-slider .slider.slider-nav{ width: 100%; }
	.banner-slider{ flex-wrap: wrap; max-height: 100%; }
	#myservice { padding-top: 70px; }
	.banner-slider .slider.slider-nav{ height: auto; }


	#mygreeting #greeting_box .pc{ display: none; }
	#mygreeting #greeting_box .sp{ display: block; }
	#mygreeting #greeting_box { margin-left: 0!Important; padding-top: 0; }

	#mygreeting #sec04 .inbox{ margin: 0; }

	#award #sec01 .tablebox{ overflow: scroll; }
	#award #sec01 .table { width: 180%; }
	#award #sec01 .table .hleft { width: 180px; }

	#ctalk #sec01 .imagebox ul li{ min-width: 90px; height: 90px; margin: 10px!important;}
	#ctalk #sec01 .imagebox ul li:not(:last-child){ margin-right: 0; }
	#ctalk #sec01 .imagebox ul li:not(:last-child):before{ content: none; }
	#ctalk #sec01 .imagebox ul li span{ padding-bottom: 11px; font-size: 1rem; }
	#ctalk #sec01 .imagebox ul li p{ font-size: 1.8rem; }
	#ctalk #sec01 .imagebox ul li small{ font-size: 1rem; }
	#ctalk #sec01 .boxlist{ display: block; margin-bottom: 10px; }
	#ctalk #sec01 .boxlist .right1{ width: 100%; }

	#ctalk #sec01 .box .inleft img{ top: 0; }
	#ctalk #sec01 .box .inleft{ float: unset; position: relative; padding-top: 65%; overflow: hidden; }
	#ctalk #sec01 .box .left{ order: 2; }
	#ctalk #sec01 .box .right{ order: 1; }
	#ctalk #sec01 .box1 .left{ order: 1; }
	#ctalk #sec01 .box1 .right{ order: 2; }
	#ctalk #sec01 .box1 .inleft{ padding-top: 0; }
	#ctalk #sec01 .box1 .inright{ float: unset; position: relative; padding-top: 65%!important; overflow: hidden; }
	#ctalk #sec01 .box1 .inright img{ top: 0; }
	#ctalk #sec01 .imagebox { padding-bottom: 20px; }

	#recruit #sec01 .flex{ -ms-flex-wrap: wrap;	flex-wrap: wrap; }
	#recruit #sec01 .left{ width: 100%; }
	#recruit #sec01 .right{ width: 100%; padding-left: 0; }
	#recruit #sec01 .right .box{ margin-bottom: 40px; }
	#recruit #sec01 .right .btn-box{ text-align: center; }
	#recruit #sec01 .right .btn-box a { box-shadow: 0 3px 26px rgb(0 0 0 / 6%); max-width: 185px; width: 100%; }
	#recruit #sec01 .left p{ margin-bottom: 20px; }
	#recruit #sec01 .right ul .item .category{ margin-left: 15px; margin-right: 0; }
	#recruit #sec01 .right ul .item .text{ margin-top: 15px; width: 100%; }
	#recruit #sec01 .right ul .item .text p{ font-size: 1.4rem; }
	#recruit #sec01 .right ul .item .category li{ font-size: 1.1rem; padding: 8px 0; width: 70px; }

	#recruit .r_topmessage .flex .right{ padding: 0; }
	#recruit .r_topmessage .img-flex .right{ width: 40%; padding-left: 15px; }
	#recruit .r_topmessage .img-flex .left { width: 60%; }
	#recruit .r_topmessage .img-flex .left  img{ height: 100%; object-fit: cover; object-position: center; }

	.r_message .flex .left{ padding-right: 0; }
	.r_message .flex .right { width: calc( 100% + 45px); margin-left: -22.5px; }

	#privacy #sec01 .tablebox{ line-height:1.5em; overflow-x: scroll!important; }

	header .box h2{ max-width: 165px; }
	header .box { height: 50px; }

	#nnews #sec01 .container ul .item a{ -ms-flex-wrap: wrap; flex-wrap: wrap; }
	#nnews #sec01 .container ul .item .date{ margin-left: 15px; margin-right: 0; }
	#nnews #sec01 .container ul .item .text{ margin-top: 15px; width: 100%; }
	#nnews #sec01 .container ul .item .text p{ font-size: 1.4rem; }
	#nnews #sec01 .container ul .item .category li{ font-size: 1.1rem; padding: 8px 0; width: 70px; }



	
}

@media screen and (max-width: 768px){
	#ctalk #sec01 .titlebox{ margin: 70px 15px 40px; }
}
@media screen and (max-width: 640px){

	section { padding-top: 70px; }
	section:not(:last-child){ padding-bottom: 70px; }
	.sub section { padding-top: 70px; }
	.sub section:not(:last-child){ padding-bottom: 70px; }
	section .top-sectitle{ margin-bottom: 30px; }

	.contact-cva .text .left a { font-size: 8.5vw; }
	

	#top #sec03 ul .item{ width: 49.5%; }
	#top #sec03 ul .item:not(:last-child) { margin-bottom: 1%; }
	#top #sec03 ul .item a{ height: 100%; padding: 30px 15px 40px; }
	#top #sec03 ul .item a h3{ font-size: 1.6rem; }
	#top #sec03 ul .item a p{ font-size: 1.1rem; line-height: 1.6; }
	#top #sec03 ul .item a p br{ display: none; }
	#top #sec03 ul{ margin-bottom: 40px; }
	#top #sec03 .btn-box{ text-align: center; }
	#top #sec03 .btn-box .btn span{ color: #fff; }

	.service_list .flex .left{ padding-top: 0; }
	.service_list .flex .right{ padding-top: 70px; }
	.service_list .flex .left .inner .side { height: 100%; overflow-y: hidden; }
	.service_list .flex .left .inner{ height: 100%; }

	.news_single .container .btn-box a{ font-size: 15px; padding: 17px 40px; }

	

	.contact-cva .text .right p{ font-size: 1.4rem; text-align: center; }


	section .top-sectitle span{ font-size: 2.2rem; }
	section .top-sectitle{ margin-bottom: 20px; font-size: 2rem; }

	.contact-cva .btn-box a img { max-height: 13px; margin-right: 4px; }
	.contact-cva .text{ margin-bottom: 20px; }
	.contact-cva .text .left{ margin-bottom: 12px; }
	.contact-cva .top-sectitle { margin-bottom: 25px; }

	#listservice ul .item{ margin-right: 0!important; width: 49.5%; }
	#listservice ul .item:not(:last-child) { margin-bottom: 1%; }
	#listservice ul .item a{ height: 100%; padding: 30px 15px 40px; }
	#listservice ul .item a h3{ font-size: 1.6rem; }
	#listservice ul .item a p{ font-size: 1.1rem; line-height: 1.6; }
	#listservice ul .item a p br{ display: none; }

	#listservice h2{font-size: 2.5rem; margin-bottom: 30px; }
	#listservice h4{ font-size: 1.8rem; margin-bottom: 35px; }

	.contact-cva{ padding: 70px 0!Important; }

	.service_list .flex .right .area .s_box img{ margin-bottom: 20px; }
	.service_list .flex .right .area .s_box:not(:last-child) { margin-bottom: 60px; }

	#recruit_post li h3 { margin-bottom: 45px; font-size: 2.2rem; }
	#recruit_post li .sub-ttl{ padding-bottom: 20px; }
	#recruit_post li .sub-ttl::after{ width: 5px; height: 5px; }
	#recruit_post #sec01 .btn-box{ text-align: center; }

	#mygreeting #sec01 h2{ margin-bottom: 20px; }
	#mygreeting #sec01 p{ font-size: 1.4rem; }
	#mygreeting #sec01 .text1{ padding-top: 1.5em; }

	#mygreeting #sec03 .right img { width: 45%; }
	#mygreeting #sec03 h4{ font-size: 2.4rem; }
	#mygreeting #sec03 p{ font-size: 1.5rem; }
	#mygreeting #sec04 h4{ padding-bottom: 20px; font-size: 2.4rem; }
	#mygreeting #sec04 li { padding: 12px 0; }
	#mygreeting #sec04 li:last-child{ padding-bottom: 0; }
	#mygreeting #sec04 .box{ padding: 30px; }

	#award #sec02 h4{ font-size: 1.4rem; }
	#award #sec02 p{ font-size: 1.2rem; }
	#award #sec02 li:nth-child(-n+12) { margin-bottom: 25px; }

	#office #sec01 .left{ border-bottom: none; border-left: 1px solid var(--main-color); padding: 10px 0 10px 20px; text-align: left; }
	#office #sec01 .right{ padding: 15px 0 15px 20px; }
	#office #sec01 .box:not(:last-child){ padding-bottom: 20px; }

	#office #sec01 h2{ font-size: 2.2rem; padding-bottom: 30px; padding-top: 60px; }
	#office #sec01 .map1{ float: unset; }
	#office #sec01 ul{ padding-top: 20px; }
	#office #sec01 .textbox{ margin-bottom: 4px; }

	#profile section .recboxright { font-size: 1.3rem; width: calc( 100% - 125px ); padding: 24px 0px 24px 20px; }
	#profile section .recboxleft { font-size: 1.3rem; width: 125px; }
	#profile section .recboxleft small{ font-size: 1.1rem; }
	#profile #sec01 .myboxleft,
	#profile #sec01 .myboxright{ padding-right: 0; }

	#profile #sec01 h2{ font-size: 2.2rem; }
	#profile section .textbtn{ font-size: 2.2rem; }

	#profile #sec01 #list1, #profile #sec01 #list2{ padding-bottom: 70px; }
	.tlbox{ padding-bottom: 10px; padding-left: 30px; }
	.tlboxleft,
	.tlboxright{ font-size: 1.4rem; }
	.timelineboxleft{ padding: 20px 0px 10px 23px; }
	.timelineboxright{ padding-top: 10px; }
	.timelineboxright{ border: none; }
	.timelinebox{ border-left: 1px solid var(--main-color); }
	.tlbox:last-child{ padding-bottom: 0; }

	#profile section .pdfbtn{ padding: 23px 10px; font-size: 1.5rem; }
	#profile #list4{ margin: 70px 0 0; }
	#profile #list4 .text2{ padding-bottom: 20px; }

	#profile #list4 .pdfgroupbutton{ display: block; }
	#profile #list4 .pdfbutton{ width: 100%; }
	#profile #list4 .pdfbutton:nth-child(1){ margin-bottom: 10px; }
	#profile #list4 .pdfbutton .btn{ padding: 23px 10px; font-size: 1.5rem;  }
	#profile #list4 .recinall{ margin: 30px 0px 50px; padding: 40px 20px; }

	#list4 .timelineboxright{ border: none; }
	#list4 .timelinebox{ border-color: #21859D; }
	#profile #list4 .text2p { padding-top: 60px; }

	#about #sec01 .top { margin-bottom: 70px; }
	#about #sec01 .flex .left h4 { margin-bottom: 30px; font-size: 2.8rem; }
	#about #sec01 .flex .left h4 span{ font-size: 1.4rem; padding-left: 10px; }
	#about .l_ttl{ margin-bottom: 40px; }
	#about .l_ttl span{ margin-left: 15px; }


	#ctalk #sec01 .titlebox{ font-size: 2rem; margin: 60px 15px 25px; }
	#ctalk #sec01 .imagebox { padding-bottom: 40px; }
	#ctalk #sec01 h4{ font-size: 1.8rem; }

	#ctalk #sec01 .box:not(:last-child) { margin-bottom: 60px; }
	#ctalk #sec01 .area1:not(:last-child) { padding-bottom: 10px; }
	#ctalk #sec01 .box .inright { padding: 0 15px 30px; }
	#ctalk #sec01 .boxlist .left1 { width: 110px; background: url(../images/threedots.svg) 66% 11px no-repeat; background-size: 16px; }

	.r_message .flex .left h3{ font-size: 40px; margin-bottom: 45px; }
  .l_message .flex .right h3{ font-size: 40px; margin-bottom: 45px; }
	.service_list .flex .right .area .s_box .sub_ttl,
	#myservice .sub_ttl{ font-size: 2rem; }
	.service_list .flex .right .area .ttl { font-size: 2.4rem; }
	.service_list .flex .right .area .s_box .key ul li{ padding: 12px 25px; }

	.slick-slide img{ height: 260px; }

	#privacy #sec01 .listtile{ font-size: 1.7rem; }
	#privacy #sec01 .box:not(:last-child){ padding-bottom: 50px; }
	#privacy #sec01 h3 {  margin-bottom: 30px; font-size: 2rem;}

#site-policy .box:not(:last-child){ margin-bottom: 50px; }
#site-policy #sec01 .listtile{ font-size: 1.7rem; }
#site-policy #sec01 h3 {  margin-bottom: 30px; font-size: 2rem;}

#top section{ padding: 70px 0; }




	




}