/* ---------------------------------
 サイト1.5 の上書き
 reset.css・common.css・style.css と、ページ別の asian.css・europe.css・faq.css・transcription.css は
 現行サイトのまま（2026-10-13 取得）。直した箇所・スマホ表示・遊び心はこのファイルにだけ書く。
----------------------------------*/

/* =================================
 共通
================================= */
.vh{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0 0 0 0);
	white-space:nowrap;
}
.skip{
	position:absolute;
	top:-100px;
	left:8px;
	z-index:200;
	padding:6px 12px;
	background:#fafafa;
	color:#155500;
	font-weight:bold;
}
.skip:focus{
	top:8px;
}
a:focus-visible,
button:focus-visible,
.flag:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
	outline:2px solid #b4f225;
	outline-offset:2px;
}
.sp-label,
.sp-contact,
.menu-toggle{
	display:none;
}
@media (prefers-reduced-motion: no-preference){
	html{
		scroll-behavior:smooth;
	}
}
/* style.css の誤記（imgages/）で読み込めない背景を打ち消す */
#carouselPrev,
#carouselNext{
	background:none;
}

/* ナビのプルダウン（現行は jQuery の slideDown。1.5 は CSS で開く） */
nav #menu3:hover #english_menu,
nav #menu3:focus-within #english_menu,
nav #menu1:hover #euro_menu,
nav #menu1:focus-within #euro_menu,
nav #menu2:hover #asian_menu,
nav #menu2:focus-within #asian_menu{
	display:block;
}

/* ヘッダー右上: メールアドレスの画像（pic_contact.png）を、フォームへのリンクに替える。
   札と btn_form.png は同じ行き先なので、1つのリンクにまとめる */
.header-contact{
	display:flex;
	align-items:center;
	gap:20px;
	color:#fafafa;
	text-decoration:none;
}
#header_contact .header-contact img{
	float:none;
	margin:0;
}
.header-contact-box{
	display:flex;
	align-items:center;
	width:246px;
	height:59px;
	gap:12px;
}
.hc-label{
	display:block;
	flex:0 0 57px;
	height:59px;
	padding-top:6px;
	background:#246503;
	border:1px solid #f1f5ef;
	color:#fafafa;
	font-size:12px;
	font-weight:bold;
	line-height:1.25;
	text-align:center;
}
.hc-label small{
	display:block;
	font-size:9px;
	font-weight:normal;
	letter-spacing:.02em;
}
.hc-text{
	font-size:12px;
	line-height:1.5;
}
.header-contact:hover .hc-text{
	text-decoration:underline;
}

/* =================================
 トップ
================================= */
/* 遊び心 (c): ヒーローの木々のあいだに挨拶が一つずつ浮かぶ */
.hero{
	position:relative;
}
.hero-greetings span{
	position:absolute;
	opacity:0;
	color:#fff;
	font-size:18px;
	letter-spacing:.04em;
	text-shadow:0 1px 6px rgba(0,0,0,.55);
	white-space:nowrap;
	pointer-events:none;
	transition:opacity 1.6s ease;
}
.hero-greetings span.is-on{
	opacity:.92;
}
@media (prefers-reduced-motion: reduce){
	.hero-greetings{
		display:none;
	}
}

/* 遊び心 (a): 国旗でその言語の「森」 */
#language .flags li{
	position:relative;
}
#language .flag{
	display:block;
	position:relative;
	cursor:default;
}
#language a.flag{
	cursor:pointer;
}
#language .forest{
	position:absolute;
	bottom:calc(100% + 6px);
	left:50%;
	padding:1px 8px;
	border-radius:4px;
	background:#155500;
	color:#fafafa;
	font-size:13px;
	font-weight:bold;
	line-height:1.6;
	white-space:nowrap;
	opacity:0;
	transform:translate(-50%, 4px);
	transition:opacity .5s ease, transform .5s ease;
	pointer-events:none;
	z-index:2;
}
#language .forest::after{
	content:"";
	position:absolute;
	top:100%;
	left:50%;
	margin-left:-4px;
	border:4px solid transparent;
	border-top-color:#155500;
}
#language .flag:hover .forest,
#language .flag:focus-visible .forest,
#language .flag.is-shown .forest{
	opacity:1;
	transform:translate(-50%, 0);
}
@media (prefers-reduced-motion: reduce){
	#language .forest{
		transition:none;
		transform:translate(-50%, 0);
	}
}

