@charset "utf-8";
/* CSS Document */

@media only screen and (max-width:1366px){
	
	#content { width: 90%; }
	
}

@media only screen and (max-width:1024px){
	
	/* ヘッダー */
	header { margin: 20px 0; }
	header .logo { margin: 0 0 0 20px; }
	header .logo a { font-size: 1.5rem; line-height: 1em; }
	header .logo a span { line-height: 1em; }
	
	header #pc_nav { display: none; }

	/* スライド */
	#vegas { height: 60vh; margin-bottom: 50px; }
	#vegas .caption { width: 70%; }
	#vegas .caption h2 { margin: 0; line-height: 1.5; }
	
	/* トップ会社案内 */
	.top_company_content .inner .txt_box .top_main_ttl { margin-bottom: 35px; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_ja { font-size: 1.5em; padding: 0 0 25px 0; }
    .top_company_content .inner .txt_box .top_main_ttl .ttl_en { font-size: 1.3em; margin: 0 0 15px 0; }
    .top_company_content .inner .txt_box .txt { margin-bottom: 60px; }
	.top_company_content .inner .img_box img { height: 500px; }
	
    .company_bg::before { width: 255px; height: 420px; }
	
	/* コンテンツボックス */
	#content { width: 90%; padding: 60px 0; }
	#content p { margin: 0; }
	
	/* バーガーメニュー */
	.button_container {
        display: block;
        position: fixed;
        top: 20px;
        right: 20px;
        height: 45px;
        width: 45px;
        cursor: pointer;
        -webkit-transition: opacity .25s ease;
        transition: opacity .25s ease;
        z-index: 2000;
        background-color: #00af85;
    }
	.button_container:hover {
  		opacity: .7;
	}
	
	.button_container.active .top {
  		-webkit-transform: translateY(10px) translateX(0) rotate(45deg);
        transform: translateY(10px) translateX(0) rotate(45deg);
  		background: #fff;
	}
	.button_container.active .middle {
  		opacity: 0;
  		background: #fff;
	}
	.button_container.active .bottom {
  		-webkit-transform: translateY(-4px) translateX(0) rotate(-45deg);
    	transform: translateY(-4px) translateX(0) rotate(-45deg);
		background: #fff;
	}
	.button_container span {
		background: #fff;
		border: none;
		height: 1.5px;
		width: 20px;
		position: absolute;
		top: 14px;
		left: 0;
        right: 0;
        margin: 0 auto;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	.button_container span:nth-of-type(2) {
		top: 21px;
	}
	.button_container span:nth-of-type(3) {
		top: 28px;
	}

	.overlay {
		display: block;
		position: fixed;
		background: #00af85;
		top: 0;
		right: 0;
		width: 0%;
		height: 100%;
 		opacity: 0;
		visibility: hidden;
		-webkit-transition: opacity .35s, visibility .35s, width .35s;
		transition: opacity .35s, visibility .35s, width .35s;
		overflow: hidden;
	}
	.overlay.open {
		opacity: 0.95;
		visibility: visible;
		width: 60%;
		z-index: 1000;
	}
	.overlay.open li {
		-webkit-animation: fadeInRight .5s ease forwards;
		animation: fadeInRight .5s ease forwards;
		-webkit-animation-delay: .35s;
		animation-delay: .35s;
	}
	.overlay nav {
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 70%;
		margin: 0 auto;
	}
	.overlay ul {
		list-style: none;
		padding: 0;
		margin: 0 auto;
		display: inline-block;
		position: relative;
		height: 100%;
	}
	.overlay ul li {
		display: block;
		height: 15%;
		height: calc(100% / 6);
		min-height: 30px;
		position: relative;
		opacity: 0;
	}
	.overlay ul li::before {
    	content: "";
    	position: absolute;
    	top: 50%;
    	left: -50px;
    	width: 30px;
    	height: 1px;
    	background: #fff;
	}
	.overlay ul li a {
		display: block;
		position: relative;
		padding: 1em 0;
		font-size: 1.5em;
		font-weight: 500;
		color: #fff;
		text-decoration: none;
		line-height: 2em;
		letter-spacing: .05em;
		overflow: hidden;
	}
	.overlay ul li a span {
		margin-left: 20px;
		font-size: .6em;
		color: #a5cec3;
	}
	.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
		width: 100%;
	}

	@-webkit-keyframes fadeInRight {
		0% { opacity: 0; left: 20%; }
		100% { opacity: 1; left: 0; }
	}

	@keyframes fadeInRight {
		0% { opacity: 0; left: 20%; }
		100% { opacity: 1; left: 0;	}
	}
	
	/* トップページ */
	.top_company_content { margin: 100px auto; }
	
	.content_item_box .text_box { padding: 1.5rem; }
	.content_item_box .text_box .text_area span { font-size: 0.8rem; }
	.content_item_box .text_box .text_area p { font-size: 1.6rem; }
	
	.top_tire .inner .flex_item01 { padding: 0 5% 0 5%; }
	
	/* 共通 */
	.page-head { padding: 150px 0 100px; }
	.page-head-ttl__main { margin-bottom: 0; font-size: 2.8rem; }
	.page-head-ttl__sub { font-size: 1.2rem; }
	
	h2.ttl { font-size: 2rem; }
	h3.sub-ttl { font-size: 1.5rem; }
	
	.top_contact_content { padding: 60px 0; }
	.top_contact_content .inner .contact_ttl .ttl_en { margin: 0 0 10px; font-size: 1.3em; }
	.top_contact_content .inner .contact_ttl .ttl_ja { font-size: 2em; }
	.top_contact_content .inner .contact_lead { margin-top: 20px; font-size: 1rem; line-height: 1.8rem; }
	.top_contact_content .inner .contact_tel { margin: 40px 0 0; }
	
	.top_contact_content .common_btn { margin: 30px auto; }
	
	#top_news { padding: 60px 0; }
	#top_news .inner .top_main_ttl { width: 30%; }
	#top_news .inner .top_news__list { width: 65%; }
	
	/* 事業案内 */
	.business__area01 { padding: 60px 0; }
	.business__area01 .text-box p { margin: 20px 0 0; line-height: 1.8rem!important; }
	
	.business__area02 { padding: 7vw 0 7vw; }
	.business .flex-box { flex-direction: column-reverse; }
	.business .flex-box .sec_img { width: 70%; }
	.business .flex-box .text-area { width: 90%; padding: 0; margin: 40px auto 0; }
	.business .flex-box .text-area .text { width: 100%; line-height: 1.8rem; }
	
	.business__area03 { padding: 7vw 0 7vw; }
	.business__area03 .flex-box { flex-direction: column; }
	
	.business__area04 .inner-box .sub-ttl { padding: 1rem 2rem; font-size: 2rem; }
	
	.item_wrap { padding: 40px 0 0; }
	.item_wrap .item-box { width: 48%; margin-right: 4%; margin-bottom: 3%; }
	.item_wrap .item-box:nth-child(4n) { margin-right: 3.5%; }
	.item_wrap .item-box:nth-child(2n) { margin-right: 0; }
	.item_wrap .item-box:nth-child(n+4) { margin-bottom: 3%; }
	
	/* 会社案内 */
	.company__area01 { padding: 60px 0; }
	.company__area01 .text-box p { margin: 20px 0 0; font-size: 1rem; line-height: 1.8rem!important; }
	
	.company__area02 { padding: 40px 0 60px; }
	.company__area02 .com-list { margin-top: 40px; }
	.company__area02 .com-list:first-of-type { margin-top: 0; }
	.company__area02 .com-list dt { width: 30%; padding: 1em; }
	.company__area02 .com-list dd { width: 70%; padding: 1em 1.5em; }
	
	.company__area02 .award_itemBox .award_item { width: 32%; margin-right: 2%; }
	.company__area02 .award_itemBox .award_item:nth-child(4) { margin-right: 2%; }
	.company__area02 .award_itemBox .award_item:nth-child(3) { margin-right: 0; }
	.company__area02 .award_itemBox .award_item:nth-child(6) { margin-right: 0; }
	
	.company__area02 .bike_item.main { width: 100%; margin: 0 auto 30px; text-align: center; }
	
	/* お知らせ */
	.news__area { padding: 60px 0; }
	
	/* フッター */
	#footer { padding: 40px 0; }
	#footer .company-name { margin-bottom: 20px; }
	#footer .copy { margin-top: 10px; }
	.footer_nav ul { margin-bottom: 10px; }
	
	/* スクロールアニメ */
	.border_h2 span { padding: 1vw 2vw 1vw; }
		
}

@media only screen and (max-width:896px){
	
	/* ヘッダー */
	header .logo span { font-size: .6rem; }
	header .logo a { display: block; font-size: 1.3rem; line-height: 2rem; }
	header .logo a span { font-size: 0.6rem; }
	
	/* スライド */
	#vegas { height: 70vh; }
	#vegas .caption { width: 80%; }
	#vegas .caption span {
		font-size: 1rem;
		font-weight: 500;
		line-height: 1.8rem;
		letter-spacing: .03em;
		margin-top: 20px;
		margin-bottom: 0;
	}
	#vegas .caption span br { display: none; }
	
	.scroll-Block { display: none; }
	
	/* バーガーメニュー */
	.overlay nav { margin: 0 0 0 auto; }
	.overlay ul li a { padding: 0.5em 0; font-size: 1.4em; }
	
	/* トップページ */
	.top_company_content { margin: 100px auto 50px auto; }
	.top_company_content .inner { flex-direction: column; }
	.top_company_content .inner .img_box { width: 100%; }
	.top_company_content .inner .img_box img { height: 50vh; }
	.top_company_content .inner .txt_box { width: 100%; margin-top: 60px; }
	.top_company_content .inner .txt_box .top_main_ttl { margin-bottom: 30px; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_en { font-size: 1em; margin: 0 0 10px 0; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_ja { font-size: calc(17 / 375 * 100vw); padding: 0 0 25px 0; }
	
	.top_company_content .inner .txt_box .txt { margin-bottom: 40px; }
	.top_company_content .inner .txt_box .txt p { margin: 0 0 1.5em 0; font-size: 1rem; line-height: 1.8rem; }
	
	.top_tire { padding: 0 0 60px; }
	.top_tire .inner .flex_item01 { width: 100%; padding: 0 5% 0 5%; margin-top: 40px; order: 1; }
	.top_tire .inner .flex_item01 h2 { font-size: calc(17 / 375 * 100vw); }
	.top_tire .inner .flex_item01 h3 { font-size: calc(15 / 375 * 100vw); }
	.top_tire .inner .flex_item02 { width: 100%; }
	.top_tire .inner .flex_item02 .flex_imgBox .item { width: 25%; }
	
	#top_news { padding: 40px 0; }
	#top_news .inner .top_main_ttl { width: 100%; text-align: center; }
	#top_news .inner .top_main_ttl .ttl_en { font-size: 1em; }
	#top_news .inner .top_main_ttl .ttl_ja { font-size: 1.6rem; }
	#top_news .inner .top_news__list { width: 100%; margin-top: 20px; }
	#top_news .inner .top_news__list dl { padding-bottom: 1em; margin-bottom: 1em; }
	
	#top_news .inner .common_btn { position: relative; margin-top: 30px; }
	
	.common_btn { width: 250px; height: 50px; margin: 0 auto; }
	.common_btn span { font-size: 1rem; }
	
	.company_bg::before { top: -4%; left: 0; width: 70vw; height: 50vh; }
		
	/* 共通 */
	.page-head { padding: 120px 0 60px; }
	.page-head-ttl__main { font-size: 2.5rem; }
	.page-head-ttl__sub { font-size: 1rem; }
	
	#bread { padding: 8px 0px; font-size: 70%; }
	
	#content { padding: 40px 0; }
	#content p { margin: 0; font-size: 1rem; line-height: 1.8rem; letter-spacing: 0; }
	
	h2.ttl { font-size: 1.8rem; }
	h3.sub-ttl { font-size: 1.4rem; }
	
	.content_item_box .br-sp { display: none; }
	
	.top_contact_content { padding: 40px 0; }
	.top_contact_content .inner .contact_ttl .ttl_en { margin: 0 0 5px; font-size: 1em; }
	.top_contact_content .inner .contact_ttl .ttl_ja { font-size: 1.5em; }
	.top_contact_content .inner .contact_lead { margin-top: 20px; font-size: 1rem; line-height: 1.8rem; text-align: left; }
	
	.top_contact_content .common_btn { width: 280px; height: 50px; }
	.top_contact_content .common_btn span { font-size: 1rem; }
	
	.top_contact_content .inner .contact_tel { flex-direction: column; margin: 20px 0 0; font-size: 1rem; }
	.top_contact_content .inner .contact_tel span:nth-child(2) { font-size: 1.8rem; line-height: 1.5rem; margin: 10px 0; }
	
	/* 事業案内 */
	.business__area01 { padding: 40px 0; }
	.business__area01 .text-box .ttl { font-size: calc(22 / 375 * 100vw); }
	.business__area01 .text-box p { font-size: 1rem; line-height: 1.8rem!important; }
	
	.business__area02 { padding: 50px 0 30px; }
	
	.business__area03 { padding: 50px 0 30px; }
	.business .flex-box .sec_img { width: 90%; }
	.business .flex-box .text-area { margin: 30px auto 0; }
	.business .flex-box .text-area .ttl { font-size: calc(22 / 375 * 100vw); }
	.business .flex-box .text-area .text { font-size: 1rem; line-height: 1.8rem; }
	
	.business__area05 .inner-box ul li { width: 100%; padding: 1em; margin-right: 0; }
	.business__area05 .inner-box ul li span { margin-top: 7px; }
	.business__area05 .inner-box ul li p { margin: 15px 0 0; }
	
	.item_wrap { padding: 20px 0 0; }
	.item_wrap .item-box .item_title { margin: 0.7rem 0; font-size: 1.2rem; }
	.item_wrap .item-box .item_text { font-size: 1rem; line-height: 1.8rem; text-align: left; }
	
	/* 会社案内 */
	.company__area01 { padding: 40px 0; }
	.company__area01 .text-box .ttl { font-size: calc(22 / 375 * 100vw); }
	.company__area01 .text-box p { font-size: 1rem; line-height: 1.8rem!important; }
	
	.company__area02 { padding: 20px 0 40px; }
	.company__area02 .com-list dt { width: 15%; padding: 1em; font-size: 1rem; line-height: 1.7rem; }
	.company__area02 .com-list dd { width: 85%; padding: 1em; font-size: 1rem; line-height: 1.7rem; }
	
	.company iframe { height: 300px; }
	
	/* お知らせ */
	.news__area .news__list dt { width: 15%; }
	.news__area .news__list dd { width: 85%; }
	
	h2.sub-ttl { font-size: 1.6rem; }
	
	/* フッター */
	#footer { padding: 40px 0 60px; }
	#footer span { margin-right: 0; }
	#footer .company-name a { font-size: 1.2rem; }
	#footer .add { font-size: 0.8rem; }
	#footer .add span:first-of-type { display: block; margin: 0 0 5px; }
	#footer .copy { font-size: .8rem; padding: 10px 0; letter-spacing: 0; }
	
	.footer_nav ul { width: 90%; margin: 10px auto 30px; padding: 0; float: none; }
	.footer_nav li { display: block; padding: 7px 0; margin: 0; font-size: .85em; text-align: left; border-bottom: 1px #a5cec3 solid; }
	
	/* ページトップ */
	#page-top a { width: 80px; padding: 6px 0px; font-size: 0.7rem; }
	
}

@media only screen and (max-width:640px){
	
	/* ヘッダー */
	header { margin: 10px 0; }
	header .logo { margin: 0 0 0 10px; }
	header .logo a { font-size: 1.1rem; }
	
	.button_container { top: 10px; right: 10px; }
	
	.overlay.open { width: 100%; }
	.overlay ul li a { padding: 0.5em 0; font-size: 1.1rem; }
	
	/* スライド */
	#vegas .caption h2 { font-size: calc(26 / 375 * 100vw); }
	#vegas .caption span { font-size: 0.85rem; line-height: 1.8; }
	
	/* トップページ */
	.top_company_content .inner .txt_box { width: 100%; margin-top: 40px; }
	.top_company_content .inner .txt_box .txt p { font-size: 0.85rem; line-height: 1.5rem; }
	.top_company_content .inner .txt_box .top_main_ttl .ttl_ja { font-size: calc(20 / 375 * 100vw); }
	
	.top_tire .inner .flex_item01 h2 { font-size: calc(20 / 375 * 100vw);}
	
	.top_tire { padding: 0 0 50px; }
	.top_tire .inner .flex_item01 p { font-size: 0.85rem; line-height: 1.5rem; }
	.top_tire .inner .flex_item02 img { height: 250px; }
	
	.top_tire .inner .flex_item02 .flex_imgBox .item { margin: 0 5px; }
	
	/* 共通 */
	#content p { margin: 0; font-size: 0.9rem; line-height: 1.4rem; letter-spacing: 0; }
	
	h2.ttl { font-size: 1.5rem; }
	h3.sub-ttl { font-size: 1.3rem; }
	
	.page-head-ttl__main { font-size: 1.8rem; }
	
	.content_flex_box { flex-direction: column; }
	.content_item_box { width: 100%; }
	.content_item_box a { position: relative; height: 60vw; overflow: hidden; }
	.content_item_box .text_box {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		color: #fff;
		padding: 3.5vw 3vw 4vw 4vw;
		border-bottom: 0;
	}
	.content_item_box .text_box .text_area { width: 60%; padding: 7px; color: #2f3739; }
	.content_item_box .text_box .text_area span {
		display: inline-block;
		padding: 0.2rem 0.5rem;
		font-size: 0.85rem;
		line-height: 1rem;
		background-color: #fff;
	}
	.content_item_box .text_box .text_area p {
		display: inline-block;
		padding: 0.1rem 0.5rem;
		margin-top: -3px;
		font-size: 1.3rem;
		background-color: #fff;
	}
	
	.content_item_box .circle_arrow { border: 1px solid #fff; }
	.content_item_box .circle_arrow::after { background: url("../images/common/common-ar-on.svg") no-repeat center; }
	
	.content_item_box .br-sp { display: block; }
	
	#top_news .inner .top_main_ttl .ttl_en { font-size: 1em; }
	#top_news .inner .top_main_ttl .ttl_ja { font-size: 1.3rem; }
	#top_news .inner .top_news__list dl { font-size: 0.9rem; }
	
	.top_contact_content .inner .contact_ttl .ttl_ja { font-size: 1.3em; }
	.top_contact_content .inner .contact_lead { margin-top: 10px; font-size: 0.8rem; line-height: 1.5rem; }
	.top_contact_content .inner .contact_tel { font-size: 0.9rem; }
	
	.top_contact_content .common_btn { width: 260px; }
	.top_contact_content .common_btn span { font-size: 0.9rem; }
	
	.common_btn { width: 230px; height: 50px; margin: 0 auto; }
	.common_btn span { font-size: 0.9rem; }
	
	/* 事業案内 */
	.business__area01 .text-box p { font-size: 0.9rem; line-height: 1.5rem!important; }
	.business .flex-box .text-area .ttl.small { font-size: calc(60 / 1200* 100vw); }
	.business .flex-box .text-area .text { font-size: 0.9rem; line-height: 1.5rem; }
	
	.item_wrap .item-box .item_title { margin: 0.7rem 0; font-size: 0.9rem; }
	.item_wrap .item-box .item_text { font-size: 0.75rem; line-height: 1.3rem; }
	
	.item_wrap .item-box dl { margin-bottom: 20px; }
	.item_wrap .item-box dl dt { width: 100%; font-size: 0.85rem; text-align-last: left; }
	.item_wrap .item-box dl dd { width: 100%; font-size: 0.85rem; }
	
	.business__area05 .inner-box ul li { font-size: 0.9rem; }
	.business__area05 .inner-box ul li h4 { font-size: calc(20 / 375 * 100vw); text-align: center; }
	.business__area05 .inner-box ul li h4 br { display: block; }
	.business__area05 .inner-box ul li p { text-align: justify; }
	
	/* 会社案内 */
	.company__area01 .text-box p { font-size: 0.85rem; line-height: 1.5rem!important; }
	
	.company__area02 .com-list dl { flex-direction: column; }
	.company__area02 .com-list dt { display: block; width: 100%; padding: 0.5em; font-size: 0.9rem; line-height: 1.3rem; box-sizing: border-box; }
	.company__area02 .com-list dd { display: block; width: 100%; padding: 0.5em 0; font-size: 0.9rem; line-height: 1.3rem; box-sizing: border-box; }
	
	.company__area02 .com-list ul.facility li { padding: 0.3rem 0 0.3rem 1.2rem; }
	
	.company__area02 .com-list.ss .award_item { width: 100%; text-align: center; }
	.company__area02 .com-list.ss .award_item img { width: 80%; }
	.company__area02 .com-list.ss p { font-size: 0.9rem; line-height: 1.7; text-align: left; }
	.company__area02 .com-list.ss p br { display: none; }
	
	.company__area02 .award_itemBox .award_item { width: 49%; margin-right: 2%; }
	.company__area02 .award_itemBox .award_item:nth-child(4) { margin-right: 0; }
	.company__area02 .award_itemBox .award_item:nth-child(3) { margin-right: 2%; }
	.company__area02 .award_itemBox .award_item:nth-child(2) { margin-right: 0; }
	.company__area02 .award_itemBox .award_item p { font-size: 0.9rem; text-align: left; }
	
	.company__area02 .achievements_itemBox .award_item { width: 100%; margin: 0; margin-bottom: 10px; text-align: center; }
	.company__area02 .achievements_itemBox .award_item img { width: 80%; }
	.company__area02 .achievements_itemBox .award_item p { font-size: 0.9rem; }
	
	.company__area02 .award_item.main { width: 100%; }
	.company__area02 .award_item.main img { width: 80%; }
	.company__area02 .award_item.main p { font-size: 0.9rem; line-height: 1.7; }
	
	.company__area02 .bike_item.main { width: 80%; margin: 0 auto 15px; }
	
	.company__area02 .bike_itemBox .bike_item { width: 49%; margin-right: 2%; margin-bottom: 8px; }
	.company__area02 .bike_itemBox .bike_item:nth-child(4) { margin-right: 0; }
	.company__area02 .bike_itemBox .bike_item:nth-child(2) { margin-right: 0; }
	
	.company__area02 .bike_item.txt { font-size: 1rem; }
	
	/* 周辺観光案内 */
	.sightseeing-spot .message { text-align: left; }
	.sightseeing-spot dl { padding-bottom: 15px; margin-bottom: 15px; }
	.sightseeing-spot dl dd { font-size: 0.85rem; }
	
	/* お知らせ */
	.news__area { padding: 40px 0; }
	.news__area .news__list dl { font-size: 0.9rem; }
	.news__area .news__list dl:first-of-type { padding-top: 0; }
	.news__area .news__list dt { width: 30%; margin-bottom: 5px; }
	
	h2.sub-ttl { font-size: 1.2rem; font-weight: 600; }
	.news__area .area__date-time { font-size: 0.9rem; }
	.news__area .area__main-text p { font-size: 0.9rem; }
	
}

@media only screen and (max-width:430px){
	
	#vegas .caption h2 { line-height: 1.4; }
	
	.company_bg::before { height: 38vh; }
	.top_company_content .inner .img_box img { height: 40vh; }
	
	.content_item_box a figure { height: 300px; }
	.content_item_box a figure img { width: 100%; height: 100%; object-fit: cover; }
	
	.business__area05 .inner-box ul li h4 { font-size: calc(18 / 375 * 100vw); }
	
}