@charset "utf-8";



.width_content {
	width: 100%;
	max-width: 1280px;
	min-width: 320px;
	margin: 0 auto;
}



.header_bar {
	position: fixed;
	background-color: #fff;
	width: 100%;
	border-bottom: 3px solid;
	border-image: linear-gradient(to left, #48de97 3.2586%, #6ae5ec 32.4695%, #1e9cd7 80.0552%) 1;
	z-index: 9999;
}

.header_content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	align-content: center;
	padding: 25px 0 0 0;
	transition: all 0.2s ease;
}
@media(max-width:768px) { /* 画面幅768px以下の場合 */
	.header_content {
		padding: 20px 0 0 0;
	}
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	.header_content {
		padding: 15px 0 0 0;
	}
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	.header_content {
		padding: 12px 0 0 0;
	}
}
@media(max-width:320px) { /* 画面幅320px以下の場合 */
	.header_content {
		padding: 10px 0 0 0;
	}
}

.header_content.is-scrolled {
	padding-top: 5px !important;
}



.header_top {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-end;
	align-content: flex-end;
}

@media(max-width:1360px) { /* 画面幅1360px以下の場合 */
	.lang_en .header_top {
		width: 100%;
	}
}
@media(max-width:1280px) { /* 画面幅1280px以下の場合 */
	.lang_ja .header_top {
		width: 100%;
	}
}

.header_logo_container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	align-content: center;
	padding: 0 10px;
}

.title_logo a {
	display: inline-block;
	padding: 0 10px;
}

.title_logo.title_logo_meti_ja {
	margin: 0 0 0 0;
}

.title_logo.title_logo_meti_ja img {
	height: 35px;
}

.title_logo.title_logo_meti_en {
	margin: 0;
}

.title_logo.title_logo_meti_en img {
	height: 35px;
}

.title_logo.title_logo_brasil {
	margin: 0;
}

.title_logo.title_logo_brasil img {
	width: 110px;
}

h1 {
	padding: 5px 0 10px;
	font-size: 30px;
	line-height: 1.1em;
	transition: all 0.2s ease;
}
.lang_ja h1 {
	font-weight: 500;
	letter-spacing: 0.05em;
}
.lang_en h1 {
	font-weight: 700;
}
@media(max-width:768px) { /* 画面幅768px以下の場合 */
	h1 {
		font-size: 27px;
	}
}
@media(max-width:700px) { /* 画面幅700px以下の場合 */
	h1 {
		font-size: 24px;
	}
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	h1 {
	}
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	h1 {
		font-size: 20px;
	}
}

.header_content.is-scrolled h1 {
	padding: 0 0 5px;
	font-size: 27px;
}
@media(max-width:768px) { /* 画面幅768px以下の場合 */
	.header_content.is-scrolled h1 {
		font-size: 24px;
	}
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	.header_content.is-scrolled h1 {
	}
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	.header_content.is-scrolled h1 {
		font-size: 20px;
	}
}

h1 a {
	display:inline-block;
	padding: 5px 10px;
	text-decoration: none;
}
h1 a:focus {
	outline: 2px dotted #29abe2;
}

h1 span {
	display: inline-block;
}



.header_btn_container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	align-content: center;
}
@media(max-width:1360px) { /* 画面幅1360px以下の場合 */
	.lang_en .header_btn_container {
		min-width: 60px;
		padding: 10px 10px;
	}
}
@media(max-width:1280px) { /* 画面幅1280px以下の場合 */
	.lang_ja .header_btn_container {
		min-width: 60px;
		padding: 10px 10px;
	}
}


/* ===== メニューボタン ===== */

.header_btn_toggle {
	display: none;
	padding: 7px;
	width: 40px;
	height: 40px;
	margin-bottom: 5px;
	transition: all 0.2s ease;
	background-color: #fff;
}
@media(max-width:1360px) { /* 画面幅1360px以下の場合 */
	.lang_en .header_btn_toggle {
		display: block;
	}
}
@media(max-width:1280px) { /* 画面幅1280px以下の場合 */
	.lang_ja .header_btn_toggle {
		display: block;
	}
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	.header_btn_toggle {
		padding: 6px;
		width: 35px;
		height: 35px;
	}
}
.header_btn_toggle:focus {
	outline: 2px dotted #29abe2;
}
  