/* 翻訳者のカルーセル（現行は jQuery。1.5 は js/site15.js） */
#carousel{
	transition:transform .6s ease;
}
/* 矢印の li は style.css の #translator ul li で幅 120px になり、「次へ」（right:-80px）が枠の外へ 80px はみ出して
   1024〜1183px の画面で横スクロールが出る（現行も同じ）。見える位置は変えずに、箱を矢印の画像の幅にする */
#translator #carouselPrev,
#translator #carouselNext{
	width:18px;
	margin:0;
}
#translator #carouselNext{
	right:22px;
}
#carouselPrev button,
#carouselNext button{
	display:block;
	padding:0;
	border:0;
	background:none;
	cursor:pointer;
}
@media (prefers-reduced-motion: reduce){
	#carousel{
		transition:none;
	}
}

/* =================================
 料金表の代わりの見積もり案内
================================= */
.estimate{
	clear:both;
	margin:0 0 30px;
	padding:14px 20px;
	border:solid 1px #155500;
	border-radius:6px;
	background:#eaffcd;
}
.estimate-title{
	margin-bottom:6px;
	color:#155500;
	font-size:15px;
	font-weight:bold;
}
.estimate-link{
	margin-top:8px;
}
.estimate-link a{
	display:inline-block;
	padding:4px 16px;
	border-radius:4px;
	background:#246503;
	color:#fafafa;
	font-weight:bold;
	text-decoration:none;
}
.estimate-link a:hover{
	background:#155500;
	text-decoration:underline;
}

/* 料金・納期の列を除いたサービスの範囲の表（2列なので全幅に広げない） */
.table01.scope{
	width:auto;
	min-width:480px;
	margin-bottom:16px;
}
.table01.scope th,
.table01.scope td{
	padding:5px 20px;
}
.table01.scope td p{
	margin:0;
}

/* サービスの範囲の表の表題（フランス語の音声翻訳。現行は見出しの画像） */
.scope-heading{
	margin:10px 0 8px;
	color:#155500;
	font-size:15px;
	font-weight:bold;
}
/* 見出しの画像（濃い緑の帯に文字）を文字で作ったもの。フランス語の担当紹介（現行はドイツ語の画像を流用していた） */
.band-heading{
	display:inline-block;
	height:45px;
	padding:0 24px;
	background:#0c3000;
	color:#fafafa;
	font-size:18px;
	line-height:45px;
	letter-spacing:.06em;
}

/* 背景画像（写真・アイコン）と文字が重ならないように、PC 幅では画像の場所に見えない箱を右上に置き、本文をその手前で折り返す。
   現行では料金表や改行入りの短い箇条が画像の高さにあり、たまたま重ならなかった。料金を外して本文が上に詰まったので足した。
   箱の大きさは背景画像の絵のある範囲（節の左上からの位置）から決めた。スマホでは背景画像を出さないので要らない */
@media (min-width: 1024px){
	#faq #common::before,
	#faq #transcription::before,
	#faq #rush::before,
	#chinese #speech_translation::before,
	#korean #speech_translation::before,
	#chinese #website::before{
		content:"";
		float:right;
	}
	#faq #common::before{ /* bg_common.png のコーディネーターの写真（横 780〜945px・縦 66〜323px） */
		width:194px;
		height:263px;
	}
	#faq #transcription::before{ /* ico_transcription.png（右上 116×117） */
		width:116px;
		height:65px;
	}
	#faq #rush::before{ /* bg_rush.png（右上 101×98） */
		width:101px;
		height:48px;
	}
	#chinese #speech_translation::before,
	#korean #speech_translation::before{ /* ico_speech.png（右 20px・上 30px、178×129） */
		width:188px;
		height:99px;
	}
	#chinese #website::before{ /* ico_website.png（右 20px・上 50px、126×124） */
		width:136px;
		height:114px;
	}
	/* 英語翻訳の節: 背景の翻訳者の写真（img_translation.png。右 20px・上 480px、298×181）の横に見積もり案内がくる */
	#english #translation .estimate{
		margin-right:310px;
	}
}

