@charset "utf-8";
/* CSS Document */

@media all and (max-width: 1399px) {
}

@media all and (max-width: 1199px) {
	.bnr{ height: 700px; background: url('../../img/pic-bnr.jpg') right center no-repeat; }
	.bnr_txt{ max-width: 951px; }
	.bnr_txt p{ font-size: 5em; line-height: 1.25em; }
	.bnr_txt span{ margin-top: 20px; font-size: 1.5em; }

	.thumb_txt{ padding: 30px; flex-basis: calc(100% - 150px); }
	.thumb_txt h3{ font-size: 1.5em; }
	.thumb_txt p{ font-size: .813em; }
	.thumb_img{ flex-basis: 150px; }
}

@media all and (max-width: 991px) {
	:root{
		--height-01: 50px;
	}

	.logo{ width: 204px; height: 30px; margin: 10px 0;}
	.logo a{ width: 184px; height: 30px; }

	ul.menu{ display: none; }
	.btn_toggle{ width: 50px; height: 50px; color: #fff; background: none; border: 0; display: block; cursor: pointer; position: fixed; top: 0px; right: 5px; z-index: 1000; -webkit-transition: none; -moz-transition: none; -ms-transition: none; -o-transition: none; transition: none; }
	.btn_toggle.active{ position: fixed !important; top: 0px; }

	.bnr{ height: 600px; background: url('../../img/pic-bnr.jpg') right -250px center no-repeat; }
	.bnr_txt{ max-width: 768px; }
	.bnr_txt p{ font-size: 4em;  }
	.bnr_txt span{ margin-top: 15px; font-size: 1.5em; }

	.thumb_txt p{ display: none; }

	.i_cont_wrap{ display: flex; flex-wrap: wrap; }
	.i_cont_txt{ flex-basis: 100%; text-align: center; }
	.i_cont_btn{ flex-basis: 100%; text-align: center; }
	.i_cont_btn button{ margin-top: 30px; }

	footer .flogo{ width: 204px; height: 30px;}
	footer .flogo a{ width: 184px; height: 30px; }
}

@media all and (max-width: 768px) {
	.bnr{ background: url('../../img/pic-bnr.jpg') right -300px center no-repeat; }
}

@media all and (max-width: 767px) {
	.bnr_txt{ max-width: 660px; padding: 0 20px; }
	.bnr_txt p{ font-size: 3.5em; }
	.bnr_txt span{ margin-top: 20px; font-size: 1.325em; }

	.thumb_txt p{ font-size: 1em; display: block; }

	footer .row > div:nth-child(1){ text-align: center; }
	footer .flogo{ margin: 0 auto 10px auto;}

	.timeline { padding: 0px 0;}
	.timeline-nodes:nth-child(odd) h3, .timeline-nodes:nth-child(odd) p { text-align: left}
	.timeline-nodes:nth-child(even) { flex-direction: row;}
	.timeline::before { width: 0; height: 100%; content: ""; border-left: 2px dashed var(--color-01); display: block; position: absolute; top: 0; left: 4%; z-index: 1; transform: translateX(-50%);}
	.timeline h3 { font-size: 1.7rem;}
	.timeline p { font-size: .875em;}
	.timeline-image { position: absolute; left: 0%; top: 60px;}
	.timeline-nodes:nth-child(odd) .timeline-content::after { width: 0; content: ""; position: absolute; top: 5%; left: auto; right: 100%; border-left: 0; border-right: 10px solid var(--color-01); border-top: 10px solid transparent; border-bottom: 10px solid transparent;}
	.timeline-nodes:nth-child(even) .timeline-content::after { width: 0; content: ""; position: absolute; top: 5%; right: 100%; border-right: 10px solid var(--color-01); border-top: 10px solid transparent; border-bottom: 10px solid transparent;}
	.timeline-nodes:nth-child(even) .timeline-date { text-align: left;}
	.timeline-image::before { width: 20px; height: 20px; transform: translate(-5%, -100%);}
}

@media all and (max-width: 600px) {
}

@media all and (max-width: 575px) {
	h2{ font-size: 1.75em; }
	h3{ font-size: 1.5em; }
	h4{ font-size: 1.25em; }
	h5{ font-size: 1.125em; }
	h6{ font-size: 1em; }

	section{ padding: 50px 0; }
	section h2{ margin-bottom: 30px; letter-spacing: 3px; text-indent: 3px; }

	.bnr{ height: 500px;}
	.bnr_txt p{ font-size: 2em; }
	.bnr_txt span{ margin-top: 10px; font-size: 1.125em; }

	.btn-lg{ margin-top: 20px; padding: 15px 35px; font-size: 1.25em; }

	.i_thumb{ margin-top: -84px; top: -30px; }
	.thumb_txt{ padding: 20px; flex-basis: calc(100% - 120px); }
	.thumb_img{ flex-basis: 120px; }

	footer{ margin: 0; padding: 50px 0 100px 0;}

	.timeline::before { content: ""; display: block; position: absolute; top: 0; left: 3%;}
	.timeline-image { position: absolute; left: -5%;}

	.i_intro2 > div h3{ border: 0; border-bottom: 1px solid #fff; }
	.intro_wrap2{ padding: 0 40px; border: 1px solid #fff; border-radius: 10px; display: flex; align-items: center; flex-wrap: wrap; }
	.intro_wrap2 h3{ margin: 0 !important; padding: 40px; flex-basis: 100%;}
	.intro_wrap2 h3 span{ margin-top: 15px; color: var(--color-03); display: block; }
	.intro_wrap2 i{ font-size: 1.25em; color: var(--color-01); }
	.intro_wrap2 p{ padding: 40px 0; flex-basis: 100%; }
}

@media all and (max-width: 480px) {
	.bnr{ height: 450px; background: url('../../img/pic-bnr.jpg') right -400px center no-repeat;}
	.bnr_txt p{ font-size: 2em; }
	.bnr_txt span{ font-size: 1em; }
}

@media all and (max-width: 375px) {
	.bnr{ height: 400px;}
}

@media all and (max-width: 374px) {
	.thumb_txt h3{ font-size: 1.25em; }
	.thumb_txt p{ font-size: .75em; }
}