@charset "utf-8";
/*--------------------------------------------
	 サイト基本設定　ここの設定はサイト依存
--------------------------------------------*/
body,html {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	position: relative;
	width:100%;
	height:100%;
	letter-spacing: 1.2px;
	overflow-x: hidden;
}
html.fixed{
	overflow: hidden;
}
body {
	min-width:100%;
	height:auto;
	background:#FFF;
	color:#2c2c2c;
	font-size: 14px;
	font-weight: 500;
}
body img{
	width: 100%;
	image-rendering: -webkit-optimize-contrast;
}
a{
	color: #393333;
    text-decoration: none;
    word-wrap: break-word;
}
p a {
	text-decoration:underline;
	color: #144fbc;
}
p,li p,address,table{
    font-size:min(3.6vw,1.2em);
	line-height:1.8em;
	font-style: normal;
}
li{
	font-size:min(3.6vw,1.2em);
}
.mean-bar a:hover{
	opacity: 1;
}
a img:hover{
	opacity: 0.7;
}
@media screen and (min-width:897px){
	body {
		min-width: 1080px;
		font-size: 16px;
		line-height: 1.8;
	}
    body img{
		width: auto;
	}
	a[href^="tel:"]{
		pointer-events: none;
	}
	p, li p, address, table{
		font-size: 16px;
		line-height: 30px;
	}
	  .sp-break {
    display: inline; /* or display: block; */
	}
}
/*--------------------------------------------
	Header / ヘッダー
--------------------------------------------*/
.h1_box{
	display: none;
}
header{
	position: absolute;
    top: 0;
    width: 100%;
	height: 83px;
    background: #FFF;
	border-top: 5px solid #f38b36;
    z-index: 2;
}
.hd_logo{
	margin: 1.5em 0 0 1.5em;
    width: 142px;
}
@media screen and (min-width:897px){
	header{
		position: relative;
		width: auto;
		height: auto;
		top: 0;
	}
	.hd_inner {
		align-items: center !important;
	}
	.hd_logo {
    	margin: 0 0 0 1.5em;
    	width: 234px;
	}
	.hd_btn_list li{
		margin: 0 18px;
	}
	.hd_btn_list li a{
		display: inline-block;
		font-size: 16px;
		text-decoration:none;
  		position: relative;
  		transition: .3s;
	}
	.hd_btn_list li a::after{
		position: absolute;
		bottom: -8px;
  		left: 0;
  		content: '';
  		width: 0;
  		height: 1px;
  		background-color: #f38b36;
  		transition: .3s;
	}
	.hd_btn_list a:hover::after{
  		width: 100%;
	}
	.contact_link_area {
		width: 220px;
	}
	.contact_link_area a:hover{
		background: #f38b36;
		transition: .3s;
	}
}
/*--------------------------------------------
	ハンバーガーメニュー
--------------------------------------------*/
.sp_nav {
  	pointer-events: none;
    background: rgb(255 255 255 / 95%);
    border-top: 5px solid #f38b36;
    position: fixed;
    overflow: scroll;
    top: 0;
    left: 20%;
    z-index: 99;
    width: 80%;
    height: 100%;
  	transform: translateX(100vw);
  	transition: all .3s linear;
}
.sp_nav.active {
    pointer-events: auto;
	transform: translateX(0);
}
.nav-inner {
    height: 100%;
    padding: 5.75em 2.2em 0;
    box-sizing: border-box;
    overflow: scroll;
}
.menu-btn {
  	position: fixed;
    top: 2.75em;
    right: 0.85em;
    display: flex;
    height: 48px;
    width: 50px;
    justify-content: center;
    align-items: center;
    z-index: 100;
}
.menu-btn span {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 30px;
    height: 2px;
    background: #f38b36;
    transition: 0.3s ease transform, 0.3s ease opacity;
}
.menu-btn span:first-child {
      transform: translate(-50%, -10px);
    }
.menu-btn span:last-child {
      transform: translate(-50%, 9px);
    }