.header_btn_toggle .header_btn_toggle_icon {
	width: 26px;
	height: 26px;
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	.header_btn_toggle .header_btn_toggle_icon {
		width: 23px;
		height: 23px;
	}
}

.header_btn_toggle .header_btn_toggle_icon .menubtn_bar {
	display: block;
	width: 100px;
	height: 10px;
	fill: #2e3192;
	transition: all 0.1s ease;
}
.header_btn_toggle:hover .header_btn_toggle_icon .menubtn_bar {
	fill: #29abe2;
}
.header_btn_toggle .header_btn_toggle_icon .menubtn_bar_1 {
	x: -50px;
	y: -35px;
}
.header_btn_toggle .header_btn_toggle_icon .menubtn_bar_2 {
	x: -50px;
	y: -5px;
}
.header_btn_toggle .header_btn_toggle_icon .menubtn_bar_3 {
	x: -50px;
	y: 25px;
}



.header_btn_toggle.opening  .header_btn_toggle_icon .menubtn_bar_1 {
	animation: 0.1s linear forwards opening1;
}
.header_btn_toggle.opening  .header_btn_toggle_icon .menubtn_bar_2 {
	animation: 0.1s linear forwards opening2;
}
.header_btn_toggle.opening  .header_btn_toggle_icon .menubtn_bar_3 {
	animation: 0.1s linear forwards opening3;
}

@keyframes opening1 {
	0%{ y: -35px; }
	50%{ y: -5px; }
	100%{
		y: -5px;
		transform:rotate(45deg);
	}
}
@keyframes opening2 {
	0%{ opacity: 1 }
	50%{  }
	100%{ opacity: 0 }
}
@keyframes opening3 {
	0%{ y: 25px; }
	50%{ y: -5px; }
	100%{
		y: -5px;
		transform:rotate(-45deg);
	}
}


.header_btn_toggle.closing  .header_btn_toggle_icon .menubtn_bar_1 {
	animation: 0.1s linear forwards closing1;
}
.header_btn_toggle.closing  .header_btn_toggle_icon .menubtn_bar_2 {
	animation: 0.1s linear forwards closing2;
}
.header_btn_toggle.closing  .header_btn_toggle_icon .menubtn_bar_3 {
	animation: 0.1s linear forwards closing3;
}

@keyframes closing1 {
	0%{
		y: -5px;
		transform:rotate(45deg);
	}
	50%{
		y: -5px;
		transform:rotate(0deg);
	}
	100%{
		y: -35px;
		transform:rotate(0deg);
	}
}
@keyframes closing2 {
	0%{ opacity: 0}
	50%{  }
	100%{ opacity: 1 }
}
@keyframes closing3 {
	0%{
		y: -5px;
		transform:rotate(-45deg);
	}
	50%{
		y: -5px;
		transform:rotate(-0deg);
	}
	100%{
		y: 25px;
		transform:rotate(0deg);
	}
}



/* ===== ヘッダナビ ===== */

.header_navi {
	margin-bottom: 5px;
	padding: 0 10px;
}
.header_navi.is-down {
	width: 100%;
}

@media(max-width:1360px) { /* 画面幅1360px以下の場合 */
	.lang_en .header_navi {
		display: none;
	}
}
@media(max-width:1280px) { /* 画面幅1280px以下の場合 */
	.lang_ja .header_navi {
		display: none;
	}
}

.header_navi {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	align-content: center;
	min-height: 40px;
	transition: all 0.2s ease;
}
.header_navi ul {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	align-content: center;
	min-height: 40px;
	transition: all 0.2s ease;
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	.header_navi ul {
		display: block;
	}
}

.header_navi ul li a {
	display: inline-block;
	padding: 5px 10px;
	margin-top: 7px; /* 上下位置の微調整 */
	font-size: 18px;
	font-weight: 500;
	line-height: 1.0em;
	letter-spacing: 0.05em;
	white-space: nowrap;
	transition: all 0.1s ease;
	text-decoration: none;
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	.header_navi ul li a {
		display: block;
		text-align: right;
	}
}
.header_navi ul li a:hover {
	color: #29abe2;
}
.header_navi ul li a:focus {
	outline: 2px dotted #29abe2;
}



.header_navi_language {
	position: fixed;
	top: 0;
	right: 0;
}

.header_navi_language p {
	display: inline-block;
	padding: 0 10px;
	font-size: 14px;
	line-height: 1.0em;
}

