@charset "utf-8";
/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1224px) and (min-width: 1201px) {
	.btn.contact {
		width: 160px;
	}
	.btn.contact::before {
		margin-right: 5px;
	}
}
@media screen and (max-width: 1200px) and (min-width: 641px) {
	/* layout */
	html,body,header,footer {
		width: 1200px;
	}
	.wrapper {
		padding: 0 5%;
	}
	header .flex_l {
		display: flex;
		align-items: center;
		margin: 20px;
	}
	header p {
		display: none;
	}
	#gnav ul li {
		padding: 41px 8px;
	}
	.btn.contact {
		width: 160px;
	}
	.btn.contact::before {
		margin-right: 5px;
	}
	#index_wwa ul li {
		padding: 170px 46px 80px;
	}
	#index_news .news_list li {
		width: 740px;
	}
	#index_news .layout_flex.sb {
		gap: 0 30px;
	}
	.news_list p.tag {
		white-space: nowrap;
	}
	#index_recruit::after {
		width: 38%;
		bottom: -300px;
	}
	#index_recruit p.intro {
		width: 36%;
	}
	#index_recruit .pict.bottom {
		max-width: 633px;
		height: 367px;
		bottom: -170px;
		right: 140px;
	}
	#bottom_contact ul li {
		padding: 0 3%;
	}
	#bottom_contact ul li:first-of-type {
		width: 34%;
		padding-left: 3%;
	}
	#bottom_contact ul li:nth-of-type(2) {
		width: 33%;
	}
	#bottom_contact ul li:nth-of-type(3) {
		width: 33%;
		padding: 0 3%;
	}
	#service_strength .slick-slider {
		height: 150px;
	}
	#service_strength ul.service_works_slider .slick-slide {
		width: 224px!important;
		height: 150px!important;
	}
	#service_strength .pict {
		max-width: 40%;
	}
	#service_strength .slick-dots {
		bottom: 0;
	}
	#service_wwcd ul {
		gap: 50px 40px;
	}
	#service_wwcd ul li {
		width: 48%;
	}
	#service_wwcd ul li figure {
		max-width: 100%;
		height: 328px;
	}
	#service_wwcd ul li .text_box {
		min-height: 310px;
	}
	#company_greeting .text_box {
		max-width: 65%;
	}
	#company_facilities .box ul li {
		width: 32%;
	}
	#company_greeting .pict {
		max-width: 30%;
		height: 417px;
	}
	#company_facilities .wide_box ul {
		gap: 50px 30px;
	}
	#company_facilities .wide_box ul li {
		width: 48%;
	}
	#company_access iframe {
		width: 100%;
		height: 500px;
	}
	#company_history table tr {
		border-top: 0;
	}
	#company_history table tr:last-of-type {
		border-bottom: 0;
	}
	#company_history table tr th,
	#company_history table tr td {
		padding: 2%;
	}
	#company_history table tr th {
		max-width: 30%;
	}
	#company_history table tr td {
		max-width: 62%;
		border-top: 0;
	}
	#recruit_work .pict {
		max-width: 40%;
		width: 100%;
		height: 295px;
	}
	#recruit_work .text_box {
		max-width: 55%;
	}
	#recruit_work::after {
		width: 35%;
	}
	#recruit_person ul li:nth-of-type(2) p {
		max-width: 500px;
	}
	#kendo .white_box .pict_list, 
	#recreation .white_box .pict_list {
		max-width: 40%;
	}
	#kendo .white_box .text_box,
	#recreation .white_box .text_box {
		max-width: 55%;
	}  
	#kendo .white_box .pict_list .layout_flex {
		gap: 10px;
	}
	#kendo .white_box .pict_list .layout_flex .pict {
		max-width: 48%;
		height: 118px;
	}
	#recruit_requirements .requirements_box {
		padding: 60px 4% 80px;
	}
	#recruit_requirements dl dt {
		width: 25%;
	}
	#recruit_requirements dl dd {
		width: 75%;
	}
	#recruit_entry #mailformpro {
		padding: 40px 4% 80px;
	}
	.sub_section table tr th {
		width: 20%;
		padding: 2%;
	}
	.sub_section table tr td {
		width: 65%;
		padding: 2%;
	}
	#mailformpro textarea {
		min-width: 100%!important;
	}
	.news_contents {
		gap: 0 30px;
		padding: 90px 5% 160px;
	}
	#news article {
		width: 75%;
	}
	#news aside {
		width: 25%;
	}
	#news .archive ol li .pict {
		max-width: 36%;
	}
	#news .archive ol li .flex_r {
		width: 60%;
	}
	.single_pagenavi {
		margin: 50px auto 0;
	}
	.single_pagenavi li a {
		width: 230px;
		height: 60px;
		line-height: 58px;
	}
	.single .news_contents {
		padding: 90px 0 160px;
	}

	#bottom_contact .cta_contents {
		height: 457px;
	}

}