/* =================================
 小窓（翻訳者紹介・個人情報・採用情報など）。現行は fancybox。1.5 は dialog＋iframe
================================= */
.popup{
	width:680px;
	max-width:calc(100vw - 32px);
	padding:0;
	border:0;
	border-radius:6px;
	background:#fafafa;
	box-shadow:0 6px 30px rgba(0,0,0,.45);
	overflow:visible;
}
.popup::backdrop{
	background:rgba(12,48,0,.6);
}
.popup iframe{
	display:block;
	width:100%;
	height:500px;
	max-height:calc(100vh - 80px);
	border:0;
	border-radius:6px;
}
.popup-close{
	position:absolute;
	top:-14px;
	right:-14px;
	width:32px;
	height:32px;
	border:2px solid #fafafa;
	border-radius:50%;
	background:#155500;
	color:#fafafa;
	font-size:18px;
	line-height:1;
	cursor:pointer;
}

/* =================================
 お問い合わせ（/contact/）・送信完了（/contact/thanks/）・404
================================= */
#contact section{
	margin-top:20px;
}
#contact .contact-lead{
	margin-bottom:16px;
	line-height:1.8;
}
#contact .contact-lead li{
	list-style:disc;
	margin-left:1.5em;
}
#contact-form .inquiry-list dt{
	padding-top:6px;
}
#contact-form .inquiry-list dt .req,
#contact-form .check .req{
	margin-left:4px;
	color:#e30e1f;
	font-size:12px;
}
#contact-form .inquiry-list dt .opt,
#contact-form .check .opt{
	margin-left:4px;
	color:#666;
	font-size:12px;
}
#contact-form input[type=text],
#contact-form input[type=email],
#contact-form select,
#contact-form textarea{
	width:420px;
	max-width:100%;
	padding:6px 8px;
	border:1px solid #888;
	border-radius:3px;
	background:#fff;
	font:inherit;
}
#contact-form textarea{
	width:600px;
	min-height:180px;
}
#contact-form .hint{
	margin-bottom:4px;
	color:#555;
	font-size:12px;
}
#contact-form .check{
	display:block;
	margin:14px 0 0 40px;
}
#contact-form .check[data-error]{
	color:#e30e1f;
}
#contact-form .check a{
	color:#155500;
}
#contact-form .ts{
	margin:16px 0 0 40px;
	min-height:65px;
}
#contact-form .form-foot{
	margin:20px 0 0 40px;
}
#contact-form button[type=submit]{
	padding:10px 40px;
	border:0;
	border-radius:4px;
	background:#246503;
	color:#fafafa;
	font:inherit;
	font-size:16px;
	font-weight:bold;
	cursor:pointer;
}
#contact-form button[type=submit]:hover{
	background:#155500;
}
#contact-form button[aria-disabled=true]{
	opacity:.6;
	cursor:wait;
}
#contact-form [data-status]{
	margin-top:8px;
	font-size:13px;
}
#contact-form .gotcha{
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	overflow:hidden;
}
#contact-form .form-note{
	margin:0 0 12px;
	color:#e30e1f;
	font-weight:bold;
}
.form-alert{
	margin:0 0 20px;
	padding:12px 16px;
	border:2px solid #e30e1f;
	border-radius:6px;
	background:#fff5f5;
}
.form-alert .t{
	color:#e30e1f;
	font-weight:bold;
}
.form-alert ul{
	margin-top:6px;
}
.form-alert li{
	list-style:disc;
	margin-left:1.5em;
}
.form-alert a{
	color:#e30e1f;
}
.field-error{
	margin-top:4px;
	color:#e30e1f;
	font-size:13px;
	font-weight:bold;
}
[aria-invalid=true]{
	border-color:#e30e1f !important;
}

/* 送信完了・404 の本文 */
.message-box{
	width:984px;
	margin:20px auto 10px;
	padding:30px 40px;
	border-radius:10px;
	background:#fafafa;
	line-height:1.9;
}
.message-box h2,
.message-box h1.message-title{
	margin-bottom:14px;
	color:#155500;
	font-size:20px;
	font-weight:bold;
}
.message-box p{
	margin-bottom:10px;
}
.message-box .note{
	color:#555;
	font-size:13px;
}
.message-box .actions{
	margin-top:20px;
}
.message-box .actions a{
	display:inline-block;
	margin:0 12px 8px 0;
	padding:8px 24px;
	border-radius:4px;
	background:#246503;
	color:#fafafa;
	font-weight:bold;
	text-decoration:none;
}
.message-box .actions a:hover{
	background:#155500;
	text-decoration:underline;
}