.menu-btn.active span:first-child {
    transform: translate(-50%, 0) rotate(45deg);
}
.menu-btn.active span:nth-child(2) {
	opacity: 0;
}
.menu-btn.active span:last-child {
    transform: translate(-50%, 0) rotate(-45deg);
}
.sp_logo{
	width: 72%;
}
.sp_nav_list li{
	margin-bottom: 1.25em;
    padding-bottom: 0.75em;
    border-bottom: 1px dashed #ccc;
}
.sp_nav_list li a{
	display: block;
}
.contact_link_area{
	position: relative;
}
.contact_link_area a{
	display: block;
    background: #E95E2A;
    color: #FFF;
    padding: 1.75em 0;
    text-align: center;
}
.contact_link_area::after{
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 1.75em;
    display: inline-block;
    content: "";
    background: url(../img/common/contact_icon.svg) no-repeat;
    width: 20px;
    height: 12px;
}
/*--------------------------------------------
	Global Navigation / グローバルナビ
--------------------------------------------*/
#gNavi {
}
#gNavi li{
	float:left;
}
/*--------------------------------------------
	下層ヘッドエリア + breadcrumb / パンくず
--------------------------------------------*/
.breadcrumbs {
	font-size: 12px;
}
.breadcrumbs_inner{
    margin: 0 0 2.75em 1.75em;
    padding: 10px 0 0;
    text-align: left;
    line-height: 1.4;
}
.breadcrumbs a:hover{
	text-decoration: underline;
}
@media screen and (min-width:897px){
	.breadcrumbs{
		padding: 0;
	}
	.breadcrumbs_inner{
	    width: 100%;
	    box-sizing: border-box;
    	margin: 62px 0 0 2.75em;
	}
}
/*--------------------------------------------
	Contents / コンテンツ共通
--------------------------------------------*/
main{
	padding-top: 83px;
}
.cts_inner01,.cts_inner02,.cts_inner03{
	padding: 13% 6%;
	box-sizing: border-box;
}
.cts_inner02{
	padding: 13% 0;
}
.viewPC {
	display:none;
}
.viewSP {
	display:block;
}
.img_ct{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.tCenter{
	text-align: center !important;
}
.tLeft{
	text-align: left !important;
}
.tRight{
	text-align: right !important	;
}
.ttl01 {
	position: relative;
	font-size: min(6.3vw,2.1em);
    font-weight: 900;
    text-align: center;
    margin-bottom: 1.5em;
	padding: 92px 0 0;
	line-height: 1.3em;
}
.ttl01::before{
	position: absolute;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    display: inline-block;
    content: "";
    background: url(../img/common/ttl_icon.svg) no-repeat;
    width: 14px;
    height: 78px;
}
.ttl02{
	font-size: min(5.1vw,1.7em);
    font-weight: 900;
    text-align: left;
	line-height: 1.3em;
    margin-bottom: 3%;
}
.flex_box_sp{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	justify-content: space-between;
}
.cts_box{
	padding: 8%;
}
table{
	width: 100%;
	font-size: 12px;
}
table th,table td{
	padding: 12px;
	line-height: 1.6;
	vertical-align: middle;
}
table p{
	font-size: 12px !important;
	line-height: 22px !important;
}
.btn{
	position: relative;
	width: 80%;
	margin: 0 auto;
	margin-top: 20px;
}
.btn a{
	display: block;
	background: #E95E2A;
    border-radius: 8px;
    color: #FFF;
    padding: 1.75em 0;
    text-align: center;
}
.btn a:hover{
	background: #f38b36;
	transition: .3s;
  }
.btn:after{
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 1.75em;
    display: inline-block;
    content: "";
    background: url(../img/common/btn_icon.svg) no-repeat;
    width: 25px;
    height: 6px;
}
.mb01{
	margin-bottom: 1.75em;
}
.mb02{
	margin-bottom: 2.75em;
}
.mb03{
	margin-bottom: 3.75em;
 }
.bold{
	font-weight: 900;
}
.font_middle {
	font-size: min(4.2vw,1.4em);
}
.wh{
	color: #FFF;
}
.wp-pagenavi {
	margin: 5% 0;
    text-align: right;
}
.wp-pagenavi a, .wp-pagenavi span {
    padding: 4px 8px !important;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    border-color: #424242 !important;
}
.wp-pagenavi span.current {
    background: #424242 ;
    color: #FFF;
}
.shadow{
	filter:drop-shadow(5px 5px 5px #ebe7e7);
}
.sns__container {
    display: flex;
	margin-bottom: 20px;
}
.sns__container a {
    width: 100%;
    text-align: center;
    color: #fff;
    padding: 0.5rem 0;
}
.sns__container a:hover {
    opacity: 0.6;
}
.sns__twitter {
    background: #55acee;
}
.sns__facebook {
    background: #3b5998;
}
.sns__pocket {
    background: #ef3f56;
}
.sns__line {
    background: #1dcd00;
}
.sns__hatena {
    background: #00a5de;
}
.section_enTitle{
	font-family: Arial;
	font-weight: bold;
	font-size: 82px;
	line-height: 1;
	color: #5a3d2b;
	white-space: nowrap; 
  	overflow: hidden; 
}
@keyframes scroll {
  0% {
    transform: translateX(100%); /* 開始位置は画面の右端 */
  }
  100% {
    transform: translateX(-100%); /* 終了位置は画面の左端 */
  }
}
.section_enTitle span{
	display: inline-block;
  	animation: scroll 8s linear infinite; 
}
.imgTriangle{
	position: relative;
}
.imgTriangle::before{
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: inline-block;
	width: 0;
  	height: 0;
  	border-left: 0 solid transparent;
  	border-right: 30px solid transparent;
  	border-top: 30px solid #FFF;
}
#under_mv_area{
	position: relative;
	margin-bottom: 4.75em;
    padding-top: 2.75em;
}
#under_mv_area .mv_area_text{
	top: 12.5em;
}
#under_mv_area .section_enTitle{
	position: absolute;
    top: -0.2em;
}
#under_mv_area .mv_area_text_main span {
    font-size: min(6vw,2em);
}
@media screen and (min-width:897px){
	main {
    	padding-top: 0;
	}
	.cts_inner01{
		width: 1080px;
		margin: 0 auto;
		padding: 92px 10px;
		box-sizing: border-box;
	}
	.cts_inner02{
		width: 100%;
		margin: 0 auto;
		padding: 92px 0;
		box-sizing: border-box;
	}
	.viewPC {
		display:block;
	}
	.viewSP {
		display:none;
	}
	.ttl01{
		font-size: 34px;
		line-height: 36px;
	}
	.flex_box_sp{
		display: block;
	}
	.flex_box_pc{
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	.btn{
		width: 382px;
		margin-top: 40px;
	}
	.btn a{
		padding: 25px 0;
	}
	table th,table td{
        padding: 20px;
		font-size: 16px;
    }
	table p {
        font-size: 16px !important;
        line-height: 30px !important;
    } 
	.mb01{
	    margin-bottom: 12px;
    }
	.mb02{
	    margin-bottom: 32px;
	}
	.mb03{
	    margin-bottom: 52px;
	}
	.under_ttl{
		padding: 1.2em 1.2em 1.5em;
	}	
	.wp-pagenavi {
		margin: 0;
	}
	.section_enTitle{
		font-size: 220px;
	}
	.section_enTitle span{
  		animation: scroll 14s linear infinite; 
	}
	#under_mv_area{
		margin-bottom: 0;
		padding-top: 220px;
	}
	#under_mv_area .section_enTitle{
		top: 72px;
		width: 100%;
	}
	#under_mv_area .mv_area_img {
      	width: 78%;
    	margin-left: 22%;
	}
	#under_mv_area .mv_area_text {
	    top: 62%;
	}
}
/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}
/*-------------------------------------
	HOME
--------------------------------------*/
#mv_area{
	position: relative;
}
.mv_area_text{
	position: absolute;
	margin: 0 1.2em;
	top: 12.5em;
}
.mv_area_text_main{
	overflow: hidden;
	border-bottom: 1px solid;
    margin-bottom: 1.45em;
    padding-bottom: 0.45em;
}
@keyframes text-show {
  0% {
    width: 0; /* 開始時は表示されない */
	opacity: 0;
  }
  100% {
    width: 100%; /* 終了時は全て表示される */
	opacity: 1;
  }
}
.mv_area_text_main span {
  font-size: min(9vw,3em);
  line-height: 1.5;
}
.mv_area_text_main .mv_area_text_mainUP {
  display: block;
  animation: text-show 2s steps(24) forwards; 
  animation-delay: 1s; 
  white-space: nowrap; 
  overflow: hidden;
  opacity: 0;
}
.mv_area_text_main .mv_area_text_mainUNDER {
  display: block;
  animation: text-show 2.5s steps(24) forwards; 
  animation-delay: 3s; 
  white-space: nowrap; 
  overflow: hidden;
  opacity: 0;
}
@keyframes text-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.mv_area_text_sub span{
	animation: text-fadein 1s ease-in-out forwards; 
  	animation-delay: 5s;
	opacity: 0;
}
#home_about{
	margin-top: 12em;
    background: #FFFBF8;
    background: linear-gradient(0deg, #FFFBF8 0%, #FFFBF8 74%, #FFF 74%, #FFF 100%);
}
.home_about_Titlebox{
	width: 241px;
	height: 212px;
	margin: 0 auto 2.5em;
	background: linear-gradient(#555 0%, #303030 100%);
	filter: drop-shadow(6px 6px 6px rgba(217, 216, 216, 0.16));
	position: relative;
}
.home_about_Title{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	color: #FFF;
}
.home_about_TitleBG{
	position: absolute;
    top: 40%;
    left: 25%;
    font-family: Arial;
    font-weight: 900;
    font-size: 19px;
    line-height: 52px;
    text-align: center;
    color: rgba(243, 139, 54, 0.2);
    transform: rotate(-25deg);
}
.home_business_list li{
	position: relative;
}
.home_business_list li p{
	position: absolute;
	top: 32%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	font-size: 20px;
	color: #FFF;
}
.home_business_list li::after{
	position: absolute;
    top: 62%;;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    display: inline-block;
    content: "";
    background: url(../img/common/btn_icon.svg) no-repeat;
    width: 25px;
    height: 6px;
}
@keyframes scroll_left {
  0% {
    transform: translateX(-100%); /* 開始位置は画面の右端 */
  }
  100% {
    transform: translateX(100%); /* 終了位置は画面の左端 */
  }
}
#home_company .section_enTitle span{
	display: inline-block;
  	animation: scroll_left 8s linear infinite; 
}
.home_company_Text {
    padding: 0 1.75em;
}
#home_recruit{
	background: url(../img/home/recruit_bg.png) no-repeat center;
	background-size: cover;
}
#home_recruit .section_enTitle{
	color: #f38b36;
	opacity: 0.47;
}
.home_recruit_img{
	margin-bottom: 1.85em;
}
.home_recruit_img img{
	width: 49%;
}
.recruit_Right{
	margin-top: 1.75em;
}
@media screen and (min-width:897px){
	#mv_area{
		margin-top: 52px;
	}
	.mv_area_img{
		width: 82%;
		margin-left: 18%;
	}
	.mv_area_img img{
		width: 100%;
	}
	.mv_area_text {
	    margin: 0;
		top: 28%;
    	left: 2.75em;
	}
	.mv_area_text_main span {
    	font-size: 56px;
	}
	#home_about {
    	margin-top: -125px;
    	background: #FFFBF8;
	}
	.home_about_Titlebox {
	    margin: 0 0 0 -70px;
	}
	.home_about_Text {
		width: 765px;
    	margin: -82px 0 0 auto;
	}
	.home_about_Text p{
		line-height: 42px;
	}
	.home_business_list li {
	    width: calc(100% / 3);
	}
	.home_company_Text img,.home_business_list li img,.home_company_Image img{
		width: 100%;
	}
	.home_company_Text,.home_company_Image{
		width: 50%;
		box-sizing: border-box;
	}
	.home_company_Text {
		padding: 0 42px;
	}
	#home_recruit {
	    margin-bottom: 228px;
	}
	.home_recruit_img{
		position: relative;
	}
	.home_recruit_img img {
    	position: absolute;
    	width: 340px;
	    top: -32px;
    	left: 2%;
    	margin-top: 0;
	}
	.recruit_Right{
		left: auto !important;
		right: 2%;
	}
	.home_recruit_Text p{
		margin-top: 158px;
	}
}
/*-------------------------------------
	事業内容
--------------------------------------*/
.business_BoxList li{
	margin-bottom: 3.75em;
}
.business_BoxList li:last-child{
	margin-bottom: 0;
}
.business_Image {
	margin-bottom: 1.75em;
}
.business_Text {
	padding: 0 2.75em;
}
@media screen and (min-width:897px){
	.business_BoxList li:nth-child(2n){
		flex-direction: row-reverse;
	}
	.business_Image,.business_Text {
		width: 50%;
	}
	.business_Image img{
		width: 100%;
	}
	.business_Text {
		padding: 0 42px;
		box-sizing: border-box;
	}
}
/*-------------------------------------
	会社概要
--------------------------------------*/
.company_tb th,.company_tb td{
	border-bottom: 1px solid #e6e6e6;
}
.map{
	height: 375px;
}
@media screen and (min-width:897px){
	#company_map .cts_inner02{
		padding: 0 0 92px;
	}
	.map{
		height: 452px;
	}
}
/*-------------------------------------
	採用情報
--------------------------------------*/
#recruit_mainContents {
    background: url(../img/recruit/bg.jpg) no-repeat center;
    background-size: cover;
}
.recruit_img img{
	width: 48%;
}
.recruit_tb th{
    width: 35%;
	background: #f9f9f9;
}
.recruit_tb td{
	border-bottom: 1px solid #f9f9f9;
}
@media screen and (min-width:897px){
	.recruit_tb th{
    	width: 22%;
	}
	.worksIMG{
		width: 452px;
		margin-right: 42px;
	}
}
/*-------------------------------------
	プライバシーポリシー
--------------------------------------*/
.privacy_box{
	margin-bottom:8%;
}
.privacy_box ul{
	margin: 12px 22px;
}
.privacy_box ul li{
	font-size: 14px;
	margin-bottom: 12px;
	line-height: 20px;
	text-indent: -18px;
    padding-left: 18px;
}
.privacy_box li{
	margin-bottom: 3%;
}
.privacy_box_list li:last-child{
	margin-bottom: 0;
}
@media screen and (min-width:897px){
	.privacy_box{
		margin-bottom:32px;
	}
}
/*-------------------------------------
	お問い合わせ
--------------------------------------*/
.satei_flowbox{
	background: #f3fde4;
    padding: 8%;
}
.satei_flowbox .ttl02{
	color: #2c2c2c;
}
#contact table{
	width: 100%;
	text-align: left;
}
#contact table th,#contact table td{
	width: 100%;
	display: block;
	box-sizing: border-box;
}
#contact table th{
	vertical-align: middle;
	text-align: left;
	position: relative;
	padding: 4% 0 1%;
	font-size: 15px;
	border-bottom: none;
}
#contact table td{
	vertical-align: middle;
	padding: 1% 0 4%;
	border-bottom: 1px solid #dedede;
	font-size: 14px;
}
.bd_none{
	border-bottom: none !important;
}
#contact table .must,#contact table .not_must	{
	position: relative;
	top: 0;
	font-size: 11px;
	color: #fff;
	background: #b11901;
	display: inline-block;
	padding: 2px 9px;
	margin-left: 8px;
}
#contact table .not_must{
	background: #585656;
} 
#contact .attention{
	font-size: 12px;
	font-weight: normal;
}
#contact table .size01 {
	width: 60%;
}
#contact table .size02 {
	width: 95%;
}
#contact table .size03 {
	width: 48%;
}
#contact .btn .confirmation_btn, #contact .btn .back_btn {
	background: #f6990a;
	width: 90%;
	padding: 15px 0;
	color: #FFF;
	font-size: 14px;
	margin-top: 20px;
}
#contact .btn .back_btn{
	background: #c2c2c2;
}
#contact table td .checkbox_list{
	display: block;
}
#contact table td .checkbox_list li{
	width: 100%;
}
#contact table input,#contact table textarea,#contact input[type="button"],#contact select,#contact input[type="file"]{
	background: #FFF;
	border: 1px solid #ccc;
	-webkit-appearance: none; 
	border-radius: 0;
	padding: 7px;
	width: 100%;
	font-size: 16px;
}
#contact input[type="file"]{
	border: none !important;
}
#contact table input,#contact table select{
	color: #2c2c2c;
	height: 45px;
}
#contact table select{
	-moz-appearance: menulist;
  -webkit-appearance: menulist;
}
#contact table select::-ms-expand {
    display: block;
}
#contact table input[type="radio"] {
	width: 12px;
	height: 12px;
    border-radius: 50%;
	-webkit-appearance:radio;
}
#contact table input[type="checkbox"] {
	border: 1px solid #ccc;
    width: 17px;
    height: 17px;
    border-radius: 0;
    -webkit-appearance: checkbox;
}
#contact table textarea{
	height: 100px;
	line-height: 1.25;
	font-weight: normal;
}
#contact table input:focus,#contact table select:focus,#contact table textarea:focus {
  outline: solid 5px rgb(83, 152, 255);
}
#contact table input[type="radio"]:focus,#contact table input[type="checkbox"]:focus,#contact table input[type="file"]:focus{
	outline: none;
}
#contact table a{
	text-decoration: underline;
	color: #144fbc;
}
#contact table a:hover{
	text-decoration: none;
}
#contact .completion{
	margin-bottom: 210px;
	text-align: center;
}
#contact .submit_content .btn{
	text-align: center;
}
#contact .wpcf7-submit{
	position: relative;
	display: block;
    background: #141414;
	border: 1px solid #141414;
    color: #FFF;   
    width: 80%;
    margin: 20px auto 0;
	padding: 15px 0;
    border: none;
    cursor: pointer;
    border-radius: 28px;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 1.8px;
}
#contact .wpcf7-submit:hover{
	background: #FFF;
    color: #141414;
	border: 1px solid #141414;
	box-sizing: border-box;
}
#contact .wpcf7-submit::after {
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: '\f138';
    color: #FFF;
    font-size: 14px;
}
.form_pp_txt{
	margin-top: 32px;
	font-size: 14px;
}
.form_pp_txt a{
	text-decoration: underline;
}
.form_pp_txt a:hover{
	text-decoration: none;
}
#zip_footer{
	display: none !important;
}
@media screen and (min-width:897px){
	 #contact table th,#contact table td{  
		display: table-cell;
		padding: 30px 0 23px;
		border-bottom: 1px solid #CCC;
	}
	#contact table th{
		width: 35%;
	}
	#contact table td{
		width: 65%;
	}
	#contact table input, #contact table select {
		width: 60%;
	}
	#contact table td .size_mail{
		width: 100%;
	}
	#contact table textarea {
		height: 152px;
	}
	#contact .wpcf7-submit {
		display: block;
		width: 300px;
		margin: 0 auto;
		margin-top: 10px;
		padding: 15px 0;
		font-size: 16px;
	}
	#contact .confirmation {
		margin: 20px 0 40px;
	}
	#contact .submit_content table td,#contact .submit_content table th {
		border-bottom: 1px solid #dedede;
		padding: 25px 0;
		display: table-cell;
	}
	.bd_none{
		padding: 30px 0 0 !important;
	}
	#pc_fixed{
		display: none;
	}
}
/*--------------------------------------------
	Footer / フッター
--------------------------------------------*/
.cv_area{
	background: #f3f3f3;
	margin: 3.75em 0;
    padding: 3.75em 2.5em;
    text-align: center;
}
.cv_area_Left{
	border-bottom: 1px solid #BBBBBB;
    margin-bottom: 1.75em;
    padding-bottom: 1.75em;
}
.cv_area_ttl{
	font-size: min(5.4vw,1.8em);
    margin-bottom: 1.25em;
    line-height: 1.5;
}
.cv_area_ttl span{
	display: block;
    font-size: min(3vw,1em);
}
.cv_area_Left p{
	line-height: 2.5;
}
footer{
    border-top: 2px solid #f38b36;
    border-bottom: 5px solid #f38b36;
}
.ft_inner{
    padding: 3.75em;
}
.ft_logo img{
	width: 62%;
	display: block;
	margin: 0 auto 1.5em;
}
footer small{
	font-size: 12px;
	display: block;
	text-align: center;
	margin: 2.75em 0;
}
#page-top a{
	position: fixed;
	z-index: 1;
	bottom: 84px;
	right: 10px;
	width: 40px;
	height: 40px;
	padding: 8px 0;
	border-radius: 50%;
	text-align: center;
	background: #1f1f1f;
	box-sizing: border-box;
}
#page-top img {
	width: 22px;
}
.sp_fixed_list{
	z-index: 1;
	position: fixed;
	bottom: -3px;
	flex-wrap: nowrap;
	background: #00b900;
    width: 100%;
}
.sp_fixed_list li a img:hover{
	opacity: 1;
}
@media screen and (min-width:897px){
	.cv_area{
		width: 1080px;
    	margin: 0 auto 92px;
	}
	.cv_area .flex_box_pc{
		justify-content: center;
	}
	.cv_area_Left {
    	border-bottom: none;
    	border-right: 1px solid #BBBBBB;
		margin-bottom: 0;
		padding-right: 0;
    	margin-right: 92px;
    	padding-right: 92px;
	}
	.cv_area_ttl span {
    	font-size: 14px;
	}
	.cv_area_Right .btn{
		margin-top: 10px;
	}
	footer .ft_inner{
		width: 1080px;
    	margin: 0 auto;
		padding: 62px 0 0;
    }
	.ft_company_info {
		margin-bottom: 42px;
	}
	.ft_logo img {
    	width: auto;
    	margin: 0;
	}
	footer .nav_box nav ul{
		margin-top: 38px;
	    flex-wrap: wrap;
		justify-content: flex-end;
	}
	.nav_box nav ul li {
    	margin: 0 0 22px 38px;
	}
	footer nav{
		display: block;
		margin-bottom: 22px;
	}
	footer nav ul li {
   	    border-top: none;
		margin-bottom: 0;
	    padding-top: 0;
	}
	footer nav li a{
		font-size: 14px;
	}
	footer nav li a:hover{
		text-decoration: underline;
	}
	footer small {
		font-size: 12px;
		margin: 0 0 32px;
	}
	#pc_fixed{
		width: auto;
	}
	#sp_fixed{
		display: none;
	}
	#page-top a{
		width: 65px;
		height: 65px;
		padding: 15px 0;
	}
	#page-top img {
		width: 30px;
	}
}
/* Bnr
-----------------------------------------*/
.Bnr{
	position: fixed;
    width: 120px;
    bottom: 143px;
    left: 12px;
    z-index: 2;
}
.Bnr__img__inner{
	width: 100%;
    height: auto;
}
.Bnr .Bnr__img__inner a{
	display: block;
	padding: 0;
    margin: 0;
	line-height: 0;
}
.Bnr .Bnr__img__inner button{
	border: none;
    margin: 0;
    padding: 0;
	background: none;
}
.Bnr .Bnr__img p.close{
	position: absolute;
    left: 3px;
    top: -24px;
}
.Bnr .Bnr__img p.close a{
  display: block;
  width: 20px;
  height: 25px;
  text-align: center;
}
.Bnr .Bnr__img p.close a span{
  display: block;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.Bnr .Bnr__img p.close a i{
  font-size: 20px;
  z-index: 888;
  color: #8c8b8b;
}
@media screen and (min-width:897px){
	.Bnr {
		width: auto;
		bottom: 10px;
		left: auto;
    	right: 102px;
	}
	.Bnr .Bnr__img {
		height: auto;
	}
	.Bnr .Bnr__img p.close {
		top: -39px;
		right: 3px;
		left: auto;
	}
}

/* ▼ サブメニュー（業務内容） */
.hd_btn_list li {
  position: relative;
  list-style: none;
}



/* 初期状態では非表示 */
.hd_btn_list .submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  min-width: 180px;
  z-index: 999;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  padding: 0;
  margin: 0;
}

