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

            スマートフォン

********************************/

@media screen and (max-width: 740px) {
	.sp {
		display: block;
	}

	.pc {
		display: none !important;
	}

	/********************************
            共通・構造
********************************/
	.box {
		flex-wrap: wrap;
	}

	.box1 .box_col {
		width: 100% !important;
		margin-right: 0 !important;
	}

	.box2 .box_col {
		width: 100% !important;
		margin-right: 0 !important;
	}

	/********************************

            ヘッダー

********************************/
	#header {
		height: auto;
		padding: 0;
		box-sizing: border-box;
		line-height: 1;
	}

	#header_description {
		display: none !important;
	}

	#header_description {
		display: block;
		max-width: 100%;
		width: 100%;
		padding: 5px 0;
		margin: 0 auto;
		color: #000000;
		font-size: 12px;
		line-height: 1;
		position: static;
	}


	#fixed_menu {
		display: none;
	}

	.drawer-open .drawer-hamburger-icon {
		background-color: transparent;
	}

	.header_container {
		width: 100%;
		align-items: center;
		flex-wrap: wrap;
	}

	#logo {
		width: 60%;
		padding: 0 10px;
	}

	#header_menu {
		width: auto;
		position: absolute;
		right: 0;
		top: 0;
	}

	nav ul {
		display: block;
	}

	nav ul li {
		width: 100% !important;
		padding: 0;
		border-bottom: 1px solid #002e60;
		background: none !important;
	}

	nav ul li:before {
		content: "";
		display: none;
	}

	nav ul li a {
		display: block;
		text-align: left !important;
		line-height: 1.6;
		padding-top: 10px !important;
	}


	/********************************

            メインビジュアル

********************************/
	#visual {
		width: 100%;
		height: auto;
		background: none;
		margin-top: 65px;
	}

	#visual p#slide_copy {
		display: none !important;
	}

	/********************************
      トップページ
********************************/
	article section {
		margin-bottom: 40px;
	}

	.absolute_box {
		width: 100%;
		position: static;
		padding: 20px 30px 0 30px;
		box-shadow: none;
	}

	.absolute_box h2.top_title {
		text-align: left;
		padding: 10px 0;
		font-size: 60px;
	}

	.absolute_box h2.top_title span {
		font-size: 21px;
	}

	.absolute_box p {
		margin-bottom: 50px;
	}

	.absolute_box h3 {
		font-size: 26px;
	}

	.absolute_box .detail_btn {
		margin: 1em auto 0 auto;
	}

	/********************************
      私たちについて
********************************/
	.about_box h3 {
		font-size: 21px;
	}

	.about_box {
		margin-bottom: 60px;
	}

	#about_img {
		height: auto;
		background: none;
	}

	/********************************
            事業内容
********************************/
	#business_img {
		height: auto;
		background: none;
	}

	.business .box1 .box_col {
		order: 2;
	}

	.business .box1 .box_col:last-child {
		order: 1;
	}

	#business_box .strengths_col {
		width: 100%;
		margin-right: 0;
		margin-bottom: 40px;
	}

	#business_box .strengths_col:last-child {
		margin-bottom: 0;
	}

	/********************************
            企業情報
********************************/
	#company_img {
		height: auto;
		background: none;
	}


	/********************************
            新着情報
********************************/
	.news h2 {
		font-size: 60px;
	}

	.news h2 span {
		font-size: 21px;
	}

	/* .news dl {
		flex-wrap: wrap;
		padding: 15px;
	}

	.news dl dt {
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
		line-height: 1;
	}

	.news dl dd {
		width: 100%;
	} */

	.news_container {
		max-width: 100%;
		padding: 0 10px;
	}

	/********************************
            お問い合わせ
********************************/
	#contact {
		max-width: 100%;
		margin-bottom: 0;
		border: none;
		padding: 40px 30px;
	}

	#contact ul {
		flex-wrap: wrap;
	}

	#contact ul li {
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
	}

	#contact ul li:last-child {
		margin-bottom: 0;
	}

	#contact ul li .tel_icon {
		font-size: 28px;
	}

	#contact ul li a {
		text-align: center;
	}

	/********************************
            フッター
********************************/
	#footer {
		padding: 20px;
	}

	.footer_container {
		width: 100%;
	}

	#footer p.footer_logo {
		display: block;
	}

	#footer p.copyright {
		padding-top: 20px;
		padding-bottom: 0;
	}

	.footer_box {
		flex-wrap: wrap;
		width: 100%;
	}

	.footer_box_col {
		width: 100%;
		margin-right: 0;
	}

	.footer_box_col:last-child {
		display: none !important;
	}

	#footer p.footer_logo {
		text-align: center;
		margin-bottom: 30px;
	}

	#footer p.address {
		display: flex;
		justify-content: center;
	}

	p.copyright {
		font-size: 12px;
		padding: 20px;
		line-height: 1;
	}

	/********************************
            次階層
********************************/
	.next_header {
		margin: 65px 0 40px 0;
	}

	#next_main section {
		padding: 0 10px;
		box-sizing: border-box;
	}

	.colum2_box {
		flex-wrap: wrap;
	}

	.colum2_col {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}

	.colum2_col:last-child {
		margin-bottom: 0;
	}

	.box_colum {
		flex-wrap: wrap;
	}

	.box_colum1-1 {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}

	.box_colum1-2 {
		width: 100%;
	}

	.container {
		max-width: 100%;
	}

	.container2 {
		max-width: 100%;
	}

	.next_container {
		max-width: 100%;
	}

	.next_container2 {
		max-width: 100%;
	}

	.next_message p {
		font-size: 15px;
	}

	/********************************
          私たちについて
********************************/
	#about_header {
		background: url("../images/common/sp_about_header.jpg") no-repeat;
		background-position: center center;
		background-size: cover;
	}

	.strengths_box {
		flex-wrap: wrap;
	}

	.strengths_col {
		width: 100%;
		margin-right: 0;
		margin-bottom: 40px;
	}

	.strengths_col:last-child {
		margin-bottom: 0;
	}

	.strengths_col .description p {
		word-break: break-all;
	}


	/********************************
          会社案内
********************************/
	#company_header {
		background: url("../images/common/sp_company_header.jpg") no-repeat;
		background-position: center center;
		background-size: cover;
	}

	.top_message {
		flex-wrap: wrap;
	}

	.top_img {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
		text-align: center;
	}

	.top_description {
		width: 100%;
	}

	.top_description p {
		font-size: 16px;
	}

	.company_profile table {
		table-layout: fixed;
	}

	.company_profile table th {
		width: 30%;
		padding: 15px 8px;
		font-size: 15px;
	}

	.company_profile table td {
		width: 70%;
		font-size: 15px;
	}

	/********************************
          業務内容
********************************/
	#business_header {
		background: url("../images/common/sp_business_header.jpg") no-repeat;
		background-position: center center;
		background-size: cover;
	}

	/********************************
          お問い合わせ
********************************/
	#contact_header {
		background: url("../images/common/sp_contact_header.jpg") no-repeat;
		background-position: center center;
		background-size: cover;
	}

	.phone_number_box {
		flex-wrap: wrap;
	}

	.phone_number_box p {
		width: 100%;
		margin-right: 0;
	}


	.contact_form table {
		table-layout: fixed;
	}

	.contact_form table th {
		width: 30%;
		padding: 15px 7px;
		font-size: 14px;
	}

	.contact_form table th span {
		font-size: 14px;
		position: static;
		display: block;
		transform: none;
		margin-top: 10px;
		font-size: 14px;
	}

	.contact_form table td {
		width: 70%;
	}

	.contact_form table td input {
		max-width: 100% !important;
	}

	/********************************
          お知らせ一覧
********************************/
	#news_header {
		background: url("../images/common/sp_news_header.jpg") no-repeat;
		background-position: center center;
		background-size: cover;
	}


	#news_list dl {
		flex-wrap: wrap;
		line-height: 1;
	}

	#news_list dl dt {
		width: 100%;
		margin-right: 0;
		padding: 15px 0 0 10px;
		line-height: 1;
	}

	#news_list dl dd {
		width: 100%;
		line-height: 1;
		word-break: break-all;
	}

	#news_list dl dd.nolink {
		padding: 10px 10px 15px 10px;
		line-height: 1.8;
	}


	#news_list dl a {
		padding: 10px 10px 15px 10px;
		line-height: 1.8;
	}

	#news_list dl dd a:after {
		display: none !important;
		content: url("../images/common/news_arw.svg");
		display: inline-block;
		position: static;
		transform: none;
		vertical-align: middle;
		padding-left: 15px;
	}

	#news_list dl dd a:hover:after {
		display: none !important;
		content: url("../images/common/news_arw_hover.svg");
		display: inline-block;
		position: static;
		transform: none;
	}

	#pagenation {
		padding: 0 10px;
	}

	#pagenation p {
		width: 30%;
	}

	#pagenation p.next {
		text-align: right;
	}

	#pagenation ul {
		width: auto;
	}

	#pagenation ul li a {
		width: 30px;
		height: 30px;
		line-height: 30px;
		font-size: 13px;
	}

	#pagenation p a {
		font-size: 13px;
	}

	/********************************
          お知らせ詳細
********************************/
	.news_box {
		flex-wrap: wrap;
	}

	.news_box_left {
		width: 100%;
		margin-right: 0;
		padding-left: 0;
		margin-bottom: 40px;
	}

	.news_box_right {
		width: 100%;
	}

	#pagenation2 {
		padding: 0 10px;
	}

	#pagenation2 p {
		width: 48%;
	}

	#pagenation2 p.next {
		text-align: right;
	}

	#pagenation2 p a {
		font-size: 13px;
	}


	/********************************
          プライバシーポリシー
********************************/
	#privacy_header {
		background: url("../images/common/sp_privacy_header.jpg") no-repeat;
		background-position: center center;
		background-size: cover;
	}


	.privacy_policy {
		margin-bottom: 70px !important;
	}

	#sitepolicy a {
		line-height: 1.8;
	}

}

