@charset "UTF-8";
/* PC用CSS */
* {
    -webkit-box-sizing:border-box;
    -moz:box-sizing:border-box;
    box-sizing:border-box;
}

img{
-webkit-backface-visibility: hidden;
}

:root {
  --main-bg: #231815;
  --main-color: #231815;
  --sub-color: #222;/**/
  --btn-color:#005072;/*さんぽblue*/
  --btn-bg:#eee;
}


/* background-color: var(--main-color);*/

#page-top{position: fixed;
bottom:1%;
right:4px;
}

#page-top i {
background-color: rgba(46, 46, 46, 0.7);
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
line-height: 44px;
width: 44px;
}

figure, figcaption
{margin:0; padding:0;}

aside, footer, header, nav, section{
display: block;
margin:0;
padding:0;
}
html{font-size: 62.5%;/* 10px */}
body{
font-size: 1.6rem;/*16px*/
padding: 0;
margin: 0;
}

a:link{color:#111;text-decoration:underline;}
a:visited{color:#111;text-decoration:underline;}
a:hover{color:#111;text-decoration:none;}
a:active{color:#111;text-decoration:underline;}
a.borde_none:link{text-decoration:none;}


@media print, screen and (min-width: 768px) {
					#page-top{position: fixed;
					bottom: 2%;
					right: 20px;
					}

					body{
					width:100%;
					line-height: 1.7;
					font-family: "Helvetica Neue",
					Arial,
					"Hiragino Kaku Gothic ProN",
					"Hiragino Sans",
					Meiryo,
					sans-serif;
					color: #111;
					scroll-behavior: smooth;
					}

					a[href^="tel:"] {pointer-events: none;}
					.pcno{display:none !important;}
					.ya_smp {
					display: none;
					}

					/*余白*/
					.mb05em {margin-bottom:0.5em;}
					.mb1em {margin-bottom:1em;}
					.mb2em {margin-bottom:2em;}
					.mb3em {margin-bottom:3em;}
					.mb5em {margin-bottom:5em;}
					.mb10{ margin-bottom:10px;}
					.mb15{ margin-bottom:15px;}
					.mb30{ margin-bottom:30px;}
					.mb70{ margin-bottom:70px;}
					.mb50{ margin-bottom:50px;}
					.mb100{ margin-bottom:100px;}
					.mt30pc{margin-top: 30px;}
					.mt70{margin-top: 70px;}
					.pt70{padding-top: 70px;}
					.pad50{padding: 50px;}
					.pad40{padding: 40px;}
					header {
					max-width: 1140px;
					width: 100%;
					margin-left: auto; margin-right: auto;
					box-sizing: border-box;
					display:flex;
					justify-content:center;
					align-items:flex-start;
					flex-wrap:wrap;
					text-align: center;
					}

					.logoarea {
					max-width: 1140px;
					width: 100%;
					margin-left: auto; margin-right: auto;
					box-sizing: border-box;
					display: block;
					text-align: center;
					}

					.logobox a .logo {
					display: inline-block;
					width: 300px;
					height: 61.86px;
					background: url(../img/logo.png) no-repeat;
					background-size: contain;
					white-space: nowrap;
					text-indent: 100%;
					overflow: hidden;
					}
					.logobox {
					float: left;
					margin-top: 20px;
					margin-bottom: 10px;
					}


.pcno{display:none;}

}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/




ul, ol, dl,dt,dd,div,ol,ul,li,figure,figcaption {
padding: 0;
margin: 0;
}
h1, h2, h3, h4, h5, h6, p {
margin:0;
padding:0;
font-weight:normal;
font-size:100%;
}
li {list-style-type:none;}
.mb1{
margin-bottom: 1em;}
.mb2{
margin-bottom: 2em;}
/* form */
button, fieldset, form, input, label, legend, select, textarea {
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
margin:0;
padding:0;
vertical-align:middle;
}
a {outline:none;border:0;}
a:hover img,
input[type="image"]:hover{
opacity:0.5;
-moz-opacity: 0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha( opacity=50 )";
}

a:hover{
opacity:0.5;
filter: alpha(opacity=50);
-ms-filter: "alpha( opacity=50 )";
}


table {
border-collapse:collapse;
border-spacing:0;
}
a:link{color:#1E3F84;text-decoration:none;}
a:visited{color:#1E3F84;text-decoration:none;}
a:hover{color:#e50202;text-decoration:underline;}
a:active{color:#1E3F84;text-decoration:none;}

.top_info_ttl a:link{color:#fff;text-decoration:none;}
.top_info_ttl a:visited{color:#fff;text-decoration:none;}
.top_info_ttl a:hover{color:#fff;text-decoration:none;}
.top_info_ttl a:active{color:#fff;text-decoration:none;}


img {vertical-align: middle;border:0;}
.pem p{
margin-bottom: 1em;}
/*位置と状態*/
.left{float:left;}
.right{float:right;}
.clear{clear:both;}
.cen{text-align:center;}
.r{text-align:right;}
.l{text-align:left;}
.bold{font-weight:bold;}
.red{color:red;}

.jisage{
padding-left:1em;
text-indent:-1em;
}
input[type="checkbox"],
input[type="radio"]{
margin: 0 8px 0 4px;
}
input[type="text"],
select{
margin-right: 4px;
}

.top_info{
background-color: #EEEEEE;
z-index: 1;
}



.top_info_ttl p{
font-size: 2.8rem;
color:#fff;
background-color: var(--main-bg);
display: inline-block;
}


z
.mainimg img{
width: 100%;
}



.top_info_bkcss_bg{
/*background-color: #eee;*/
}
.top_info_txt dt{
font-size: 1.4rem;
color:#888;
}
.top_info_txt dt span{
font-size: 1rem;
border: solid 1px var(--main-color);
display: inline-block;
color:var(--main-color);
margin-left: 0.4em;
padding: 0 0.5em;
}
.top_info_txt dd{
font-size: 1.6rem;
}

.top_info_txt dl{
margin-bottom: 1rem;
}
.top_about_li a{
text-decoration: none;
}
@media print, screen and (min-width: 768px) {
					.section1 {
					display: flex;
					font-size: 16px;
					position: relative;
					color: #fff;
					width: 30%;
					min-height: 350px;
					background-color: var(--main-bg);

					}

					.section1 img{
					margin-right: 0;
					position: absolute;
					right: -1px;
					top:0;
					}

					.section_box{
					width: 30%;
					position: relative;
					height: 352px;
					background-color: var(--main-bg);
					}
					.top_info_txt{
					padding: 80px 0;
					width: 70%;
					}
					.top_info_scroll{
					height:200px;
					overflow-y: auto;
}
					.top_info_bkcss{
					/*position: absolute;
					left: 0;
					top:0;
					z-index: -2;
					width: 100%;
					min-height: 350px;*/
					}
					.section_aerea{
					overflow: hidden;
					position: relative;
					height: 352px;
					background-color:  #eee;
					
					}
					.top_info_ttl{
					width: calc(28% - 50px);
					height: 140px;
					position: absolute;
					left: 50px;
					top:120px;
					z-index: 100;
					}

					.top_info_up{
					position: absolute;
					left: 50%;
					transform: translateX(-50%);
					top:0;
					z-index: 10;
					max-width: 1140px;
					width: 100%;
					min-height: 352px;
					display: flex;
					
					}



					.top_info_ttl a{
					font-size: 1.4rem;
					color:#fff;
					background-color: var(--main-bg);
					font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
					position: relative;
					display: block;
					min-width: 140px;
					}

					.top_info_ttl a::before {
					content: '';
					width: 10px;
					position: absolute;
					top: 10px;
					right: 1px;
					border-top: solid 1px #fff;
					-webkit-transform: rotate(
					45deg);
					transform: rotate(
					45deg);
					}
					.top_info_ttl a::after {
					content: '';
					width: 26px;
					position: absolute;
					top: 13px;
					right: 2px;
					border-bottom: solid 1px #fff;
					}
					.top_business_li{
					padding: 0 60px;
					margin-bottom: 100px;
					margin-left: auto; margin-right: auto;
					
					
					}


					/*ABOUT 当社の特徴*/
					.bk_topabout {
					width:100%;
					background: url(../img/top_bk_about.webp) no-repeat center 0;
					background-size:100%;
					padding: 300px 0 0 0;
					margin: 0 0 100px 0;
					}

					.whitebox {
					max-width: 1140px;
					background: #fff;
					margin-left: auto; margin-right: auto;
					overflow: hidden;
					}
					

					.top_about_li p{
					background-color:  var(--main-bg);
					color: #fff;
					position: relative;
					line-height: 2;
					font-size: 1.8rem;
					font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
					padding: 10px;
					}
					.top_about_li li{
					margin-bottom: 36px;
					max-width: 48%;
					}
					.top_about_li li img{
					max-width: 100%;
					}
					.top_about_li p::before{
					content: '';
					width: 10px;
					position: absolute;
					top: 27px;
					right: 25px;
					border-top: solid 1px #fff;
					-webkit-transform: rotate(45deg);
					transform: rotate(45deg);
					}
					.top_about_li p::after{
					content: '';
					width: 26px;
					position: absolute;
					top: 30px;
					right: 26px ;
					border-bottom: solid 1px #fff;
					}
					.bk_top_recommend {
					width:100%;
					background: url(../img/top_bk_recommend.webp) no-repeat center 0;
					background-size:100%;
					padding: 30vh 0 0 0;
					margin: 0 0 100px 0;
					display: block;
					}
					.top_recommend_li_in p{
					font-size: 18px;
					}
					.top_recommend_li_in{
					width: calc(100% - 260px);
					}
					.top_recommend_li_in .ttl_txt01{
					margin-bottom: 20px;
					}
					footer{
					padding: 0px 0 30px 0;
					}
					footer .inner {
					max-width: 1140px;
					padding-top: 60px;
					margin: 0 auto 30px auto;
					display: flex;
					flex-wrap: wrap;
					/* justify-content: space-between; */
					}
					footer .inner ul{
					display:flex;
					justify-content:space-evenly;
					align-items:flex-start;
					flex-wrap:wrap;
					margin-inline: auto;
					text-align: center;
					}
					footer .inner ul li{
					margin-inline: 10px;
					}
					.foot_dl{
					width: 860px;
					}
					.foot_dl dl{
					display: inline-block;
					width: 250px;
					margin-right: 20px;
					margin-bottom: 30px;
					vertical-align: top;
					}
					.foot_dl dl dt{
					color: #fff;
					border-bottom: 1px solid #fff;
					margin: 0 0 0.5em 0;
					padding: 0 0 0.3em 0;
					}
					.btn_03 {
					width: 600px;
					margin-left: auto; margin-right: auto;
					}
					.layer_w{
					max-width: 1140px;
					margin-left: auto; margin-right: auto;
					overflow: hidden;
					}
					.flow_txtarea .btn_02 {
					width: 380px;}
}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/




@media (1140px <= width) {
	.top_business_li li:nth-child(3n){
	margin-right: 0%;
	}

	.top_business_li li{
	display: inline-block;
	width: 31%;
	margin-right: 3%;
	margin-bottom: 50px;
	vertical-align: top;
	}
}/* 1140px以上 */

@media (768px <= width <= 1140px) {
	.top_business_li li:nth-child(2n){
	margin-right: 0%;
	}

	.top_business_li li{
	display: inline-block;
	width: 48%;
	margin-right: 3%;
	margin-bottom: 50px;
	vertical-align: top;
	}
}



.foot_dl dl dd a{
display: block;
}

footer a:link{color:#fff;text-decoration:none;}
footer a:visited{color:#fff;text-decoration:none;}
footer a:hover{color:#fff;text-decoration:underline;}
footer a:active{color:#fff;text-decoration:none;}


.copyright {
text-align: center;
font-size: 1.2rem;
padding: 10px 0;
}

footer{
background-color: var(--main-bg);
color: #fff;
}
.foot_pagetop{
background-color: #666;
line-height: 70px;
color: #fff;
text-align: center;
width: 100%;
}
.foot_pagetop i{
color: #fff;
font-size: 50px;

}
.top_recommend_li > li{
margin-bottom: 30px;
}
.top_recommend_li_in ul > li dl{
margin-bottom: 2em;
}
.top_recommend_li_in ul > li dl dt{
color: var(--main-bg);
font-size: 1.8rem;
font-weight: bold;
margin-bottom: 0.5em;
margin-left: -0.5em;
text-indent: -1.5em;
padding-left: 2em;
}
.top_recommend_li_in ul > li dl dt::first-letter{
font-size: 2rem;
}

.top_recommend_li_in ul > li dl dd{
margin-left: 1.5em;
}



.top_recommed_about dl {
display:flex;
align-items:stretch;
flex-wrap:wrap;
}
.top_recommed_about dl dt{
color: var(--sub-color);
font-weight: bold;
font-size: 5rem;
border-right: 1px solid var(--sub-color);
width: 2em;
display:flex;
justify-content:center;
align-items: flex-start;
flex-wrap:wrap;

}
.top_recommed_about dl dd{
margin: 1em 1em 3em 1em;
}
.top_recommed_about_txtttl{
color: var(--sub-color);
font-size: 2rem;
font-weight: bold;
margin-bottom: 0.5em;
}


.top_recommend_flx{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
}
.top_about_li{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	flex-wrap:wrap;
}

.top_about_li a:hover{
text-decoration: none;
}


.top_business_li li img{width: 100%;
margin-bottom: 20px;}

.ttl001{
font-size: 2.2rem;
font-weight: bold;
color: var(--sub-color);
}
.ttl_txt01{
font-size: 2.4rem;
font-weight: bold;
color: var(--main-bg);
}
.top_business_li a:link{color:#222;text-decoration:none;}
.top_business_li a:visited{color:#222;text-decoration:none;}
.top_business_li a:hover{color:#222;text-decoration:none;}
.top_business_li a:active{color:#222;text-decoration:none;}



.linkarrow{
width: 100%;
line-height: 2;
position: relative;
display: block;

}

.linkarrow::before{
content: '';
width: 10px;
position: absolute;
top: 23px;
right: 0px;
border-top: solid 1px var(--main-bg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.linkarrow::after{
content: '';
width: 26px;
position: absolute;
top: 26px;
right: 1px ;
border-bottom: solid 1px var(--main-bg);
}
.linkarrow.linkposi{
width: auto;                  /* 'width: 100%;' を解除 */
display: inline-block;        /* 幅をコンテンツに合わせる */

/* 矢印の幅を考慮して、右側に余白を追加（調整が必要な場合があります） */
padding-right: 36px;
}
.linkarrow.linkposi::before{
top: 48%;
right: 0px;
}
.linkarrow.linkposi::after{
top: 48%;
margin-top: 3px;
right: 1px;
}

.btn_01 {
display: block;
width: 26%;
height: 52px;
line-height: 52px;
color: var(--main-bg);
position: relative;
font-size: 1.8rem;
cursor: pointer;
}
.btn_01::before{
content: '';
width: 10px;
position: absolute;
top: 23px;
right: 25px;
border-top: solid 1px var(--main-bg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.btn_01::after{
content: '';
width: 26px;
position: absolute;
top: 26px;
right: 26px ;
border-bottom: solid 1px var(--main-bg);
}
.btn_01:link {color:var(--main-color); text-decoration: none;}
.btn_01:visited {color:var(--main-color); text-decoration: none;}
.btn_01:hover {color:var(--main-color); text-decoration: none;opacity: 0.7;}
.btn_01:active {color:var(--main-color); text-decoration: none;}

.btn_02 {
width: 26%;
height: 68px;
line-height: 68px;
color: #fff;
position: relative;
font-size: 1.8rem;
cursor: pointer;
background-color:var(--btn-color);
border: 1px solid var(--btn-color);
}
.flow_txtarea .btn_02 {
display: inline-block;
text-align: center;
}
.btn_02::before{
content: '';
width: 10px;
position: absolute;
top: 29px;
right: 25px;
border-top: solid 1px #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.btn_02::after{
content: '';
width: 26px;
position: absolute;
top: 32px;
right: 26px ;
border-bottom: solid 1px #fff;
}
.btn_02:link {color:#fff; text-decoration: none;}
.btn_02:visited {color:#fff; text-decoration: none;}
.btn_02:hover {color:#fff; text-decoration: none;opacity: 0.7;}
.btn_02:active {color:#fff; text-decoration: none;}

.btn_03 {
height: 68px;
line-height: 68px;
color: var(--main-color);
position: relative;
font-size: 1.8rem;
cursor: pointer;
background-color: #fff;
border: 1px solid var(--main-color);
display: block;
text-align: center;
}
.btn_03::before{
content: '';
width: 10px;
position: absolute;
top: 29px;
right: 25px;
border-top: solid 1px var(--btn-color);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.btn_03::after{
content: '';
width: 26px;
position: absolute;
top: 32px;
right: 26px ;
border-bottom: solid 1px var(--btn-color);
}
.btn_03:link {color:var(--btn-color); text-decoration: none;}
.btn_03:visited {color:var(--btn-color); text-decoration: none;}
.btn_03:hover {color:var(--btn-color); text-decoration: none;opacity: 0.5; background-color:#eee;}
.btn_03:active {color:var(--btn-color); text-decoration: none;}


.title_top span{
font-size: 1.4rem;
color: var(--sub-color);
display: block;
}
.title_top{
margin-left: auto; margin-right: auto;
text-align: center;
font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
font-size: 3.4rem;
color:var(--main-bg);
}


.section_aereabg{
background-color: #f6f6ef;
overflow: auto;
}

.ttl_area{
font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
display: flex;
}

.ttl_000{
width: 50%;
}

.ttl_000_l{
width: 50%;
}



@media print, screen and (min-width: 768px) {
					.top_recommed_about{
					margin-inline: auto;
					width: max-content;
					max-width: 760px;
					}
					.ttl_area{
					max-width: 1140px;
					margin-left: auto; margin-right: auto;
					}
					.ttl_txt{
					font-size: 4rem;
					margin-top: 160px;
					margin-bottom: 50px;
					}
					.ttl_000{
					font-size: 13.6rem;
					margin-top: 80px;
					}
					.ttl_000 span{
					font-size: 10rem;
					line-height: 1;
					display: inherit;
					}
					.layer_cache{
					padding-top: 70px;
					margin: 0px auto 40px auto;}
					.contact_posi{
					padding-top: 50px;
					margin-bottom: 60px;
					}
					.contact_posi2{
					padding-top: 50px;
					margin-bottom: 80px;
					}
					.contact_posi2 .contact_box{
					width: 860px;
					margin-inline: auto;
					margin-bottom: 40px;
					}
					.contact_posi2 .contact_box th {
					width: 250px;}
					.notice ul {
						width: 750px;}
					.btngroup {
						width: 580px;
						margin: 0 auto 100px;
						display: flex;
						flex-wrap: wrap;
						justify-content: space-between;
					}
				.btn_modoru,
				.btn_soshin {
					width: 44%;}
					
					.footcontact{
					padding-top: 60px;
					margin-bottom: 60px;
					}
					
					.staff_li li{
					margin-bottom: 70px;
					}
					.staff_name{
					font-size: 3.6rem;
					padding-bottom: 20px;
					margin-bottom: 40px;
					border-bottom: 3px solid #000;
					font-weight: bold;
					}
					.staff_name span{
					font-size: 1.6rem;
					display: inline-block;
					margin-left: 1em;
					font-weight: normal;
					}
					.staffbox{
						display:flex;
					justify-content:space-between;
					align-items:flex-start;
					flex-wrap:wrap;
					}
					.staffbox_r{
					width: calc(100% - 440px);
					}
					.staffbox img{
					width: 400px;
					}
					.staff_prof dt{
					width: 150px;
					float: left;
					text-align: center;
					}
					.staff_prof dd{
					margin-left: 180px;
					margin-bottom: 10px;
					font-size: 1.6rem;
					}
					.path{
					max-width: 1140px;
					margin-left: auto; margin-right: auto;
					}
					.top_map_area_l{
					max-width: 760px;
					margin-inline: auto;
					}
}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/


.top_map_box{
transform: translateY(-30px);
padding: 30px 10px 20px 10px;
@media only screen and (min-width:768apx){
transform: translateY(-60px);
padding: 80px;}
}

.staff_prof dt{
font-size: 1.5rem;
background-color: #111;
color: #fff;
}
.staff_prof{
margin-bottom: 30px;
}


.staff_info dt{
font-size: 1.8rem;
font-weight: bold;
color: var(--sub-color);
border-left: 4px solid var(--sub-color);
padding-left: 13px;
margin-bottom: 10px;
}
.staff_info dd {
font-size: 1.6rem;
padding-left: 16px;
margin-bottom: 20px;
}

.footcontact .contact_tel_posi a.tel:link{color:var(--btn-color);text-decoration:none;}
.footcontact .contact_tel_posi a.tel:visited{color:var(--btn-color);text-decoration:none;}
.footcontact .contact_tel_posi a.tel:hover{color:var(--btn-color);text-decoration:none;}
.footcontact .contact_tel_posi a.tel:active{color:var(--btn-color);text-decoration:none;}
.footcontact .contact_tel_posi a.tel:before {color:var(--btn-color);
}


.ttl_000{
color: #f3f3f3;
}
.ttl_000{
font-family: 'Noto Sans JP',"游ゴシック",YuGothic,"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
font-weight: 100;
font-style: italic;
line-height: 1;
font-feature-settings: "palt" 1;
letter-spacing: -0.04em
}


.path a:link{color:#a3a3a3;text-decoration:none;}
.path a:visited{color:#a3a3a3;text-decoration:none;}
.path a:hover{color:#a3a3a3;text-decoration:underline;}
.path a:active{color:#a3a3a3;text-decoration:none;}

.layer_cache{
text-align: center;
font-size: 1.6rem;
}
.layer_cache_l{
text-align: left;
font-size: 1.6rem;
margin-bottom: 60px;
}

.contact_posi2 .contact_box table{
width: 100%;
}
.contact_posi2 .contact_box th {
font-weight: normal;
padding: 10px 2% 0px 2%;
vertical-align: top;
text-align: left;
font-size: 1.6rem;
}
.contact_posi2 .contact_box th p{
margin-top: 10px;
}
.contact_posi2 .contact_box td{
padding: 10px 2% 20px 2%;
font-size: 1.5rem;
}
.contact_posi2 .contact_box td textarea {
width: 100%;
height: 170px;
border-radius: 4px;
padding: 10px 12px;
border: 1px solid #aaa;
outline: none;
}
.contact_posi2 .contact_box th span.ninni{
background: #868686;
}
.contact_posi2 .contact_box td li {
    margin: 0 0 10px 0;
}
.contact_posi2 .contact_box th span{
display: inline-block;
background: #d60000;
text-align: center;
font-size: 1.4rem;
padding: 1px 6px;
color: #fff;
margin-right: 10px;
}
.contact_cache{
text-align: center;
font-size: 1.8rem;
margin-bottom: 20px;
}
input[type="checkbox"] {
transform: scale(1.5);
margin: 0 8px 0 4px;
}
.contact_posi2 .contact_box input[type="text"] {
margin: 4px 0 0;
border-radius: 4px;
padding: 4px 12px;
border: 1px solid #aaa;
outline: none;
height: 48px;
font-size: 1.5rem;
}
.contact_posi2 .contact_box input.w100{
width: 100%;
}
.contact_posi2 .contact_box input.w50{
width: 50%;
}
.notice {
	margin-left: auto; margin-right: auto;
	margin-bottom: 30px;
}
.notice ul {
	margin-left: auto; margin-right: auto;
}
.notice ul li {
	margin: 0 0 0.5em 0;
	list-style-type : disc;
}
.notice ul li a:link,
a.colorwhite:link {color: #222;text-decoration: none;}
.notice ul li a:visited,
a.colorwhite:visited {color: #222;text-decoration: none;}
.notice ul li a:hover,
a.colorwhite:hover {color: #222;text-decoration: underline;}
.notice ul li a:active,
a.colorwhite:active {color: #222;text-decoration: none;}

.contact_tel_posi{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
margin-bottom: 20px;
}

.contact_tel_posi a.tel{
display: block;
color: var(--btn-color);
font-size: 5.4rem;
margin-right: 14px;
}
.contact_tel_posi a.tel:link{color:var(--btn-color);text-decoration:none;}
.contact_tel_posi a.tel:visited{color:var(--btn-color);text-decoration:none;}
.contact_tel_posi a.tel:hover{color:var(--btn-color);text-decoration:none;}
.contact_tel_posi a.tel:active{color:var(--btn-color);text-decoration:none;}
.contact_tel_posi a.tel:before {
font-family: 'FontAwesome';
content: '\f095';
display: inline-block;
width: 1.2em;
text-align: center;
font-size: 1.0em;
}

.contact_tel_posi_r p{
display: block;
font-size: 2.2rem;
}

.contact_tel_posi_r {}

.imgcen{
display: block;
margin-left: auto; margin-right: auto;
text-align: center;
}


.link_black a:link{color:#111;text-decoration:underline;}
.link_black a:visited{color:#111;text-decoration:underline;}
.link_black a:hover{color:#111;text-decoration:none;}
.link_black a:active{color:#111;text-decoration:underline;}

.btn_soshin {
	display: block;

	height: 68px;
	line-height: 68px;
	text-align: center;
	color: #fff;
	position: relative;
	background:var(--btn-color) ;
	border: none;
	cursor: pointer;
	font-size: 1.8rem;
}
.btn_modoru {
	display: block;
	height: 68px;
	line-height: 68px;
	text-align: center;
	color: #222;
	background: #ccc;
	border: none;
	cursor: pointer;
	font-size:2rem;
	position: relative;
}
.btn_soshin:hover,
.btn_modoru:hover {color:#fff; text-decoration: none;opacity: 0.7;}


.thanks01{
text-align: center;
margin-left: auto; margin-right: auto;
font-size: 2rem;
margin-bottom: 2rem;
}
.ttl_bg {
position: relative;
background-size: cover !important;
aspect-ratio: 1920/500; /*横縦*/
object-fit: cover;
box-sizing: border-box;
margin-left: auto;
margin-right: auto;
text-align: center;
vertical-align: middle;
width: 100%;
}


.ttl_flow{
background: url(../img/ttl_flow.png) center center / cover no-repeat;
}

.ttl_form_corporate{
background: url(../img/ttl_form_corporate.png) center center / cover no-repeat;
}
.ttl_form_personal{
background: url(../img/ttl_form_personal.png) center center / cover no-repeat;
}
.ttl_sell{
background: url(../img/ttl_sell.png) center center / cover no-repeat;
}
.ttl_privacy{
background: url(../img/ttl_privacy.webp) center center / cover no-repeat;
}
.ttl_owner{
background: url(../img/ttl_owner.png) center center / cover no-repeat;
}
.ttl_sitemap{
background: url(../img/ttl_sitemap.png) center center / cover no-repeat;
}
.ttl_info{
background: url(../img/ttl_info.webp) center center / cover no-repeat;
}
.ttl_company{
background: url(../img/ttl_company.webp) center center / cover no-repeat;
}
.ttl_business{
background: url(../img/ttl_business.webp) center center / cover no-repeat;
}
.ttl_staff{
background: url(../img/ttl_staff.png) center center / cover no-repeat;
}
.ttl_contact{
background: url(../img/ttl_contact.webp) center center / cover no-repeat;
}
.ttl_point{
background: url(../img/ttl_point.webp) center center / cover no-repeat;
}
.ttl_business{
background: url(../img/ttl_business.webp) center center / cover no-repeat;
}
.ttl_business .ttl_000_l .ttl_txt,
.ttl_sitemap .ttl_000_l .ttl_txt,
.ttl_info .ttl_000_l .ttl_txt,
.ttl_sell .ttl_000_l .ttl_txt,
.ttl_form_corporate .ttl_000_l .ttl_txt,
.ttl_form_personal .ttl_000_l .ttl_txt,
.ttl_sell .ttl_000_l .ttl_txt,
.ttl_privacy .ttl_000_l .ttl_txt,
.ttl_contact .ttl_000_l .ttl_txt,
.ttl_staff .ttl_000_l .ttl_txt,
.ttl_company .ttl_000_l .ttl_txt,
.ttl_owner .ttl_000_l .ttl_txt,
.ttl_flow .ttl_000_l .ttl_txt,
.ttl_bg .ttl_000_l .ttl_txt{
color: #fff;
text-align: left;
margin-bottom: 2rem;
}
.ttl_sitemap .ttl_000{
font-size: 14rem;
opacity: .8;
text-align: right;
line-height: 1;
}
.ttl_staff .ttl_000{
font-size: 17rem;
opacity: .8;
text-align: left;
line-height: 1;
}
.ttl_form_corporate .ttl_000{
font-size: 9rem;
opacity: .8;
text-align: left;
}
.ttl_business .ttl_000{
font-size: 10rem;
opacity: .8;
text-align: right;
}

.ttl_info .ttl_000,
.ttl_form_personal .ttl_000,
.ttl_sell .ttl_000,
.ttl_privacy .ttl_000,
.ttl_contact .ttl_000,
.ttl_company .ttl_000,
.ttl_owner .ttl_000,
.ttl_flow .ttl_000,
.ttl_bg .ttl_000{
font-size: 10rem;
opacity: .8;
text-align: right;
}

@media print, screen and (min-width: 768px) {
					.contact_cache{
					font-size: 2.4rem;
					}
					.ttl_business .ttl_area,
					.ttl_info .ttl_area,
					.ttl_sitemap .ttl_area,
					.ttl_form_corporate .ttl_area,
					.ttl_form_personal .ttl_area,
					.ttl_form_corporate .ttl_area,
					.ttl_form_personal .ttl_area,
					.ttl_sell .ttl_area,
					.ttl_privacy .ttl_area,
					.ttl_contact .ttl_area,
					.ttl_staff .ttl_area,
					.ttl_company .ttl_area,
					.ttl_owner .ttl_area,
					.ttl_flow .ttl_area,
					.ttl_bg .ttl_area{
					align-items:flex-end;
					position: absolute;
					bottom: 0;
					left: 0;
					right: 0;
					}
					.flow_box {
					margin-bottom: 100px;
					max-width: 760px;
					margin-inline: auto;
					}
					.flow_box li{
					padding: 30px;
					box-sizing: border-box;
					margin-bottom: 50px;
					}
					.flow_box li dl dt span{
					font-size: 4.2rem;
					display: inline-block;
					margin-right: 24px;
					padding-right: 24px;
					padding-left: 10px;
					color: var(--sub-color);
					line-height: 1.2;
					}
					.flow_box li dl dt p{
					font-size: 2.6rem;
					}

					.flow_box li dl dt{
					padding-bottom: 24px;
					margin-bottom: 24px;
					}
					.flow_box li dl dd{
					display: flex;
					justify-content:space-between;
					flex-wrap:wrap;
					}

					.flow_box li dl dd p{
					font-size: 1.6rem;
					}
					.owner_li li{
					margin-bottom: 70px;
					}
					.owner_li li{
					display:flex;
					justify-content:space-between;
					align-items:flex-start;
					flex-wrap:wrap;
					}
					.owner_li li:nth-child(even){
					flex-direction: row-reverse; /* 横並び逆順 */
					}
					.owner_li li img{
					width: 500px;
					}
					.owner_li li dl{
					width: calc(100% - 540px);
					}
					#company p{
					font-size: 1.6rem;
					}

					#company iframe{
					width: 100%;
					height: 550px;
					}
					#company .company_li li dl dt{
					float: left;
					}
					#company .company_li li dl dd{
					margin-left: 200px;
					}
					#company .company_li li{
					padding: 30px;
					font-size: 1.6rem;
					}
					.privacy_li{
					margin-bottom: 60px;
					}
					
					#owner_whitebox .flow_box li dd img{
					width: 340px;
					}
				.company_greeting_text{
				display:flex;
				justify-content:space-between;
				align-items:flex-start;
				flex-wrap:wrap;
				}
				.company_greeting_text figure{
				width: 14%;
				}
				
				.company_greeting_text figure img{
				width: 100%;
				}
				.company_greeting_text_in{
				text-align: left;
				width: 80%;
				}
}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/
.company_greeting_text figure{
text-align: center;
}
.company_greeting_text figcaption{
	font-family:'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-size: 120%;
line-height: 1.4;
}

#company .company_li li:nth-child(odd){
background-color: #f6f6ef;
}




.ttl_01{
font-weight: bold;
font-size: 2.6rem;
margin-bottom: 40px;
}
.ttl_01 span{
font-weight: normal;
font-size: 12px;
display: inline-block;
margin-left: 20px;
color: var(--main-color);
}

.ttl_02{
font-weight: bold;
font-size: 2.6rem;
margin-bottom: 16px;
}


.ttl_02 {
display: flex;
align-items: center;
}
.ttl_02:before {
border-top: 1px solid;
content: "";
/*flex-grow: 1;*/
color: var(--main-color);
width: 30px;
}
.ttl_02:before {
margin-right: 10px;
}

.ttl_03{
font-weight: bold;
font-size: 3rem;
margin-bottom: 40px;
}
.ttl_03 p
{font-weight: bold;}

.ttl_03.bar p{
display: inline-block;
border-bottom: 2px solid var(--main-bg);
position: absolute;
left: 0%;
bottom: 0px;
z-index: 3;
}

.ttl_03 span{
font-weight: normal;
font-size: 12px;
display: inline-block;
margin-left: 20px;
color: var(--main-color);
}


.ttl_03.bar:after {
position: absolute;
width: 100%;
bottom: 0;
content: '';
border-bottom: 1px solid #ccc;
}


.ttl_03.bar{
width: 100%;
border-bottom: 1px solid #ccc;
position: relative;
padding-bottom: 20px;
padding-top: 1em;
}

.ttl_04{
text-align: center;
font-size: 3.4rem;
font-weight: bold;
color: var(--main-color);
}
.ttl_04 span{
font-size: 14px;
color: var(--sub-color);
display: block;
font-weight: normal;
}
.ttl_04 span.sub{
font-size: 18px;
color: var(--main-color);

}
.ttl_05{
font-weight: bold;
font-size: 2.2rem;
display: inline-block;
margin-bottom: 20px;
}

.service_txt_area{
margin-left:40px;
}

.flow_box li{
background-color: #fff;
border: 1px solid #ccc;}

.flow_box li dl dt{
border-bottom: 1px solid #ccc;
}
.flow_box li dl dt span{
border-right: 1px solid #ccc;
}
.flow_box li dl dt p{
font-weight: bold;
display: inline-block;
}
.flow_box li dl dd p{
margin-bottom: 1em;
}

.bdt{
border-top: 1px solid #ccc;
}

.service_txt_box{
border: 1px solid #ccc;
padding: 30px;
}

.service_txt_box p{
font-weight: bold;
font-size: 1.8rem;
margin-bottom: 1em;
}


.service_txt_box ul{

}
.service_txt_box ul li{
width: 24%;
display: inline-block;
margin-bottom: 4px;
}


.owner_li li dl dt{
font-weight: bold;
font-size: 2.2rem;
display: inline-block;
margin-bottom: 20px;
}
.owner_li li dl dt span{
font-size: 4rem;
display: inline-block;
margin-right: 20px;
color: var(--main-color);
font-weight: normal;
}


.owner_li li dl dd p{
font-size: 1.5rem;
}

.privacy01{
margin-right: 1em;
}
.privacy01 ol{
margin-left: 1em;
}
.privacy01 ol li{
/*list-style-type: decimal;*/
	margin: 0 0 10px 0;
	display: list-item;
	text-indent: -1.3em;
 padding-left: 1.5em;
}
.privacy_li li{
margin-bottom: 3em;
}
.privacy_li dl dt {
font-weight: bold;
font-size: 2.2rem;
display: inline-block;
margin-bottom: 20px;
}

#owner_whitebox .flow_box li{
background-color: #fff;
}

#owner_whitebox .flow_box li .flow_txtarea p span{
color: var(--sub-color);
}

.sitemap_wrap ul li a {
display: block;
width: 100%;
color: var(--main-color);
font-size: 18px;
text-decoration: none;
border-bottom: solid 1px #ccc;
padding: 10px 0;
margin-top: 40px;
letter-spacing: 2px;
}


@media print, screen and (min-width: 768px) {
					.sitemap_wrap ul li:first-child a {
					margin-top: 0px;
					}
					.sitemap_wrap{
					display:flex;
					justify-content:space-between;
					align-items:flex-start;
					flex-wrap:wrap;
					margin-bottom: 100px;
					}

					.sitemap_right,
					.sitemap_left {
					width: 48%;
					}
					.privacy01{
					font-size: 1.6rem;
					}
					.Area03{
					padding: 0 60px 60px 60px;
					}
					.ttl_h3{
					font-size: 2.6rem;}

					.ttl_h3 span{
					font-size: 1.8rem;}
					.Area03 .note th {
									width: 300px;
					}
					.Area03 .note{
					margin-bottom: 50px;
					}
					.Area03 .note th span{
					font-size: 1.4rem;
					}
					.Area03 .note textarea {
					width: 80%;}
					
					.wrap_cms{
					width: 960px;
					margin-left: auto; margin-right: auto;
					margin-bottom: 40px;
					}
					.sitemapli{
					margin-bottom: 60px;
					padding-top: 40px;
					}
					.sitemapli li{
					display: inline-block;
					width: 44%;
					margin-left: 2%; margin-right: 2%;
					vertical-align: top;
					}
					
}/**./@media print, screen and (min-width: 768px)***********************************/
/*************************************/
/*************************************/

.ttl_h3 p{
display: flex;
align-items: center;
font-weight: bold;

color: var(--sub-color);
}
.ttl_h3{
display:flex;
align-items: center;
margin-bottom: 16px;
}
.ttl_h3 span{
display: inline-block;
margin-left: 10px;
color: var(--sub-color);
line-height: 2.4;
}
.ttl_h3 p:before {
border-top: 1px solid;
content: "";
/*flex-grow: 1;*/
margin-right: 10px;
width: 30px;
color: #222;
}

.Area03 .note{
width: 100%;
}
.Area03 .note th {
font-weight: normal;
padding: 10px 2% 0px 2%;
vertical-align: top;
text-align: left;
font-size: 1.6rem;
background-color: #FCF3F4;
border-bottom: 1px solid #fff;
}

.Area03 .note th p{
margin-top: 10px;
}
.Area03 .note td{
padding: 10px 2% 20px 2%;
font-size: 1.5rem;
border-bottom: 1px solid #eee;
}
.Area03 .note td input[type="file"], 
.Area03 .note td input[type="button"] {
padding: 2px 8px;
outline: none;
}
.Area03 .note td input[type="text"] {
width: 14%;
}
.Area03 .note td input[type="text"] {
margin: 4px 0 0;
border-radius: 4px;
padding: 4px 12px;
border: 1px solid #aaa;
outline: none;
height: 48px;
font-size: 1.5rem;
}

.Area03 .note .f_txtposi {
margin-bottom: 10px;
}

.Area03 .note .form_01{
width: 80% !important;}
.Area03 .note .form_02,
.Area03 .note .form_03{
width: 30% !important;
text-align: left;
display: inline-block;
}

.Area03 .emp01{
color: var(--sub-color);
margin-bottom: 1em;
}

.ttl01{
font-size: 2rem !important;
color: #666;
font-weight: bold;
}

/*アコーディオン*/
.formmenu {

}
.formmenu label {
color: var(--sub-color);
padding: 10px;
display: block;
margin: 0;
margin-bottom: 40px;
}

.formmenu input[type="checkbox"].on-off{
    display: none;
}

.formmenu ul {
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
-ms-transition: all 0.5s;
-o-transition: all 0.5s;
transition: all 0.5s;
margin: 0;
padding: 0;
list-style: none;
}

.formmenu li {
    padding: 5px;
}

input[type="checkbox"].on-off + ul{
    height: 0;
    overflow: hidden;
}

input[type="checkbox"].on-off:checked + ul{
    height: 260px;
}
.doukyo_bottom{
margin-top: 20px;
}
.doukyo_bottom .note{
margin-bottom: 10px !important;

}
.Area03 .note textarea {
height: 170px;
border-radius: 4px;
padding: 10px 12px;
border: 1px solid #aaa;
outline: none;
}

.sitemapli li dl dt{
color: var(--sub-color);
}

.sitemapli li a:link{color:#333; text-decoration:none;}
.sitemapli li a:visited{color:#333; text-decoration:none;}
.sitemapli li a:hover{color:#222; text-decoration:underline;}
.sitemapli li a:active{color:#333; text-decoration:none;}

.sitemapli li a{
display: block;
margin-bottom: 10px;
}
.sitemapli li a:before {
content: "-";
margin-right: 3px;
font-size: 60%;
color: #333;
font-weight: bold;
}



.sitemapli dl dt{
font-family: 'Kosugi Maru', sans-serif;
color: #666;
font-size: 140%;
border-bottom: 1px solid #aaa;
padding-bottom: 1em;
margin-bottom: 1em;
}
.sitemapli{
width: 100%;
}
.sitemapli li{
margin-bottom: 3em;}


/*エフェクト*/
/* 画面外にいる状態 */
.fadein {
opacity : 0.1;
transform : translate(0, 50px);
transition : all 1000ms;
}

/* 画面内に入った状態 */
.fadein.scrollin {
opacity : 1;
transform : translate(0, 0);
}

.fadein_top {
opacity : 0.1;
transform : translate(0, 50px);
transition : all 1000ms;
}

/* 画面内に入った状態 */
.fadein_top.scrollin_top {
opacity : 1;
transform : translate(0, 0);
}


/* 画面外にいる状態 */
.fadein_y {
opacity : 0.1;
transform : translate(0, 100px);
transition : all 1000ms;
}

/* 画面内に入った状態 */
.fadein_y.scrollin_y {
opacity : 1;
transform : translate(0, 0);
}

/* 画面外にいる状態 */
.fadein_x {
opacity : 0.1;
transform : translate(-100px, 0);
transition : all 500ms;
}

/* 画面内に入った状態 */
.fadein_x.scrollin_x {
opacity : 1;
transform : translate(0, 0);
}

/* 画面外にいる状態 */
.fadein_xx {
opacity : 0.1;
transform : translate(-500px, 0);
transition : all 500ms;
}

/* 画面内に入った状態 */
.fadein_xx.scrollin_xx {
opacity : 1;
transform : translate(0, 0);
}

.fadein_xxx {
opacity : 0.1;
transform : translate(-500px, 100px);
transition : all 1000ms;
}

/* 画面内に入った状態 */
.fadein_xxx.scrollin_xxx {
opacity : 1;
transform : translate(0, 0);
}


/*== ボタン共通設定 */
.btn{
/*アニメーションの起点とするためrelativeを指定*/
position: relative;
overflow: hidden;
/*ボタンの形状*/
text-decoration: none;
display: inline-block;

outline: none;
/*アニメーションの指定*/   
transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn span {
position: relative;
z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
}
.btn:hover{
opacity: 1;
}
.btn:hover span{

}

/*== 背景が流れる（左から右） */
.bgleft:before {
content: '';
/*絶対配置で位置を指定*/
position: absolute;
top: 0;
left: 0;
z-index: 2;
/*色や形状*/

background:rgba(255,255,255,0.5);
width: 100%;
height: 100%;
/*アニメーション*/
transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
transform: scale(0, 1);
transform-origin: right top;

}

/*hoverした際の形状*/
.bgleft:hover:before{
transform-origin:left top;
transform:scale(1, 1);
}
.mainbox img{
max-width: 100%;
width: 100%;
}
.mainbox video{
width: 100%;
aspect-ratio: 1920/1080;
object-fit: contain;
overflow: hidden;}


a.bdno:not(:hover) {color:#222;text-decoration:none;}
a.bdno:hover{color:#222;text-decoration:none;}

.layer_cache_point{
font-size: 3rem;
padding-top: 30px;
margin: 0px auto 30px auto;
@media (768px <= width) {padding-top: 70px;
margin: 0px auto 50px auto;}
}

.subttl {
border-bottom: 1px solid var(--sub-color);
font-size: 2.6rem;
font-weight: bold;
padding-bottom: 10px;
margin: 0px auto 30px auto;
}

.recruit_keiken dl dt {
display: inline-block;
margin: 0 auto 1em;
font-size: 2rem;
color: #A5593A;
position: relative;
text-align: left;
padding-left: 54px;
width: inherit;
}
.recruit_keiken dl dt:before,
.recruit_keiken dl dt:after{
content: '';
position: absolute;
top: 50%;
display: inline-block;
width: 44px;
height: 1px;
background: #A5593A;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.recruit_keiken dl dt:before{
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

.recruit_keiken dl dt:before {left:0;}
.recruit_keiken dl dt:after {right: 0;
margin-right: -54px;}
.txtdeco01 p span {
font-size: 110%;
font-weight: bold;
}

@media (768px <= width) {
	.flx_lr{
	display:flex;
	justify-content:space-evenly;
	align-items:flex-start;
	flex-wrap:wrap;
	}
	.flx_lr .flx_lbox{
	flex: 1;
	}

	.flx_lr img{
	margin-left: 30px;
	max-width: 400px;
	}
}







