@charset "utf-8";
/*==================================================
	タブレットのみ適応
==================================================*/
@media only screen and (max-width: 768px) and (min-width: 641px){
	.dsp_smt { display: none; }
	#footer .contact .txt span {
		display: inline-block;
		margin-left: 10px;
	}
}
/*==================================================
	タブレット・スマホに適応
==================================================*/
@media only screen and (max-width: 768px) {
	.dsp_hp { display: none; }

	/* ヘッダ */
	#header {
		width: 100%;
		overflow: hidden;
		height: 50px;
		padding: 0;
		background: #fff;
	}
	#header .lang li a {
		font-size: 13px;
		margin: 0;
		padding: 0px 10px 0 0;
	}
	#header h1 {
		width: 100%;
		background: #F2F2F2;
		color: #999;
		font-size: 10px;
		line-height: 25px;
		margin: 0;
	}
	#header p {
		margin: 0;
	}
	#header p.title {
		float: left;
		display: flex;
		display: -webkit-flex;
		align-items: center;
		-webkit-align-items: center;
		height: 60px;
		padding-left: 10px;
	}
	#header p.title img {
		width: auto;
		max-height: 45px;
	}
	#sticky {
		z-index: 9997;
		position: fixed;
		top: 0px;
		left: 0;
		width: 100%;
		background: #fff;
		box-shadow: 0 0 5px rgba(0,0,0,0.2);
	}
	#sticky.sticky {
		top: 0;
		/* padding: 6px 5px 5px; */
	}
	/* コンテナ */
	#container h3.sub {
		margin-bottom: 30px;
		font-size: 20px;
	}
	.main {
		padding-left: 15px;
		padding-right: 15px;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer {
		padding: 0 15px;
		box-sizing: border-box;
	}
	#footer .box {
		width: 100%;
	}
	#footer .box dt {
		margin-bottom: 20px;
	}
	#footer .page_top {
		margin-top: 10px;
	}
	#copyright {
		height: 30px;
		line-height: 30px;
		margin-top: 0;
		font-size: 10px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 40px; }
	.pt { padding-top: 40px; }
	.pb { padding-bottom: 40px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	#page_title {
		margin-top: 36px;
	}
	#page_title.sticky {
		margin-top: 8px;
	}
	#page_title h2.sub {
		width: 100%;
		height: 130px;
		box-sizing: border-box;
		padding-left: 15px;
		background-size: contain;
		line-height: 130px;
	}
	.scroll {
		overflow: auto;
		white-space: nowrap;
	} 
	/*
	.scroll.map {
		max-width: 100%;
		overflow-x: scroll;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	*/
	.scroll::-webkit-scrollbar {
		height: 5px;
	}
	.scroll::-webkit-scrollbar-track {
		background: #F1F1F1;
	}
	.scroll::-webkit-scrollbar-thumb {
		background: #BCBCBC;
	}
	.scroll .fl {
		float: left;
	}
	.scroll .fr {
		float: left;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	#slider_1000 .slick-prev,
	#slider_1000 .slick-next {
		display: none!important;
	}
	#slider_1000 {
		width: 100%;
		height: auto;
	}
	#slider_1000 .dsp_smt {
		display: none;
	}
	#slider_1000 .slider img {
		width: 100%;
		height: 370px;
		object-fit: cover;
	}
	#top_msg {
		width: 100%;
		padding: 40px;
		height: auto;
		box-sizing: border-box;
	}
	#top_msg h2 {
		font-size: 21px;
	}
	#sub_link ul {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		margin: 0;
	}
	#sub_link li {
		float: none;
		width: 49%;
	}
	#top_about, #sub_about,
	#top_about .main {
		width: 1000px;
		padding: 0;
	}
	#top_about_box, #sub_about_box {
		width: 100%;
		box-sizing: border-box;
		margin: 30px 0;
		flex-wrap: wrap;
	}
	#top_about_box .box,
	#sub_about_box .box {
		width: 50%;
		padding: 10px;
		box-sizing: border-box;
	}
	#top_about_map {
		overflow: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
		overflow-y: hidden;
		height: 450px;
	}
	#map_about {
		bottom: auto;
		top: 376px;
		left: 6px;
	}
	#map_sydney {
		bottom: auto;
		top: 381px;
	}
	/*--------------------------------------------------
		ABOUT ASG
	--------------------------------------------------*/
	#group .scroll .main {
		width: 95%;
		padding-bottom: 20px;
	}

	#group .scroll .main .fl {
		float: left;
	}
	#group .scroll .main .fr {
		float: right;
		margin-left: 20px;
	}
	#group .box {
		background-size: 80vw;
		padding-top: 32px;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	#group .scroll .fl, 
	#group .scroll .fr {
		font-size: 12px;
		width: 290px;
	}
	#group .box .in{
		width: 100%;
	}
	#group .box h4 {
		height: 16px;
		line-height: 16px;
		padding: 0px 0 30px;
		font-size: 10px;
	}
	#group .box h4 span {
		font-size: 8px;
	}
	#group .box dl {
		margin-left: 3px;
		padding: 15px 0 0 5px;
	}
	#group .box dt {
		font-size: 9px;
		padding: 5px 0 ;
	}
	#group .box dd li {
		padding-left: 7px;
		font-size: 8px;
		background: url(../img/group/p.gif) no-repeat left 7px;
	}
	#group .box .in {
		background: url(../img/group/line02.gif) repeat-y 3px top;
	}
	#group .box .in+.in {
		margin-left: 1px;
	}
	/*--------------------------------------------------
		WHAT WE DO
	--------------------------------------------------*/
	#business dl {
		width: 100%;
		margin-bottom: 20px;
	}
	#business dl:last-of-type {
		margin-bottom: 0;
	}
	
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#contact .box {
		width: 100%;
		margin: 0;
	}
	#mailform .tbl {
		border-bottom: 1px solid #BBB;
	}
	#mailform .tbl th,
	#mailform .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#mailform .tbl input[type="text"],
	#mailform .tbl textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}

/*------------------------------------------------*/
}