/* スマホ */

/********************************

            PCのみ

********************************/

@media screen and (min-width: 740px) {
	.pc {
		display: block;
	}

	.sp {
		display: none !important;
	}

	/********************************

            固定メニュー

********************************/
	#fixed_menu {
		display: none;
		width: 100%;
		/* height: 560px; */
		height: 100vh;
		padding: 40px 20px;
		background-color: rgba(255, 255, 255, 0.8);
		/* background: url("../images/top/fixed_back.png") no-repeat;
		background-size: cover;
		background-position: center center; */
		box-sizing: border-box;
		position: absolute;
		left: 0;
		top: 109px;
	}

	.active-menu {
		display: block !important;
	}

	.open_fixed #slide_copy {
		display: none !important;
	}

	/********************************

			開閉メニュー

********************************/
	.active-button .drawer-hamburger-icon {
		background-color: transparent;
	}

	.active-button .drawer-hamburger:after {
		content: "close";
	}

	.active-button .drawer-hamburger-icon {
		background-color: transparent;
	}

	.active-button .drawer-hamburger-icon:before,
	.active-button .drawer-hamburger-icon:after {
		top: 0;
	}

	.active-button .drawer-hamburger-icon:before {
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.active-button .drawer-hamburger-icon:after {
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	.fixed_header {
		max-width: 1240px;
		width: 100%;
		height: 100%;
		margin: 0 auto;
		position: relative;
	}

	.fixed_menu_box {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		padding: 0 4%;
	}

	.fixed_menu_box_col {
		width: 23%;
		margin-bottom: 50px;
		margin-right: 2%;
	}

	.fixed_menu_box_col h2 {
		margin-bottom: 10px !important;
		padding-bottom: 10px;
		border-bottom: 1px dashed #7f7f7f;
		line-height: 1;
	}

	.fixed_menu_box_col h2 a {
		color: #0083b7;
	}

	.fixed_menu_box_col ul {
		display: block;
	}

	.fixed_menu_box_col ul li {
		display: block;
	}

	.fixed_menu_box_col ul li a {
		display: block;
		font-size: 14px;
		padding: 3px 0;
		color: #000000;
		text-decoration: none;
	}

	.fixed_menu_box_col ul li a:before {
		content: url("../images/common/fixed_arw_right.svg");
		display: inline-block;
		padding-right: 5px;
		vertical-align: baseline;
		line-height: 1;
	}

	.fixed_menu_box_col ul li a:hover {
		text-decoration: underline;
	}

	.active-visual p#copy {
		display: none;
	}

	.active-visual p#visual_img {
		display: none;
	}


	/********************************
      トップページ
********************************/
	.about_box .absolute_box {
		right: 13% !important;
	}

	.business .absolute_box {
		left: 13% !important;
	}

	.company .absolute_box {
		right: 13% !important;
	}

	.business img {
		display: block;
		margin: 0 0 0 auto;
	}


}

/* PC */

/********************************
            1200px以下
********************************/
@media screen and (max-width: 1200px) {
	.about_box .absolute_box {
		right: 0 !important;
	}

	.business .absolute_box {
		left: 0 !important;
	}

	.company .absolute_box {
		right: 0 !important;
	}

}

/* 1400 */
/********************************
            PC以下
********************************/

@media screen and (max-width: 1240px) {

	nav ul li a {
		padding: 50px 10px 10px 10px;
		font-size: 13px;
	}

	p#visual_img img {
		width: 90%;
	}

	/* .drawer-hamburger {
		position: absolute;
		padding: 0;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	} */

}