.hd_btn_list .submenu li a {
  display: block;
  padding: 10px 15px;
  color: #5a3d2b;
  text-decoration: none;
  transition: background 0.3s;
}

.hd_btn_list .submenu li a:hover {
  background: #f7f3f0;
}

/* PCではホバーで表示 */
@media screen and (min-width: 769px) {
  .hd_btn_list li.has-submenu:hover > .submenu {
    display: block;
  }
}

/* スマホでは縦並びにしてツリー展開 */
@media screen and (max-width: 768px) {
  .hd_btn_list {
    flex-direction: column;
    align-items: flex-start;
  }

  .hd_btn_list .submenu {
    position: static;
    display: none;
    box-shadow: none;
    border: none;
    background: #faf8f6;
    margin-left: 15px;
  }

  .hd_btn_list li.has-submenu.open > .submenu {
    display: block;
  }
}
/* ▼ スマホ用サブメニュー */
.sp_nav_list li {
  list-style: none;
  position: relative;
}

.sp_nav_list .submenu {
  display: none;
  margin-left: 20px;
  background: #faf8f6;
  border-left: 2px solid #5a3d2b;
  padding-left: 10px;
}

.sp_nav_list li.has-submenu.open > .submenu {
  display: block;
}

.sp_nav_list .submenu a {
  display: block;
  padding: 8px 0;
  color: #5a3d2b;
  text-decoration: none;
}