/* テープおこし: 料金の試算を外した後、人物の吹き出し画像（現行は絶対配置）を案内の下に並べる */
#transcription .multi-people{
	margin:0 0 20px;
}
#transcription .multi-people #jujun{
	position:static;
	float:left;
	margin-left:10px;
}
#transcription .multi-people #elena{
	position:static;
	float:right;
	margin-right:50px;
}

/* 遊び心 (b): 送信完了画面で苗木が一本育つ */
.sapling{
	float:right;
	width:150px;
	height:170px;
	margin:0 0 10px 20px;
}
.sapling .soil{
	fill:#8a6a3f;
}
.sapling .stem{
	fill:none;
	stroke:#3d7a12;
	stroke-width:5;
	stroke-linecap:round;
	stroke-dasharray:120;
	stroke-dashoffset:120;
	animation:sapling-grow 2.4s ease-out .4s forwards;
}
.sapling .leaf{
	fill:#7cc12a;
	opacity:0;
	transform:scale(.2);
	transform-box:fill-box;
	animation:sapling-leaf 1.2s ease-out forwards;
}
.sapling .leaf1{
	transform-origin:right bottom;
	animation-delay:1.6s;
}
.sapling .leaf2{
	transform-origin:left bottom;
	animation-delay:2.1s;
}
.sapling .leaf3{
	transform-origin:center bottom;
	animation-delay:2.6s;
}
@keyframes sapling-grow{
	to{ stroke-dashoffset:0; }
}
@keyframes sapling-leaf{
	to{ opacity:1; transform:scale(1); }
}
@media (prefers-reduced-motion: reduce){
	.sapling .stem,
	.sapling .leaf{
		animation:none;
		stroke-dashoffset:0;
		opacity:1;
		transform:none;
	}
}

