@charset "utf-8";

.block_00 .block_inner{
	width:910px;
	max-width: 90%;
	margin:0 auto;
}
.block_00:nth-of-type(n+2) {
	margin-top:60px;
}
.block_00:last-of-type {
	padding-bottom:100px;
}

#service .box_menu a.service,
#company .box_menu a.company,
#privacy .box_menu a.privacy,
#contact .box_menu a.contact {
  cursor: pointer;
	pointer-events: none;
}
#service .box_menu a.service::before,
#company .box_menu a.company::before,
#privacy .box_menu a.privacy::before,
#contact .box_menu a.contact::before {
  transform-origin: center left;
  transform: scale(1,1);
}

/*サービス*/
#service .box_menu .service{
}


#service .sub_mv {
	background-image: url("../img/service/mv_service_pc.jpg");
}
@media screen and (max-width:768px) {
#service .sub_mv {
	background-image: url("../img/service/mv_service_sp.jpg");
}
}

.img_service {
	margin-bottom:30px;
}
.img_service img{
	border-radius: 10px;
}
.ttl01 {
	font-size:18px;
	font-weight: bold;
	display: flex;
	align-items: center;
	margin-bottom:22px;
}
.ttl01::before {
	content:"";
  	background-color:#E60000;
	width:.5em;
	height:.5em; 
	margin-right:.666em;
	margin-bottom: 5px;
}
.headline01 {
	margin-bottom:30px;
}
.box_list {
}
.box_list li{
}
.box_list li h3{
	display: flex;
	align-items: center;
	font-size:14px;
	font-weight: bold;
	margin-bottom:.714em;;
}
.box_list li h3::before{
	content:"";
  	background-color: #E60000;
	width:1.285em;
	height:1px;
	margin-right:11px;
}
.box_list li:nth-of-type(n+2){
	margin-top:40px;
}
.subpage .text01 {
	line-height: 1.857;
}

@media screen and (max-width:768px) {
.block_00:nth-of-type(n+2) {
	margin-top:40px;
}
.block_00:last-of-type {
	padding-bottom:80px;
}
}


/*プライバシー*/
#privacy .sub_mv {
	background-image: url("../img/privacy/mv_privacy_pc.jpg");
}
@media screen and (max-width: 768px) {
#privacy .sub_mv {
	background-image: url("../img/privacy/mv_privacy_sp.jpg");
}
}

@media screen and (max-width: 1100px) {
#privacy .sub_mv h1 {
  font-size: clamp(28px,10vw,110px);
}
	
}
@media screen and (max-width: 768px) {
#privacy .sub_mv .mv_text {
  bottom: -4px;
}
}
@media screen and (max-width: 480px) {
#privacy .sub_mv .mv_text {
  bottom: -2px;
}
}

/*#privacy .block_00 {
	width:920px;
}
*/
/*#privacy .text01 {
  letter-spacing: 0;
}
*/

#privacy .box_list + .ttl01 {
	margin-top: 40px;
}

#privacy .box_list_inner {
	margin: 40px 0;
	padding-left:2em;
	display: grid;
}

#privacy .box_price {
	margin: 5px 0;
	padding: 10px 5px;
	border: #000 1px solid;
	text-align: center;
}

#privacy .box_list_inner h4 {
	margin-bottom: 0;
}

#privacy .box_list_inner * + ul {
	margin-top: 20px;
}

#privacy .box_list_inner ul + * {
	margin-top: 40px;
}

#privacy .sign {
	text-align: right;
}

.box_list ol li{
	/*padding-left:1.5em;
	text-indent: -1.5em;*/
	padding-left:2em;
	text-indent: -2em;
}


.box_list ol li:nth-of-type(n+2){
	margin-top:0px;
}



/*会社について*/
#company .sub_mv {
	background-image: url("../img/company/mv_company_pc.jpg");
}
@media screen and (max-width:768px) {
#company .sub_mv {
	background-image: url("../img/company/mv_company_sp.jpg");
}
}
#company .block_00 .block_inner{
	width:1100px;
}
#company .block_00:nth-of-type(n+2) {
  margin-top:0;
}

.ttl01_headline {
  font-size: 60px;
  font-family: 'Josefin Sans', sans-serif;
  font-weight: bold;
  line-height: 1;
  letter-spacing: .1em;
  margin-bottom: 48px;
}
@media screen and (max-width:770px) {
.ttl01_headline {
  font-size:clamp(24px, 7.79vw,60px);
	  margin-bottom: 8vw;
}
}
.data_company {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	padding:0 0 80px;
}
.box_data {
width:53.63%;
}
.box_data dl{
display: flex;
flex-flow: wrap;	
align-items: center;
font-size: 14px;
line-height: 1.42;
}
.box_data dl:nth-of-type(n+2){
margin-top:20px;
}
.box_data dl dt{
width:150px;
display: flex;
align-items: center;
padding-right:30px;
font-weight: bold;
}

.box_data dt::before {
  content: "";
  background-color: #E60000;
  width: 1.285em;
  height: 1px;
  margin-right: 11px;
}

.box_data dl dd {
width:calc(100% - 150px);
}

