
/* 小デバイス（横向きモバイル, 576px 以上） */
@media (min-width: 576px) { ... }

/* 中デバイス（タブレット, 768px 以上） */
@media (min-width: 768px) { ... }

/* 大デバイス（デスクトップ, 992px 以上） */
@media (min-width: 992px) { ... }

/* 特大デバイス（ワイド・デスクトップ, 1200px 以上） */
@media (min-width: 1200px) { ... }

/* 超特大デバイス (よりワイドな・デスクトップ, 1400px 以上） */
@media (min-width: 1400px) { ... }

/*
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}*/

@media (min-width: 992px) {
	.slide01,
	.slide02,
	.slide03,
	.slide04{
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		padding-top:688px;
		width:100%;
		height:100%;
	}

	.slide01{
		background-image: url(../images/slide01_pc.jpg);
	}

	.slide02{
		background-image: url(../images/slide02_pc.jpg);
	}

	.slide03{
		background-image: url(../images/slide03_pc.jpg);
	}

	.slide04{
		background-image: url(../images/slide04_pc.jpg);
	}
}

a.navbar-brand{
	display: block;
}

.navbar-nav a.nav-link{
	color:#333333;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size:18px;
	padding:12px 8px;
	border-bottom:1px dashed #CCCCCC;
}

button.navbar-toggler{
	padding:4px;
}

nav.navbar.navbar-expand-lg.bg-body-tertiary{
	background-color:#FFFFFF !important;
}

@media (min-width: 992px) {
	header{
		position: relative;
	}

	nav.navbar.navbar-expand-lg.bg-body-tertiary{
		position: absolute;
		top:30px;
		right:0;
		background-color:transparent !important;
		z-index: 10;
		border-bottom:1px solid #FFFFFF;
		padding-right:150px;
	}

	a.navbar-brand{
		display: none;
	}

	.navbar-nav a.nav-link{
		color:#FFFFFF;
		position: relative;
		padding:8px 16px !important;
		border-bottom:none;
	}

	.navbar-nav a.nav-link:first-child{
		padding:8px 16px 8px 8px !important;
	}

	.navbar-nav a.nav-link::after{
		content:"";
		display: block;
		width:1px;
		height:20px;
		background-color:#FFFFFF;
		position: absolute;
		top:14px;
		right:0;
		transform: rotate(45deg);
	}

	.navbar-nav a.nav-link::after:last-child{
		
	}
}