.sp_nav_list .submenu a:hover {
  text-decoration: underline;
}


/* ===============================
   スマホメニュー内 サブメニュー装飾
=============================== */
.sp_nav_list li.has-submenu > a {
  position: relative;
  font-weight: 600;
  color: #333;
}

/* ▼ 矢印アイコン（開閉用） */
.sp_nav_list li.has-submenu > a::after {
  content: '▸';
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9em;
  color: #5a3d2b;
  transition: transform 0.3s ease;
}

.sp_nav_list li.has-submenu.open > a::after {
  transform: translateY(-50%) rotate(90deg);
}

/* ▼ サブメニュー領域 */
.sp_nav_list .submenu {
  display: none;
  margin: 8px 0 10px 15px;
  padding: 8px 12px;
  border-left: 2px solid #5a3d2b;
  background: #f9f6f2;
  border-radius: 6px;
  animation: fadeInSubmenu 0.3s ease;
}

/* ▼ 開いたときに表示 */
.sp_nav_list li.has-submenu.open > .submenu {
  display: block;
}

/* ▼ サブメニューの中身 */
.sp_nav_list .submenu a {
  display: block;
  padding: 8px 0;
  font-size: 0.95em;
  color: #5a3d2b;
  text-decoration: none;
  border-bottom: 1px solid #e7e2de;
}