.box_map {
	width:39%;
}
.box_map figure {
	position: relative;
	padding: 67.13286% 100% 0 0;
	margin-bottom:20px;
}
.box_map figure iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.box_map figure .p-access__map{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


@media screen and (max-width:991px) {
.box_data {
  width: 45%;
}
.box_map {
  width: 50%;
}
	
.box_data dl dd {
  width: 100%;
  margin-top: 8px;
}
}
@media screen and (max-width:768px) {
.data_company {
	padding:0 0 16vw;
}
	
.box_data {
	width:100%;
}
.box_map {	
	width:100%;
	margin-top:10.6vw;
}
.box_data dl dt{
	width:100%;
}
}


.block_company_message {
	background-color: #F4F4F4;
	padding:50px 0 86px;
}
.block_company_message .ttl01_headline {
  margin-bottom: 32px;
}
.block_company_message .text01 {
  width:85%;
	margin-left:auto;
	word-break: break-all;
}
.block_company_message .ceo_sign {
	text-align: right;
	font-family: serif;
	font-weight: bold;
	font-size: 1.1em;
  }

@media screen and (max-width:768px) {
.block_company_message {
	padding:10.66vw 0 16vw;
}
.block_company_message .ttl01_headline {
  margin-bottom: 10px;
}
}


.block_company_phylosophy {
	padding:60px 0 86px;
}
.block_company_phylosophy dl {
margin-bottom: 40px;
}
.block_company_phylosophy dt {
font-size: 18px;
font-weight: bold;
display: flex;
align-items: center;
margin-bottom: 13px;
}
.block_company_phylosophy dt::before {
  content: "";
  background-color: #E60000;
  width: .5em;
  height: .5em;
  margin-right: .666em;
  margin-bottom: 5px;
}
.font_f01 {
	font-family: "Josefin Sans", sans-serif;
	font-size: 21px;
	font-weight: bold;
}
.text_size01 {
	display: block;
	font-size: 1.285em;
	margin-bottom: 10px
}
.box_thought dd {
	display: flex;
	align-items: center;
}
.box_thought dd .font_f01:nth-of-type(2) {
	display: flex;
	align-items: center;
}
.box_thought dd .font_f01:nth-of-type(2)::before,
.box_thought dd .font_f01:nth-of-type(2)::after {
	content:"";
	display: block;
  	background-image:url("../img/company/text_dec_company01.png");
	background-repeat: no-repeat;
	background-size: cover;
	width:1.119em;
	height:1.047em;
	margin:0 .8em;
}
.block_company_phylosophy dd li{
	display: flex;
	align-items: center;
	flex-flow: wrap;
}
.block_company_phylosophy dd li:nth-of-type(n+2){
	margin-top:10px;
}
.block_company_phylosophy dd li h4{
	width:190px;
}
.block_company_phylosophy dd li .text01{
	width:calc(100% - 190px);
}
.block_company_phylosophy .phylosophy_logo dd{
	display: flex;
	align-items: center;
	flex-flow: wrap;
}
.block_company_phylosophy .phylosophy_logo dd figure{
	width:168px;
}
.block_company_phylosophy .phylosophy_logo dd .text01{
	width:calc(66% + 5%);
	max-width: calc(100% - 168px - 5%);
	margin-left:5%;
	padding:26px 36px;
	position: relative;
	letter-spacing: .02em;
}
.block_company_phylosophy .phylosophy_logo dd .text01::before,
.block_company_phylosophy .phylosophy_logo dd .text01::after
{
	content:"";
	display: block;
	position: absolute;
	top:0;
	left:0;
	width:40px;
	height:52px;
	border:solid #555;
	border-width: 1px 0 0 1px
}
.block_company_phylosophy .phylosophy_logo dd .text01::after
{
	top:auto;
	left:auto;
	bottom:0;
	right:0;
	width:40px;
	height:52px;
	transform: rotate(180deg);
}

@media screen and (max-width:991px) {
	.phylosophy_logo .text01 br {
		display: none;
	}
}
@media screen and (max-width:768px) {
    .font_f01 {
        font-size: 21px;
    }
    .box_thought .font_f01 {
        font-size: clamp(12px, 3.9vw, 21px);
    }
    .block_company_message .text01 {
        width: 100%;
    }
    .box_mission .text_size01 {
        letter-spacing: 0;
    }
    .block_company_phylosophy dd li:nth-of-type(n+2) {
        margin-top: 12px;
    }
    .block_company_phylosophy dd li .text01 {
        width: 100%;
        margin-top: 8px;
    }
    .box_value .text01 {
        line-height: 1.3;
    }
}
@media screen and (max-width:600px) {
.block_company_phylosophy .phylosophy_logo dd figure{
	margin:0 auto;
}
.block_company_phylosophy .phylosophy_logo dd .text01 {
  width:100%;
  max-width: 100%;
  margin:16px 0 0 0;
  padding: 26px 39px;
}}

/*お問い合わせ*/
#contact .sub_mv {
	background-image: url("../img/contact/mv_contact_pc.jpg");
}
@media screen and (max-width:768px) {
#contact .sub_mv {
	background-image: url("../img/contact/mv_contact_sp.jpg");
}
}