body{
	color:#333333;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}

img.logo_sp{
	width:208px;
	height:auto;
}

h2.h2_std,
h2.h2_std.big_margin{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size:36px;
	text-align:center;
	letter-spacing: 0.3rem;
	line-height:0;
	margin-top:130px;
	margin-bottom:50px;
}

@media (min-width: 768px) {
	h2.h2_std{
		margin-bottom:80px;
	}

	h2.h2_std.big_margin{
		margin-bottom:160px;
	}
}

h2.h2_std::before{
	content:"";
	display: inline-block;
	width:44px;
	height:42px;
	background-image:url(../images/h_icon.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: left bottom;
	margin-bottom:-5px;
}

h2.h2_std small{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size:18px;
	display: block;
	margin-top:1.0rem;
	letter-spacing: 0.2rem;
}

h3.h3_std{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size:28px;
	text-align:center;
	letter-spacing: 2px;
	line-height: 100%;
	border-bottom:1px solid #81ae09;
	padding-bottom:32px;
	margin-top:50px;
	margin-bottom:16px;
}

@media (min-width: 768px) {
	h3.h3_std{
		margin-top:80px;
		margin-bottom:60px;
	}
}

h3.h3_company{
	font-weight: 600;
	font-size:28px;
	color:#81ae09;
	text-align:center;
	margin-bottom:1rem;
}

h3.h3_service{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size:28px;
	position: relative;
	margin-bottom:30px;
	letter-spacing: 0.2rem;
}

h3.h3_service::after{
	content: "";
	display: block;
	background-color:#add666;
	width:100%;
	height:1px;
	position: absolute;
	top:45px;
	left:0;
}

h3.h3_service small{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size:16px;
	display: block;
	margin-top:20px;
}

.top_catch_wrap{
	text-align:center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.tel_box{
	border-top:2px solid #add666;
	border-bottom:2px solid #add666;
	padding:4px 8px;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	font-size:24px;
	color:#81ae09;
	text-align:center;
	width:100%;
	margin-left:10%;
	margin-right:10%;
}

@media (min-width: 992px) {
	.tel_box{
		font-size:16px;
		width:80%;
	}
}

@media (min-width: 1200px) {
	.tel_box{
		font-size:20px;
		width:80%;
	}
}

@media (min-width: 1400px) {
	.tel_box{
		font-size:24px;
		width:80%;
	}
}

img.logo{
	width:196px;
	height:auto;
	margin-top:40px;
	margin-bottom:60px;
}

img.catch{
	width:242px;
	height:auto;
	margin-top:20px;
	margin-bottom:90px;
}

p{
	text-align: justify;
	text-justify: inter-ideograph;
}

p.top_copy_01{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	font-size:30px;
	color:#81ae09;
	text-align:center;
	margin-top:130px;
	margin-bottom:24px;
	letter-spacing: 0.2rem;
}

p.top_copy_02{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size:18px;
	line-height:200%;
	letter-spacing: 0.07rem;
}

@media (min-width: 768px) {
	p.top_copy_01{
		font-size:36px;
	}

	p.top_copy_02{
		text-align:center;
	}
}

p.service_text_01{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size:25px;
	color:#81ae09;
	margin-top:24px;
	margin-bottom:24px;
	letter-spacing: 3px;
}

p.service_text_02{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size:16px;
	line-height:200%;
	margin-bottom:35px;
}

@media (min-width: 768px) {
	p.service_text_01{
		margin-top:60px;
		margin-bottom:60px;
		font-size: 32px;
	}

	p.service_text_02{
		margin-bottom:60px;
	}
}

.service_wrap{
	background-color:#F8F8F8;
	margin-top:50px;
}

.company_outer{
	background-color:#fafae6;
}

@media (min-width: 768px) {
	.service_wrap{
		margin-top:0;
		margin-bottom:160px;
	}

	.company_outer{
		background-color:#FFFFFF;
	}
}

.company_wrap{
	background-color:#fafae6;
	padding:32px 0;
}

.company_inner{
	background-image:url(../images/icon_tl.svg),url(../images/icon_br.svg);
	background-position: top left,bottom right;
	background-repeat: no-repeat,no-repeat;
	background-size:26px 26px,26px 26px;
	padding:24px 18px;
	font-size:20px;
	text-align:center;
	line-height:200%;
	margin-bottom:50px;
}

.company_inner p{
	text-align:center;
}

@media (min-width: 768px) {
	.company_inner{
		margin-bottom:35px;
	}
}

.ceo_text_01{
	font-size:21.5px;
	margin-bottom:24px;
	letter-spacing: 0.03rem;
}

.ceo_text_02{
	line-height:200%;
}

.ceo_text_03{
	font-weight: 400;
	font-size:24px;
}

@media (min-width: 768px) {
	.ceo_text_03{
		text-align:right;
	}
}

.ceo_text_03 span{
	font-weight: 400;
	font-size:16px;
	margin-right:5px;
}

table.table.outline_table{

}

table.table.outline_table th{
	display: block;
	width:100%;
	border-bottom:none;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
	padding:10px 8px 0 8px;
}

table.table.outline_table td{
	display: block;
	width:100%;
	border-bottom:1px dashed #CCCCCC;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	padding:8px 8px 10px 8px;
}

table.table.outline_table td .service_h{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-size:20px;
}

table.table.outline_table td.outline_border{
	border-bottom:none;
}

@media (min-width: 768px) {

	table.table.outline_table th{
		display: table-cell;
		width:auto;
		border-bottom:1px dashed #CCCCCC;
		padding:20px;
	}

	table.table.outline_table td{
		display: table-cell;
		width:auto;
		border-bottom:1px dashed #CCCCCC;
		padding:20px;
	}

	table.table.outline_table td.outline_border{
		border-bottom:1px dashed #CCCCCC;
	}
}

.image_line_wrap{
	background-image:url(../images/image_line_sp.jpg);
	background-size:cover;
	background-repeat: no-repeat;
	background-position: top center;
	padding:150px 16px;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size:24px;
	color:#FFFFFF;
	text-align:center;
	margin-top:130px;
	letter-spacing: 0.1rem;
}

.image_line_wrap p{
	text-align:center;
}

@media (min-width: 768px) {
	.image_line_wrap{
		background-image:url(../images/image_line_pc.jpg);
		font-size:30px;
		line-height:0;
		letter-spacing: 0.2rem;
	}
}

.map {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 133%;
	margin-top:130px;
}

@media (min-width: 768px) {
	.map {
		position: relative;
		width: 100%;
		height: 0;
		padding-top: 34.7%;
	}
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

img.footer_logo{
	width:74%;
	height:auto;
	margin:16px auto;
	display: block;
}

.footer_address{
	font-size:14px;
}

.copyright_wrap{
	border-top:2px solid #add666;
	padding:16px 0;
}

.copyright_text{
	font-size:14px;
}

@media (min-width: 768px) {
	img.footer_logo{
		width:74%;
		height:auto;
		margin:24px 0 24px auto;
		display: block;
	}

	.footer_address{
		margin:43px 0 0 0;
	}

	.copyright_text{
		text-align:center;
	}
}

/* お問合せ */
input,
textarea{
  width:100% !important;
  border:1px solid #b3b3b3;
  border-radius: 5px;
  box-shadow:none !important;
}

textarea{
  height:180px;
}

input[type="checkbox"]{
  width:auto !important;
}

.hissu{
  color:#cd0000;
  font-size:16px;
}

.mfp_element_submit,.mfp_element_reset,.mfp_element_button,button.mfp_next,button.mfp_prev,
.mfp_element_submit:hover,.mfp_element_reset:hover,.mfp_element_button:hover,button.mfp_next:hover,button.mfp_prev:hover{
	background-image:none;
	text-shadow: none;
}

button.btn.btn-dark{
	background-color:#add666 !important;
	border:none;
}

button.btn.btn-dark:active,
button.btn.btn-dark:hover{
	background-color:#add666 !important;
	border:none;
}

label.mfp_not_checked{
	width:100%;
}

/**/

.service_image_01_wrap img,
.service_image_02_wrap img,
.service_image_03_wrap img{
	width:100%;
	height:auto;
}

@media (min-width: 768px) {
	.service_image_01_wrap img,
	.service_image_03_wrap img{
		position: absolute;
		right:15px;
		/*top:-80px;*/
		top:-20%;
		width:50vw;
		height:auto;
	}

	.service_image_02_wrap img{
		position: absolute;
		left:15px;
		/*top:-80px;*/
		top:-20%;
		width:calc(50vw - 15px);
		height:auto;
	}

}

/*========= ページトップのためのCSS ===============*/
#page-top {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 200;
    text-align: center;
    line-height: 120%;
}

#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  width: 50px;
  height: 50px;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  transition:all 0.3s;
}

img.page-top{
	width:50px;
	height:50px;
}

@media (min-width: 768px) {
	#page-top a{
	  display: flex;
	  justify-content:center;
	  align-items:center;
	  width: 70px;
	  height: 70px;
	  text-align: center;
	  text-transform: uppercase; 
	  text-decoration: none;
	  transition:all 0.3s;
	}

	img.page-top{
		width:70px;
		height:70px;
	}
}

/**/
.thanks_box{
	border-top:1px solid #CCCCCC;
	padding:3rem 3rem;
	border-bottom:1px solid #CCCCCC;
	max-width:500px;
	margin:0 auto;
}

.thanks_box a{
	color:#333333;
	text-decoration: none;
	padding-left:20px;
	background-image:url(../images/chevron-circle-right-solid.svg);
	background-repeat: no-repeat;
	background-position: left center;
	background-size:16px 16px;
}