.sp_nav_list .submenu a:last-child {
  border-bottom: none;
}

.sp_nav_list .submenu a:hover {
  color: #3b271a;
  text-decoration: underline;
}

/* ▼ 開閉アニメーション */
@keyframes fadeInSubmenu {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: translateY(0); }
}

.sp_nav_list li.has-submenu > a {
  font-size: 1.1em;
  letter-spacing: 0.03em;
  color: #5a3d2b;
}
/* スマホメニューのサブメニューを少し下に下げる */
.sp_nav_list li.has-submenu.open > .submenu {
    margin-top: 12px; /* 今より少し下げたい場合は数値を増やす */
}

/* さらにヘッダーとの間隔を広くしたい場合 */
.sp_nav_list li.has-submenu > a {
    padding-bottom: 6px; /* 下のスペースを追加 */
}

/* これで「メイン画像＋下段に横並びサムネイル」形式のバイク詳細ページが完成します。 */
.bike-gallery-wrapper { ... }
.bike-main-image img { ... }
.bike-thumbnails { ... }
.bike-thumbnails img { ... }



.bike-thumb {
  position: relative;
  overflow: hidden;
}

.sold-overlay {
  position: absolute;
  top: 20px;
  right: -45px;
  background: rgba(255, 0, 0, 0.7);
  color: #fff;
  padding: 8px 40px;
  font-size: 18px;
  font-weight: bold;
  transform: rotate(45deg);
  pointer-events: none;
  text-transform: uppercase;
}