#contact .privacy_policy {
	width: 100%;
    max-width: 820px;
    margin: 40px auto 0;
    padding: 20px;
	height: 250px;
	overflow-y: auto;
	background-color: #FAFAFA;
}

#contact .privacy_policy dl {
	font-size: 13px;
	line-height: 1.857;
	color: #666;
}

#contact .privacy_policy dl dt + dd:not(:last-of-type) {
	margin-bottom: 20px;
}

.ttl_contact01 {
	font-soize:18px;
	text-align: center;
	line-height: 1.6
}

.box_attention01 {
	padding:0 3%;
	text-align: center;
	margin:20px 0 55px; 
}
.box_attention01.adjust01 {
	margin:20px 0 142px; 
}

#contact .block_input {
	width:820px;
	max-width: 100%;
	margin:0 auto;
	padding:60px 50px 50px;
	background-color: #FAFAFA;
}

.block_input dl {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
	font-size:16px;
}
.block_input dl:nth-of-type(n+2) {
	margin-top:30px;
}
.block_input dl dt{
	width:170px;
	font-weight: normal;
}
.block_input dl dt span{
	color:#E60000;
}
.block_input dl dd{
	width:calc(100% - 200px);
	font-size:14px;
}
.block_input dl dd input{
	width:100%;
	padding:.6em 1em;
	background-color: #fff;
	
}
.block_input dl dd textarea{
	width:100%;
	padding:.6em 1em;
	background-color: #fff;
	font-size:14px;
}

.box_attention02 {
	margin-top:30px;
	text-align: right;
	font-size:12px;
}
.box_attention02 span{
	color:#E60000;

}

.box_check {
	display: block;
	width:fit-content;
	margin:40px auto 0;
	font-size:14px;

}

.area_btn {
	margin:60px auto 0;
	display: flex;
	justify-content: center;
}

.box_btn {
	width:300px;
	height:50px;
	display: flex;
	align-items: center;
	justify-content:center;
	background-color: #D2D2D2;
	border-radius: 999px;
	font-size:14px;
	color:#fff;
	text-align: center;
	border:2px solid #D2D2D2;
	transition: .3s;
	opacity: .8;
	pointer-events: none;
	position: relative;
}
.box_btn:nth-of-type(n+2) {
	margin-left:5.4%;
}
.box_btn.ok {
	background-color: #E60000;
	border:2px solid #E60000;
	opacity: 1;
	pointer-events: auto;
}
.box_btn02.ok {
	background-color: #000;
	border:2px solid #000;
	opacity: 1;
	pointer-events: auto;
}
.box_btn02:after,
.box_btn:after {
	content:"";
	display: block;
	position: absolute;
	top:50%;
	right:40px;
	transform: translateY(-50%) rotate(45deg);
	width:.6em;
	height:.6em;
	border:solid #fff;
	border-width: 2px 2px 0 0;
		transition: .3s;
}
.box_btn02:after {
	right:auto;
	left:40px;
	transform: translateY(-50%) rotate(-135deg);
}


.box_btn:hover {
	background-color: rgba(230, 0, 0, .2);
		color:#E60000;

}
.box_btn:hover:after {
	border:solid #E60000;
	border-width: 2px 2px 0 0;
}
.box_btn02:hover {
	background-color: rgba(0, 0, 0, .1);
		color:#000;

}
.box_btn02:hover:after {
	border:solid #000;
	border-width: 2px 2px 0 0;
}





/*.block_input input[type="checkbox"] {
  box-sizing: border-box;
  cursor: default;
  padding: unset;
  border: unset;
  background-color: unset;
  color: unset;
  width: 14px;
  height: 14px;
  appearance: auto;
  -moz-default-appearance: checkbox;
  margin-block: 3px;
  margin-inline: 4px 3px;
}*/

.box_check {display: block;}
.box_check:hover { cursor: pointer; }
.box_check input { display: none; }
.box_check .dummy {
  width: 20px;
  height: 20px;
	margin-right:16px;
  border: 2px solid #000;
  border-radius: 15%;
  display: inline-flex;
  vertical-align: text-top;
	background-color: #fff;
}

.box_check input:checked+.dummy:after {
  content: '';
  width: 100%;
  height: 50%;
  border-left: 2px solid #f50057;
  border-bottom: 2px solid #f50057;
  transform: rotate(-45deg);
}



@media screen and (max-width:768px) {
	.box_attention01 {
  margin: 20px 0 33px;
}
	
	.box_attention01.adjust01 {
	margin:20px 0 60px; 
}

	
	
	#contact .block_input {
	padding:30px 17px 60px;
}

	
	.block_input dl:nth-of-type(n+2) {
  margin-top: 23px;
}
	
.block_input dl dd{
	width:100%;
	margin-top:10px; 
}
	
	.area_btn {
		flex-flow: column;
		align-items: center;
  margin: 40px auto 0;
}

	.box_btn {
  width:244px; 
}
	.box_btn:nth-of-type(n+2) {
  margin:20px 0 0;
}
	
	
	
	
}















@media screen and (max-width:768px) {
}