/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 641px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 640px) {
	.sp_none{
		display: none!important;
	}

	/* スマホ用メニュー */
	.index #wrapper{
		min-width: 20pc;
		height: auto;
		height: auto;
		padding: 0;
		overflow: hidden;
	}
	.drawer .contents{
		transition: transform 0.6s;
	}
	.drawer #navTgl:checked ~ .contents{
		transform: translateX(-250px);
	}
	.index #navTgl{
		display: none;
		overflow: hidden;
	}
	.drawer label.pc_none{
		position: fixed;
		top: 0;
		right: 0;
		transition: 0.6s;
		cursor: pointer;
	}
	.drawer .open{
		width: 50px;
		height: 50px;
		color: #fff;
		font-size: 2.2em;
		line-height: 35px;
		text-align: center;
		background-color: #2751A0;
		z-index: 20;
	}
	.drawer .open span{
		position: absolute;
		display: block;
		font-size: 1rem;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0;
		left: 0;
		right: 0;
		bottom: 5px;
		margin: auto;
	}
	.drawer .close{
		width: 100%;
		height: 100%;
		z-index: 1;
		pointer-events: none;
		transition: background-color 0.6s;
	}
	.index #navTgl:checked + .open{
		transform: translateX(-250px);
	}
	.drawer #navTgl:checked ~ .close{
		pointer-events: auto;
		background-color: rgba(255,255,255,.6);
		z-index: 10;
	}
	.menu{
		position: fixed;
		top: 0;
		right: 0;
		width: 250px;
		height: 100%;
		padding: 60px 30px;
		background-color: #677AAC;
		transform: translateX(100%);
		transition: transform 0.6s;
		box-sizing: border-box;
		overflow: auto;
		z-index: 20;
	}
	.index #navTgl:checked ~ .menu{
		transform: translateX(0);
	}
	.menu ul{
		padding: 0;
	}
	.menu .dropdown > li{
		position: relative;
		font-size: .8em;
		line-height: 1.8;
		letter-spacing: .05em;
		border-bottom: 1px solid #FFF;
	}
	.menu a{
		position: relative;
		display: block;
		color: #FFF;
		padding: 1em 1em 0.9em;
	}
	.menu .text_link::after {
		background-color: #fff;
	}
	.menu ul li.dropdown_sub {
		position: relative;
	}
	.menu ul li.dropdown_sub::after {
		position: absolute;
		content: "";
		top: 17px;
		right: 5px;
		width: 8px;
		height: 8px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		transition: .3s;
	}
	.menu li.dropdown_sub.selected::after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		transition: .3s;
	}
	.sp_tel,.sp_mail{
		position: absolute;
		width: 50px;
		height: 50px;
		color: #222;
		text-align: center;
		background-color: #FFF;
		background-repeat: no-repeat;
		top: 0;
		z-index: 10;
	}
	.sp_tel {
		background-image: url(../images/common/icon_telK.svg);
		background-position: top 10px center;
		background-size: 14px auto;
		right: 100px;
	}
	.sp_mail {
		background-image: url(../images/common/icon_mailK.svg);
		background-position: top 13px center;
		background-size: 20px auto;
		top: 0;
		right: 50px;
	}
	.sp_logo{
		position: fixed;
		display: block;
		width: 100%;
		height: 50px;
		font-size: 0;
		background: #FFF url(../images/common/logo.svg) no-repeat center left 10px;
		background-size: auto 30px;
		top: 0;
		left: 0;
		box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
		z-index: 10;
	}
	header .layout_flex,#gnav{
		display: none;
	}
	header,header.fixed {
		position: fixed;
		/*box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;*/
		height: 50px;
		top: 0!important;
		z-index: 0;
	}
	#wpadminbar {
		position: fixed;
	}
	.customize-support header,
	.customize-support label.pc_none,
	.customize-support .sp_logo {
		top: 46px !important;
	}

	/* slider
	------------------------------ */
	.topslider .slider{
		height: 370px;
		padding: 190px 5% 45px;
	}
	.topslider02 {
		background: url(../images/top/slider02.jpg)no-repeat right bottom;
		background-size: cover;
	}
	.topslider04 {
		background: url(../images/top/slider04.jpg)no-repeat right bottom;
		background-size: cover;
	}
	.topslider .text {
		width: 90%;
		padding: 0;
		margin: auto;
	}
	.topslider p {
		font-size: 2rem;
		text-align: left;
		margin-top: 10px;
		letter-spacing: .1em;
		max-width: 290px;
		padding: 0 12px;
		font-feature-settings: "palt";
	}
	.topslider .text p:nth-of-type(2) {
		max-width: 195px;
	}
	.topslider .text p:last-of-type {
		max-width: 232px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 640px) {
	html {
		max-width: 640px;
		width: 100%;
		-webkit-text-size-adjust: 100%;
	}
	body {
		max-width: 640px;
		min-width: 320px;
		width: 100%;
		letter-spacing: 0;
		font-size: 1.4rem;
	}
	h1,h2,h3{
		line-height: 1.3;
		letter-spacing: .1em;
	}
	p {
		line-height: 1.75;
	}

	/* layout
	------------------------------ */
	.wrapper {
		max-width: 640px;
		padding: 0 5%;
	}
	body > #wrapper > .contents {
		padding-top: 50px;
	}

	/* Common
	------------------------------ */
	.btn, .btn.white{
		width: 260px;
		height: 55px;
		line-height: 55px;
		display: block;
		margin: 0 auto;
	}
	.tel{
		font-size: 2.6rem;
	}
	.tel::before{
		width: 14px;
		height: 21px;
	}

	/* index common
	------------------------------ */
	.index_h2 h2 {
		height: auto;
		font-size: 2rem;
		margin: 20px 0;
		line-height: 1.5;
	}
	.top_section .layout_flex{
		display: block;
	}
	.top_section a.btn {
		margin-top: 40px;
	}

	/* index
	------------------------------ */
	#index_wwa {
		padding-top: 30px;
	}
	#index_wwa::before {
		width: 93%;
		height: 100px;
	}
	#index_wwa .first_contents {
		padding-bottom: 80px;
	}
	#index_wwa .pict {
		max-width: 90%;
		height: 100px;
	}
	#index_wwa .pict img {
		height: 100px;
		object-fit: cover;
	}
	#index_wwa .text_box,
	#index_wwa .intro {
		margin-top: 30px;
	}
	#index_wwa a.btn {
		margin-top: 60px;
	}
	#index_wwa .first_contents::after {
		width: 170px;
		height: 90px;
		bottom: 150px;
		right: 0px;
	}
	#index_wwa ul li {
		width: 100%;
		height: auto;
		padding: 100px 40px 60px;
	}
	#index_wwa ul li .index_h3 h3 {
		font-size: 3rem;
	}
	#index_wwa ul li .index_h3 h3::before {
		height: 42px;
		top: -60px;
	}
	#index_wwa ul li .index_h3 p {
		margin: 12px auto 0;
	}
	#index_wwa ul li p.center {
		margin: 40px auto 0;
	}
	#index_works {
		padding: 70px 0 60px;
	}
	#index_works ul {
		height: 150px;
	}
	#index_works .slick-slide {
		width: 230px!important;
		height: 150px !important;
	}
	#index_news {
		padding: 70px 0 50px;
	}
	#index_news .news_list  {
		margin-top: 15px;
	}
	#index_news .news_list li {
		width: 100%;
		padding: 16px 0;
	}
	#index_news h2 {
		margin-bottom: 0;
	}
	#index_news .index_h2 {
		/* padding-bottom: 14px; */
	}
	.index_news_left {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 20px;
	}
	.index_news_instagram {
		margin-top: 0;
	}
	#index_news .news_list p.date {
		display: inline-block;
		margin-right: 10px;
	}
	#index_news .news_list p.tag {
		font-size: 1.2rem;
		padding: 0 6px;
		margin-right: 0;
		display: inline-block;
	}
	#index_news .news_list li h3 {
		margin-top: 3px;
		letter-spacing: 0.012em;
		padding-right: 60px;
	}
	#index_news a.btn {
		margin-top: 50px;
	}
	#index_access .fl_l {
		position: relative;
		width: 100%;
		height: 720px;
		padding: 70px 0 0 5%;
		background: url(../images/top/access_bg.jpg)no-repeat center bottom -5px;
		background-size: contain;
	}
	#index_access .fl_l p.address {
		margin-top: 30px;
	}
	#index_access .gg_map {
		position: absolute;
		width: 100%;
		margin-top: 0px;
		top: 295px;
	}
	#index_access .gg_map iframe {
		width: 100%;
		height: 180px;
	}
	#index_recruit {
		padding: 70px 0 60px;
		margin-top: -10px;
	}
	#index_recruit::after {
		display: none;
	}
	#index_recruit p.intro {
		margin: 30px auto;
	}
	#index_recruit .pict.top {
		position: relative;
		max-width: 53%;
		width: 100%;
		height: auto;
		z-index: 1;
		margin: 0px 0 0 auto;
	}
	#index_recruit .pict.bottom {
		position: absolute;
		max-width: 50%;
		width: 100%;
		height: auto;
		bottom: 160px;
		left: 0;
	}
	#index_recruit a.btn {
		margin-top: 60px;
	}
	#index #bottom_contact {
		padding-top: 0;
	}

	/* sub common
	------------------------------ */
	.main_title::after {
		height: 220px;
		background: linear-gradient(90deg, rgba(39, 81, 160, 0.98) 20%,rgba(39, 81, 160, 0.00) 120%);
	}
	.main_title .inner{
		position: relative;
		display: block;
		width: 100%;
		height: 220px;
		padding: 97px 0;
		background-repeat: no-repeat;
		background-position: center right -120px;
		background-size: cover;
	}
	.main_title .sub_h1{
		font-size: 2.6rem;
		line-height: 1;
		letter-spacing: .1em;
	}
	.main_title .sub {
		font-size: 0;
		height: 52px;
	}
	.sub_section{
		padding-top: 60px;
	}
	.sub_section:first-of-type{
		padding-top: 70px;
	}
	.sub_section h2{
		font-size: 2.2rem;
		letter-spacing: 0;
		margin-bottom: 30px;
	}
	.sub_h2 p {
		height: 20px;
		padding-bottom: 22px;
	}
	.sub_section h3{
		font-size: 2rem;
		margin: 0 0 20px;
		padding: 0 0 10px 12px;
	}
	.sub_section h3::before {
		height: 28px;
		top: 3px;
	}
	.sub_section h4{
		font-size: 1.8rem;
		line-height: 120%;
	}
	.sub_section .layout_flex{
		display: block;
	}
	.sub_section table{
		border-top: 0;
		border-left: 0;
	}
	.sub_section table tr th,
	.sub_section table tr td{
		position: relative;
		display: block;
		width: 100%;
		padding: 2% 5%;
		box-sizing: border-box;
	}
	.sub_section table tr td{
		margin-bottom: 10px;
	}
	.sub_section table tr:last-child td{
		margin-bottom: 0;
	}
	.sub_section dl{
			/*margin-bottom: 10px;
			padding-bottom: 10px;*/
		}
		.sub_section dl:last-child{
			margin-bottom: 0;
		}
		.sub_section .tel_box{
			padding: 5%;
		}
		.sub_section .tel_box p.tel{
			margin-bottom: 5px;
		}
	/*.sub_section .layout_flex.pict_r_contents {
			display: flex;
	    flex-direction: column-reverse;
	}*/
	.circle {
		top: 1px;
	}

	
	/* service
	------------------------------ */
	#service .main_title .sub {
		height: 52px;
	}
	#service_strength {
		padding: 50px 0 100px;
	}
	.strength_contents {
		padding-bottom: 60px;
	}
	#service_strength .text_box {
		margin-top: 20px;
	}
	#service_strength .strength_h3 h3 {
		line-height: 1.5;
		padding: 0;
		margin-bottom: 20px;
	}
	#service_strength .strength_h3 p {
		margin: 16px 0 6px;
	}
	#service_strength .strength_h3 p::after {
		width: 70px;
		height: 40px;
		left: 94px;
		top: -10px;
	}
	#service_strength .text_box p {
		line-height: 2;
	}
	#service_strength .text_box p.blank {
		margin-top: 20px;
	}
	#service_strength .pict {
		max-width: 320px;
		height: auto;
		margin: 0 auto 40px;
	}
	.strength_01.strength_contents {
		padding-top: 40px;
	}
	.strength_01.strength_contents::after {
		max-width: 320px;
		height: 380px;
		right: -20px;
		top: 0;
	}
	.strength_02.strength_contents {
		padding-top: 60px;
	}
	.strength_02.strength_contents::after {
		width: 320px;
		height: 380px;
	}
	.strength_03.strength_contents {
		padding: 60px 0 50px;
	}
	.strength_03.strength_contents::after {
		width: 320px;
		height: 380px;
		right: -20px;
	}
	#service_strength .slick-slider {
		height: 120px;
	}
	ul.service_works_slider .slick-slide {
		width: 186px!important;
		height: 120px !important;
		margin-right: 10px;
	}
	#service_strength .slick-dots {
		bottom: -30px;
	}
	#service_wwcd {
		padding: 60px 0 70px;
	}
	#service_wwcd ul li {
		width: 100%;
		margin-top: 30px;
	}
	#service_wwcd ul li figure {
		width: 100%;
		height: auto;
	}
	#service_wwcd ul li .text_box {
		padding: 10%;
	}
	#service_wwcd .text_box figcaption {
		font-size: 2.2rem;
		line-height: 1.4;
	}

	/* company
	------------------------------ */
	#company_greeting {
		position: relative;
		padding-bottom: 80px;
	}
	#company_greeting::before {
		width: 250px;
		height: 130px;
		bottom: 30px;
		left: 0px;
	}
	#company_greeting .pict {
		max-width: 280px;
		height: auto;
		margin: 0 auto 30px;
	}
	#company_facilities .box, #company_facilities .wide_box {
		padding-top: 60px;
	}
	#company_facilities .box:first-of-type {
		padding-top: 20px;
	}
	#company h3.h3_line {
		padding-left: 12px;
		padding-bottom: 0;
		margin-bottom: 18px;
	}
	#company h3.h3_line::before {
		width: 5px;
	}
	#company_facilities ul li {
		margin-top: 20px;
	}
	#company_facilities .box ul li .accordion_box {
		margin-top: 15px;
	}
	#company dl {
		display: block;
	}
	#company dl dt,#company dl dd {
		width: 100%;
	}
	#company dl dt {
		border-bottom: 0;
	}
	#company dl dd {
		padding: 8px 8px 16px;
		border-right: 0;
		border-bottom: 0;
	}
	#company dl:first-of-type dd {
		border-top: 0;
	}
	#company_facilities {
		padding-bottom: 80px;
	}
	#company_facilities .wide_box ul {
		padding: 20px 20px 30px;
	}
	#company_facilities .wide_box ul li {
		width: 100%;
	}
	#company_facilities .wide_box ul li {
		margin-top: 50px;
	}
	#company_facilities .wide_box ul li:first-of-type {
		margin-top: 0;
	}
	#company_facilities .wide_box dl dt, 
	#company_facilities .wide_box dl dd {
		padding: 8px;
	}
	#company_facilities .wide_box dl dd {
		padding-bottom: 16px;
	}
	#company_outline dl dt, 
	#company_outline dl dd {
		padding: 8px 12px;
	}
	#company_outline dl dd {
		padding-bottom: 20px;
	}
	#company_access {
		padding-bottom: 80px;
	}
	#company_access iframe {
		width: 100%;
		height: 260px;
	}
	#company_history {
		padding: 60px 0 80px;
	}
	#company_history table tr {
		border-top: 2px solid #CBCBCB;
	}
	#company_history table tr th {
		max-width: 100%;
		width: 100%;
		padding: 12px 20px;
	}
	#company_history table tr td {
		max-width: 100%;
		width: 100%;
		padding: 16px 20px 20px;
		margin-bottom: 0;
	}
	#company_history table tr th::after {
		width: 90%;
		height: 1px;
		margin: auto;
		top: unset;
		left: 0;
	}


	/* recruit
	------------------------------ */
	#recruit .main_title .inner {
		background-image: url(../images/recruit/maintitle_recruit.jpg);
		background-position: center right -300px;
	}
	#recruit_message {
		padding-top: 50px;
	}
	#recruit_message::before {
		width: 100%;
		height: 160px;
	}
	#recruit_message .text_box {
		width: 100%;
		max-width: 100%;
		padding: 40px 5% 50px 7%;
		margin: 70px auto 0;
	}
	#recruit_work {
		padding: 80px 0 70px;
	}
	#recruit_work::after {
		display: none;
	}
	#recruit_work .pict {
		width: 100%;
		height: auto;
		margin: 0 auto 25px;
	}
	#recruit_person {
		padding: 60px 0 0;
	}
	#recruit_person h2 {
		font-size: 1.8rem;
		letter-spacing: -0.01em;
	}
	#recruit_person .sub_h2 p {
		margin-bottom: 25px;
	}
	#recruit_person .white_box {
		padding: 10% 5%;
	}
	#recruit_person ul li {
		padding: 40px 0 40px 5%;
	}
	#recruit_person ul li h3 {
		padding: 0 0 10px 20px;
	}
	#recruit_person ul li h3::before {
		width: 50px;
		height: 44px;
		left: -20px;
		top: -20px;
	}
	#recruit_person ul li h3::after {
		width: 43px;
		height: 54px;
		right: 4px;
		top: 0;
	}
	#recruit_person ul li:nth-of-type(2) h3::after {
		width: 63px;
		height: 55px;
		right: -10px;
	}
	#recruit_person ul li:nth-of-type(3) h3::after {
		width: 86px;
		height: 55px;
		right: 3px;
	}
	#recruit_person .pict_list {
		display: flex;
		margin-top: 50px;
	}
	#kendo {
		padding-top: 60px;
	}
	#kendo .white_box, #recreation .white_box {
		padding: 5% 5% 10%;
	}
	#kendo .white_box .pict_list, #recreation .white_box .pict_list {
		margin: 0 auto;
	}
	#kendo .white_box .pict_list .layout_flex {
		display: flex;
		margin-top: 10px;
		gap: 10px 0;
		justify-content: space-between;
	}
	#kendo .white_box .pict_list .layout_flex .pict {
		max-width: 49%;
		width: 100%;
		height: auto;
	}
	#kendo .white_box .text_box, 
	#recreation .white_box .text_box {
		margin-top: 30px;
	}
	#kendo .white_box .text_box p.title, 
	#recreation .white_box .text_box p.title {
		font-size: 2.2rem;
	}
	#kendo .bottom {
		display: flex;
		margin-top: 50px;
		justify-content: center;
		gap: 15px;
		align-items: center;
		flex-direction: column-reverse;
	}
	#recreation {
		padding-top: 30px;
	}
	#recreation .white_box .pict_list .pict {
		height: auto;
	}
	#recreation p.blank {
		margin-top: 20px;
	}
	#recruit_requirements .requirements_box {
		padding: 10% 5%;
	}
	#recruit_requirements dl {
		display: block;
	}
	#recruit_requirements dl dt {
		width: 100%;
		padding: 10px;
		border-top: 1px solid #2751A0;
	}
	#recruit_requirements dl dd {
		width: 100%;
		padding: 12px 10px 40px;
		border-bottom: 0;
	}
	#recruit_requirements dl:first-of-type dd {
		border-top: 0; 
	}
	#bnr_mynavi a {
		max-width: 220px;
		padding: 30px 0 0;
	}
	/*#bnr_mynavi {
		width: 100%;
		padding: 30px 0 0;
	}
	#bnr_mynavi a::after {
	    width: 24px;
	    height: 12px;
	    right: 20px;
	}*/
	#recruit_entry {
		padding: 60px 0 80px;
	}
	#recruit_entry p.intro {
		padding: 5%;
	}
	#recruit_entry #mailformpro {
		padding: 10px 5% 60px;
	}
	#recruit_entry table tr td {
		border-top: 0;
		border-left: 1px solid #CBCBCB;
		margin-bottom: 15px;
	}

	/* contact
	------------------------------ */
	#contact_tel {
		padding-bottom: 80px;
	}
	#contact_tel .box {
		padding: 5%;
		border: 3px solid #ECECEC;
	}
	#contact_tel .box div h3 {
		padding: 0;
	}
	#contact_tel .hour {
		margin: 10px auto 20px;
	}
	#contact_tel .box .tel p.tel_number a, 
	#contact_tel .box .fax p.fax_number {
		width: 100%;
		max-width: 250px;
		height: 35px;
	}
	#contact_mail {
		padding-bottom: 80px;
	}
	#contact_mail .white_box {
		padding: 5% 5% 10%;
	}
	#contact_mail #mailformpro {
		margin-top: 20px;
	}
	#contact_mail #mailformpro table tr td {
		margin-bottom: 15px;
		border-left: 1px solid #CBCBCB;
		border-top: 0;
	}
	#privacy_policy{
		padding-top: 0;
		padding-top: 0px;
		margin: 20px auto 0;
		height: 180px;
	}
	.privacy_policy_box{
		height: 200px;
		padding: 5%;
	}
	#privacy_policy .inner{
		height: 160px;
		padding: 30px;
		overflow-y: scroll;
	}
	#privacy_policy h3{
		letter-spacing: 0;
		margin: 0 0 15px;
	}
	#privacy_policy p{
		font-size: 1.4rem;
	}

	/* thanks */
	#thanks .main_title .sub_h1,
	#thanks_entry01 .main_title .sub_h1{
		line-height: 1.5;
	}
	#thanks01 {
		padding-top: 50px;
	}
	#thanks01 .tel_box,
	#thanks_entry01 .tel_box {
		margin-top: 15px;
		display: block;
		text-align: center;
	}
	#thanks01 .tel_box .tel, 
	#thanks_entry01 .tel_box .tel {
		position: relative;
		font-size: 0;
		background: url(../images/contact/tel_num.svg)no-repeat center;
		background-size: contain;
		width: 100%;
		max-width: 302px;
		margin: auto;
	}
	#thanks01 p,
	#thanks_entry01 p{
		margin-top: 12px;
	}
	#thanks01 a.btn,
	#thanks_entry01 a.btn{
		margin-top: 25px;
	}

	/* bottom_contact
	------------------------------ */
	#bottom_contact .cta_contents {
		height: auto;
		background: url(../images/top/bottom_contact_bg.jpg)no-repeat center center;
		background-size: cover;
		padding: 80px 0 0;
	}
	#bottom_contact .index_h2 {
		top: 60px;
		left: 0;
	}
	#bottom_contact .index_h2 h2 {
		font-size: 1.8rem;
		margin: 13px auto 0;
		text-align: center;
	}
	#bottom_contact .index_h2 p {
		width: 90%;
		height: 58px;
		margin: 0 auto;
	}
	#bottom_contact ul li {
		padding: 10% 5%;
		border-right: 0;
		border-bottom: 1px solid #fff;
	}
	#bottom_contact ul li:nth-of-type(3) {
		border-bottom: 0;
	}
	#bottom_contact ul li p {
		font-size: 1.4rem;
		max-width: 320px;
		margin: auto;
	}
	#bottom_contact a.btn {
		margin-top: 30px;
	}
	#bottom_contact ul li .tel_box {
		width: 100%;
		max-width: 260px;
		height: 55px;
		line-height: 53px;
		margin: 23px auto 0;
	}
	#bottom_contact ul li .tel_box a{
		font-size: 3rem;
	}


	/* news - archive
	------------------------------ */
	#news .main_title .inner {
		height: auto;
		background-position: center right;
	}
	#news .news_contents {
		display: block;
		padding: 10% 5%;
		padding-bottom: 60px;
	}
	#news main > .wrapper > .layout_flex{
		display: block;
	}
	#news .archive {
		padding-top: 0;
	}
	#news .archive ol li{
		width: 100%;
		max-width: 350px;
		margin: auto;
		padding: 10% 5%;
		margin-bottom: 30px;
	}
	#news .archive ol li:last-child{
		margin-bottom: 0;
	}
	#news .archive ol li .pict{
		height: 160px;
		overflow: hidden;
		margin-bottom: 15px;
	}
	#news .archive ol li .pict img{
		height: 160px;
		object-fit: contain;
	}
	#news .archive ol li .text h2{
		font-size: 1.8rem;
		letter-spacing: 0;
		margin: 10px 0 15px;
		padding-bottom: 0;
		text-align: left;
	}
	#news .archive ol li p.date {
		font-size: 1.4rem;
		margin-right: 10px;
	}
	#news .archive ol li p.news_archive_cat {
		font-size: 1.2rem;
		padding: 0px 10px;
		height: 24px;
		line-height: 22px;
	}
	

	/* news - single
	------------------------------ */
	#news.single .news_contents {
		padding: 0 0 80px;
	}
	#single01 {
		padding: 5%;
		margin-top: 50px;
	}
	#single01 h2 {
		font-size: 2rem;
	}
	#single01 h1 {
		font-size: 2rem;
		margin-top: 10px;
		padding-bottom: 8px;
	}
	#single01 p.date {
		margin-right: 10px;
	}
	#single01 p.news_archive_cat {
		font-size: 1.2rem;
		padding: 0px 12px;
	}
	#single01 .content {
		padding-bottom: 20px;
	}
	#single01 .content img {
		max-width: 100%;
		width: 100%;
		margin: 20px auto 0;
		display: block;
	}
	.single_pagenavi {
		margin-top: 20px;
		gap: 0 10px;
		justify-content: center;
	}
	.single_pagenavi li {
		width: 33%;
	}
	.single_pagenavi li a {
		width: 100%;
		height: 40px;
		line-height: 38px;
	}
	#single01 .content p:first-of-type img {
		margin-top: 0;
	}
	#single01 .content div,
	#single01 .content p{
		margin-bottom: 2rem;
	}

	/* aside
	------------------------------ */
	aside{
		padding-top: 80px;
	}
	.category_list h3{
		font-size: 1.8rem;
	}
	.category_list ul li a{
		font-size: 1.4rem;
		padding: 10px 5% 8px;
	}
	.category_list.recent_post {
		margin-top: 25px;
	}
	.category_list ul li.recent_item {
		padding: 16px 12px;
	}

	/* wp-pagenavi
	------------------------------ */
	.pagenavi,.wp-pagenavi{
		margin: 50px 0 0;
	}

	/* 404
	------------------------------ */
	#yonmaruyon01 .btn {
		margin-top: 30px;
	}

	/* Footer
	------------------------------ */
	footer {
		margin-top: 0;
		padding: 30px 0;
	}
	footer::after {
		display: none;
	}
	footer .footer_contents {
		padding: 45px 0 35px;
	}
	footer .logo{
		width: 300px;
		height: 50px;
	}
	footer .layout_flex {
		justify-content: center;
	}
	footer .footer_contents .flex_l p{
		font-size: 1.4rem;
		line-height: 1.86;
		margin: 10px 0 20px;
	}
	footer .footer_contents .bnr_mynavi{
		margin: 20px auto 0;
		display: block;
	}
	footer .flex_r{
		display: none;
	}
	.footer_instagram {
		margin: 30px auto 0;
	}
	small{
		line-height: 30px;
		margin-top: 24px;
	}
	/* 固定フッター
    ------------------------------ */
    .sp_bottom_contact {
    	position: fixed;
    	bottom: 0;
    	display: -webkit-box;
    	display: -ms-flexbox;
    	display: flex;
    	-ms-flex-wrap: wrap;
    	flex-wrap: wrap;
    	width: 100%;
    	z-index: 0;
    }
    .sp_bottom_contact a {
    	color: #fff;
    	padding: 16px 4px;
    	text-align: center;
    	display: block;
    	font-size: 1.4rem;
    	line-height: 1.4;
    	font-weight: 700;
    }
    .sp_bottom_contact .contact {
    	background: #2751A0;
    	width: 50%;
    }
    .sp_bottom_contact .entry {
    	background: #007440;
    	width: 50%;
    }

  /* Page Top
	------------------------------ */
	.pagetop {
		bottom: 70px;
		right: 10px;
	}

}