/* =================================
 スマホ・タブレット（PC は現行を再現、1023px 以下は1列）
================================= */
@media (max-width: 1023px){
	body{
		font-size:15px;
		line-height:1.7;
	}
	body img{
		max-width:100%;
		height:auto;
	}
	.container{
		width:auto;
		box-shadow:none;
		overflow-x:clip; /* hidden にすると sticky のヘッダーが止まらない */
	}

	/* ヘッダー */
	#fixed_header{
		position:sticky;
		top:0;
		width:auto;
		z-index:20;
	}
	header{
		display:flex;
		align-items:center;
		gap:8px;
		padding:8px 12px;
		background-size:cover;
		background-position:center;
	}
	#logo{
		float:none;
		flex:1 1 auto;
		min-width:0;
	}
	#logo img{
		width:190px;
	}
	#header_contact{
		display:none;
	}
	.sp-contact,
	.menu-toggle{
		display:inline-block;
		flex:0 0 auto;
		padding:6px 10px;
		border:1px solid #f1f5ef;
		border-radius:4px;
		background:#246503;
		color:#fafafa;
		font:inherit;
		font-size:13px;
		font-weight:bold;
		line-height:1.4;
		text-decoration:none;
		cursor:pointer;
	}
	.menu-toggle{
		background:#0c3000;
	}

	/* ナビ: 画像の文字をテキストにして縦に並べる */
	nav{
		display:none;
		height:auto;
		max-height:calc(100vh - 100px);
		overflow-y:auto;
		padding:4px 16px 12px;
		line-height:1.6;
	}
	nav.is-open{
		display:block;
	}
	nav ul.float-left,
	nav ul.float-right{
		float:none;
	}
	nav li{
		float:none;
		margin:0;
	}
	nav li > a,
	nav #menu1 > a,
	nav #menu2 > a,
	nav #menu3 > a{
		display:block;
		height:auto;
		padding:9px 0;
		border-bottom:1px solid rgba(250,250,250,.15);
	}
	nav li > a img{
		display:none;
	}
	nav .sp-label{
		display:inline;
	}
	nav #english_menu,
	nav #euro_menu,
	nav #asian_menu{
		display:block;
		position:static;
		font-size:14px;
	}
	nav #english_menu li,
	nav #euro_menu li,
	nav #asian_menu li{
		width:auto;
		height:auto;
		padding:0 0 0 1em;
		line-height:1.6;
		background:none;
	}
	nav #english_menu li a,
	nav #euro_menu li a,
	nav #asian_menu li a{
		padding:7px 0;
	}

	/* ページ内のサブナビ: 横にスクロール */
	#sub_nav{
		position:static;
		height:auto;
		padding:0 12px;
		overflow-x:auto;
		white-space:nowrap;
		background-size:cover;
		font-size:13px;
	}
	#sub_nav li{
		float:none;
		display:inline-block;
		margin-right:16px;
	}
	#top_space{
		display:none;
	}
	.scroll_point,
	.scroll_point2,
	.scroll_point3{
		padding-top:110px;
		margin-top:-110px;
	}

	/* ---- 本文の共通: 固定幅の箱を画面幅に合わせ、横並びを縦に積む ---- */
	main section,
	main article,
	main table{
		width:auto !important;
		height:auto !important;
		max-width:100%;
	}
	main div{
		max-width:100%;
	}
	main .float-left,
	main .float-right{
		float:none;
		margin-left:0;
		margin-right:0;
	}
	main section{
		margin:16px 12px 0 !important;
		padding-left:14px !important;
		padding-right:14px !important;
	}
	/* 見出し画像（現行は左上に絶対配置）。画面より広いものは縮める */
	main section > h2{
		right:0;
	}
	/* 表は横にスクロールさせる */
	main table{
		display:block;
		overflow-x:auto;
	}
	/* 固定の高さは外す（幅が縮むと文があふれる） */
	main div:not(.content){
		height:auto !important;
	}
	/* 人物の写真を左に置き、その右に文を流す紹介枠: 写真のある左上を見せ、文はその下に流す */
	#chinese #koh,
	#chinese #transcription #writer,
	#korean #speech_translation #chang,
	#korean #transcription #writer,
	#asian_others #middle_east #mohamed,
	#transcription #writer,
	#transcription #japanese #japanese_writer,
	#english #simone,
	#english #jennifer{
		width:auto !important;
		padding:200px 14px 14px !important;
		background-color:#b4d338;
		background-repeat:no-repeat;
		background-position:left top;
		border-radius:6px;
	}
	#russian_ukrainian #translation #elena,
	#spanish_portuguese #candy{
		width:auto !important;
		background-color:#b4d338;
		background-repeat:no-repeat;
		background-position:left top;
		border-radius:6px;
	}
	/* カナダチーム: 背景画像に4人の写真と名前があるので、画像全体を縮めて上に見せ、文はその下に */
	#transcription #canada_team{
		width:auto !important;
		padding:calc((100vw - 52px) * 389 / 934 + 10px) 14px 14px !important;
		background-color:#b4d338;
		background-repeat:no-repeat;
		background-size:100% auto;
		border-radius:6px;
	}
	/* 多言語の例文: 3列が行でそろう組みなので、PC の幅のまま横にスクロールさせる */
	#transcription #example{
		margin-left:0;
		overflow-x:auto;
	}
	#transcription #example #text{
		width:685px !important;
		max-width:none;
		font-size:14px; /* PC と同じ大きさにして、3列目が下に落ちないようにする */
		line-height:1.5;
	}
	#transcription #canada_team #left,
	#transcription #canada_team #right{
		float:none;
		width:auto;
	}
	/* 絶対配置の写真や文は流れの中に置く */
	#chinese #koh #message,
	#transcription #candy,
	#transcription #nancy,
	#transcription #japanese #seki,
	#transcription .multi-people #jujun,
	#transcription .multi-people #elena{
		position:static !important;
		float:none;
		margin:12px auto;
	}
	#transcription #others #asian,
	#transcription #others #euro{
		float:none;
		width:auto;
		margin:0 0 12px;
		background-size:cover;
		border-radius:6px;
	}
	#indonesian #pickup,
	#indonesian #rss{
		float:none;
		width:auto;
		margin:0 0 12px;
		background-repeat:no-repeat;
		background-size:100% auto;
	}
	#indonesian #pickup{
		padding:calc((100vw - 52px) * 160 / 662) 14px 14px;
	}
	#indonesian #needs article,
	#business_support #whats article{
		width:auto;
		padding-left:56px;
	}
	/* 海外ビジネス支援: 左右2列を縦に積む */
	#business_support #left,
	#business_support #right{
		float:none;
		width:auto !important;
		margin:0 !important;
	}
	#business_support #left section,
	#business_support #right section{
		margin:16px 12px 0 !important;
	}
	#business_support #right section{
		width:auto !important;
		background-size:100% auto;
		background-repeat:no-repeat;
	}
	#business_support .article{
		width:auto;
	}
	/* ワークフロー: 手順の吹き出し（背景画像に「Step1」などの文字と絵）を、文字つきのカードにして縦に並べる */
	#work_flow{
		width:auto;
		margin:16px 12px 0;
		padding:16px 14px;
		background-image:none;
		counter-reset:step;
	}
	#work_flow section{
		margin:0 !important;
		padding:0 !important;
	}
	#work_flow #system img{
		float:none;
		margin:0 auto 10px;
	}
	#flow article,
	#correct article{
		position:static !important;
		width:auto !important;
		height:auto !important;
		margin:0 0 10px;
		padding:10px 14px !important;
		border-left:6px solid #36a400;
		border-radius:6px;
		background:#eaffcd !important;
		counter-increment:step;
	}
	#flow article::before,
	#correct article::before{
		content:"Step" counter(step);
		display:block;
		color:#155500;
		font-size:17px;
		font-weight:bold;
	}
	#flow article p{
		margin:6px 0 0 !important;
	}
	#correct h2{
		position:static !important;
		margin:20px 0 10px;
	}

	/* ---- トップ ---- */
	.hero-greetings span{
		font-size:12px;
	}
	#about{
		width:auto;
		height:auto;
		padding:10px 0 16px !important;
		background-image:none;
	}
	#about h3{
		margin:12px 14px 8px;
	}
	#about p{
		margin:0 14px;
		padding-right:0;
		font-size:14px;
	}
	#services{
		padding-bottom:0 !important;
		padding-left:0 !important;
		padding-right:0 !important;
		background-image:none;
		overflow:hidden;
	}
	#three_services h3{
		margin:12px 14px;
	}
	#three_services li{
		width:auto;
		height:auto;
		margin:0 12px 10px;
		padding:0 14px 12px;
		border-radius:8px;
		font-size:14px;
	}
	/* 背景画像の左上（アイコンと「翻訳」などの文字）だけを見出しとして切り出す */
	#three_services li::before{
		content:"";
		display:block;
		height:120px;
		margin:0 -14px 6px;
		background-position:left top;
		background-repeat:no-repeat;
		border-radius:8px 8px 0 0;
	}
	#service1{
		background:#9cc52d;
	}
	#service1::before{
		background-image:url(../images/top/bg_service01.png);
	}
	#service2{
		background:#6fc100;
	}
	#service2::before{
		background-image:url(../images/top/bg_service02.png);
	}
	#service3{
		background:#36a400;
	}
	#service3::before{
		background-image:url(../images/top/bg_service03.png);
	}
	#language{
		margin:20px 0 0;
		padding:16px 14px;
		background:#ada797;
	}
	#language h3{
		float:none;
		margin:0 0 12px;
	}
	#language .flags{
		display:flex;
		flex-wrap:wrap;
		gap:14px 12px;
		padding-top:24px;
	}
	#language li{
		margin:0;
	}
	#trans-list{
		margin:14px 0 0;
		font-size:15px;
	}
	#trans-list2{
		margin:6px 0 0;
		font-size:13px;
	}
	#translator{
		margin:16px 0 0 !important;
		padding-left:0 !important;
		padding-right:0 !important;
		background-color:#1a6d00;
		background-size:cover;
	}
	#translator h2{
		margin:0 12px 8px;
	}
	#translator > p{
		position:static;
		margin:0 12px 8px;
		font-size:13px;
	}
	/* カルーセルは指で横にスクロールする */
	#carouselwrap{
		width:auto;
		height:auto;
		margin:0 12px;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
	}
	#carouselwrap #carousel{
		display:flex;
		width:max-content !important;
		margin-left:0 !important;
		transform:none !important;
	}
	#carouselwrap #carousel li{
		flex:0 0 auto;
		scroll-snap-align:start;
	}
	#carouselPrev,
	#carouselNext{
		display:none !important;
	}
	#achievement{
		padding-bottom:16px;
	}
	#achievement h2 img{
		max-width:80%;
	}
	#kako,
	#bunya_jisseki{
		float:none;
		width:auto;
		height:auto;
		margin:16px 0 0;
		background-position:left top;
		background-repeat:no-repeat;
	}
	#kako{
		background-color:#36a400;
	}
	#bunya_jisseki{
		background-color:#9cc52d;
	}
	#kako dt,
	#bunya_jisseki dt{
		float:none;
		width:auto;
		height:auto;
		margin:8px 0 0;
		font-weight:bold;
	}
	main > .float-left,
	main > .float-right,
	main #english > .float-left,
	main #english > .float-right{
		margin:16px 12px 0;
	}
	main > .float-left img,
	main > .float-right img{
		margin:0 auto;
	}

	/* 問い合わせボタン・フッター */
	#contact_btn{
		width:auto;
		max-width:480px;
		margin:32px auto 0;
		padding:0 12px;
	}
	footer{
		height:auto;
		margin-top:32px;
		padding-top:90px;
		background-color:#0c3000;
		background-position:center top;
		background-repeat:no-repeat;
	}
	#sitemap li{
		display:inline-block;
		padding:4px 8px;
	}
	footer > p.float-right{
		float:none;
		margin:0;
		padding:12px;
		text-align:center;
	}

	/* ---- 言語ページの共通 ---- */
	main h1{
		overflow:hidden;
	}
	#feature{
		width:auto;
		height:auto;
		margin:16px 12px 0;
		padding:16px 14px;
		background-size:cover;
	}
	#feature li{
		margin-bottom:16px;
	}
	#english section,
	#chinese section,
	#korean section,
	#indonesian section,
	#asian_others section,
	#spanish_portuguese section,
	#russian_ukrainian section,
	#german section,
	#french section,
	#euro_others section,
	#faq section,
	#transcription section,
	#multiple section{
		padding-top:62px !important;
		background-image:none !important;
	}
	#business_support section{
		padding-top:62px !important;
	}
	#bunya{
		width:auto;
		margin:0 0 16px;
	}
	#bunya li{
		float:none;
		width:auto;
		height:auto;
		margin:0 0 10px;
		padding:64px 14px 14px;
		border-radius:8px;
		background-color:#b4d338;
		background-position:center top;
		background-repeat:no-repeat;
		background-size:min(100%, 433px) auto; /* 見出しの文字（画像）が横で切れないように、狭いときだけ縮める */
	}
	main th{
		white-space:nowrap;
		padding-right:6px;
	}
	/* ヨーロッパ語・アジア語の入口ページの言語の帯 */
	/* 背景画像の左に国旗の円と見出しの帯がある。幅に余裕があれば現行どおり左を空け、狭ければ国旗の下から文を始める */
	#europe .language,
	#asian .language{
		width:auto !important;
		min-height:210px;
		margin:16px 12px 0 !important;
		padding:80px 14px 14px 140px !important;
		background-color:#fafafa;
		background-repeat:no-repeat;
		background-position:left top;
		border-radius:10px;
	}
	.estimate{
		padding:12px 14px;
	}

	/* ---- お問い合わせ・送信完了・404 ---- */
	#contact section{
		padding:16px 14px !important;
	}
	.inquiry-list,
	.inquiry-list02{
		margin:12px 0 8px;
	}
	.inquiry-list dt,
	.inquiry-list02 dt{
		float:none;
		width:auto;
	}
	.inquiry-list dd,
	.inquiry-list02 dd{
		margin:4px 0 0;
	}
	#contact-form input[type=text],
	#contact-form input[type=email],
	#contact-form select,
	#contact-form textarea{
		width:100%;
		font-size:16px; /* iOS で入力時に拡大されないように */
	}
	#contact-form .check,
	#contact-form .ts,
	#contact-form .form-foot{
		margin-left:0;
	}
	.message-box{
		width:auto;
		margin:16px 12px 0;
		padding:20px 16px;
	}
	.sapling{
		width:110px;
		height:125px;
	}
}

@media (max-width: 599px){
	#europe .language,
	#asian .language{
		padding:200px 14px 14px !important;
	}
}