.header_navi_language p a,
.header_navi_language p span {
	display: inline-block;
	padding: 10px 10px;
}
.header_navi_language p span {
	font-weight: 700;
}

.header_navi_language.is-scrolled {
	top: -30px !important;
	transition: all 0.2s ease;
}




/* ===== メイン部 ===== */

main {
	transition: all 0.1s ease;
}



.btn_normal {
	display: inline-block;
	padding: 0.8em 2.0em;
	max-width: 100%;
	background-color: #2e3192;
	border-radius: 2.0em;
	font-size: 16px;
	color: #fff;
	line-height: 1.3em;
	text-decoration: none;
}
.btn_normal:hover {
	background-color: #29abe2;
	color: #fff;
}

.btn_normal p {
	display: inline-block;
	margin-left: 0.5em;
	margin-right: 0.5em;
}

i.material-symbols-outlined {
	display: inline-block;
	position: relative;
	top: 0.15em;
	font-size: 1.0em;
}



section {
	padding: 60px 50px 20px 50px;
	transition: all 0.2s ease;
}
@media(max-width:768px) { /* 画面幅768px以下の場合 */
	section {
		padding: 60px 40px 20px 40px;
	}
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	section {
		padding: 60px 30px 20px 30px;
	}
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	section {
		padding: 60px 20px 20px 20px;
	}
}
@media(max-width:320px) { /* 画面幅320px以下の場合 */
	section {
		padding: 60px 15px 20px 15px;
	}
}



h2 {
	padding: 0 10px 8px 32px;
	line-height: 1.1em;
	background-image: url(/assets/images/mark_h2.png);
	background-repeat: no-repeat;
	background-position: 0 bottom;
	background-size: 20px 38px;
	border-bottom: 3px solid;
	border-image: linear-gradient(to left, #48de97 3.2586%, #6ae5ec 32.4695%, #1e9cd7 80.0552%) 1;
	transition: all 0.2s ease;
}
.lang_ja h2 {
	font-size: 28px;
}
.lang_en h2 {
	font-size: 30px;
}
@media(max-width:768px) { /* 画面幅768px以下の場合 */
	.lang_ja h2 {
		font-size: 24px;
	}
	.lang_en h2 {
		font-size: 26px;
	}
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	.lang_ja h2 {
		font-size: 24px;
	}
	.lang_en h2 {
		font-size: 26px;
	}
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	.lang_ja h2 {
		font-size: 23px;
	}
	.lang_en h2 {
		font-size: 24px;
	}
}
@media(max-width:320px) { /* 画面幅320px以下の場合 */
	.lang_ja h2 {
		font-size: 21px;
	}
	.lang_en h2 {
		font-size: 22px;
	}
}

.section_content {
	padding: 20px 0 0 35px;
	transition: all 0.2s ease;
}
@media(max-width:900px) { /* 画面幅900px以下の場合 */
	.section_content {
		padding: 20px 0 0 25px;
	}
}
@media(max-width:768px) { /* 画面幅768px以下の場合 */
	.section_content {
		padding: 20px 0 0 20px;
	}
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	.section_content {
		padding: 20px 0 0 15px;
	}
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	.section_content {
		padding: 20px 0 0 10px;
	}
}
@media(max-width:320px) { /* 画面幅320px以下の場合 */
	.section_content {
		padding: 20px 0 0 5px;
	}
}



/* ===== フッタ ===== */

footer {
	padding: 80px 20px 30px;
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	footer {
		padding: 80px 10px 30px;
	}
}
@media(max-width:320px) { /* 画面幅320px以下の場合 */
	footer {
		padding: 80px 5px 30px;
	}
}

.footer_copyright {
	font-size: 16px;
	color: #333;
	line-height: 1.3em;
	text-align: center;
}
@media(max-width:768px) { /* 画面幅768px以下の場合 */
	.footer_copyright {
		font-size: 15px;
	}
}
@media(max-width:640px) { /* 画面幅640px以下の場合 */
	.footer_copyright {
		font-size: 14px;
	}
}
@media(max-width:480px) { /* 画面幅480px以下の場合 */
	.footer_copyright {
		font-size: 13px;
	}
}
@media(max-width:320px) { /* 画面幅320px以下の場合 */
	.footer_copyright {
		font-size: 12px;
	}
}

.footer_copyright span {
	display: inline-block;
	padding: 0 0.3em;
}