@charset "utf-8";
/* CSS Document */

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type="number"]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}



/*====================================
 * Base
=====================================*/

body {
	font-family: 'Noto Sans JP', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-feature-settings: 'palt' 1;
	font-kerning: normal;
	-webkit-font-smoothing: antialiased;
	letter-spacing: 0.05em;
	font-size: 14px;
	color: #1f1f1f;
	background-color: #fffcf7;
}

main {
	position: relative;
	line-height: 1.5;
}

@media screen and (max-width: 768px) {
    main{
		line-height: 1.8;
    }
}

a:link,
a:visited,
a:active {
	text-decoration: none;
	color: var(--colorLink);
	font-weight: 500;
}

/* a:hover {
	opacity: 0.8;
} */

b a,
strong a {
	font-weight: bold !important;
}

img {
	max-width: 100%;
	height: auto;
}

iframe {
	border: none;
}

hr {
	color: #ccc;
}

/*====================================
header
=====================================*/
header.header {
	width: 100%;
	background-color: #fff;
	box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
	backdrop-filter: blur(10px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 20px;
  }
  
  
  header.header .header_inner {
	display: flex;
	align-items: center;
	padding: 16px 0;
  }
  
  header.header .header_inner h1 {
	flex: 1;
	font-size: 12px;
	color: #1f1f1f;
	line-height: 1.3;
	word-break: break-word;
	font-weight: 500;
  }
  
  header.header .header_inner img {
	max-height: 50px;
	width: 300px;
  }
  
  header nav.page_nav ul.nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin: 0;
	vertical-align: middle;


  }
  
  header nav.page_nav ul.nav li {
	margin: 4px 8px;
  }
  
  header nav.page_nav ul.nav li a {
	display: block;
	font-size: 14px;
	line-height: 1;
	color: #1f1f1f;
	transition: 0.2s;
	padding: 2px 8px;
  }
  
  header nav.page_nav ul.nav li a:hover {
	opacity: 0.8;
	transition: 0.2s;
  }
  
  header nav.page_nav ul.nav li:last-child a {
	border-radius: 100vw;
	background: #008500;
	padding: 5px 12px;
	border-radius: 20px;
	color: #fff;
  }
  
  header nav.page_nav ul.nav li:last-child a:hover {
	background-color: #cdad67;
  }
  
  @media screen and (max-width: 768px) {
	header.header {
	  flex-direction: column;
	  align-items: center;
	}
  
	header.header .header_inner {
	  padding: 8px 16px 5px;
	}

	header nav.page_nav ul.nav li a {
		padding: 2px 0px;	
	}

	header.header .header_inner {
	  padding: 8px 16px 5px;
	}

	header.header .header_inner img {
		width: 130px;
		margin-bottom: 5px;
	}
  
	header nav.page_nav ul.nav {
	  justify-content: center;
	}
	header nav.page_nav ul.nav li:last-child a {
		padding: 2px 12px;
	}
  }
  
  @media screen and (min-width: 960px) {
	header.header .header_inner h1 {
	  font-size: 18px;
	}
  
	header nav.page_nav ul.nav li a {
	  font-size: 18px;
	}
  }
  
/*====================================
title_box
=====================================*/
.title_box {
	max-width: 90%;
	width: 960px;
	margin: 0 auto;
	padding: 84px 20px;
}

.title_box .title_inner {
	text-align: center;
}

.title_box .title_inner h2 {
	font-size: clamp(22px, 2.5vw, 48px);
	font-weight: bold;
	margin-bottom: 10px;
}

.title_box .title_inner .contact_text {
	margin-bottom: 20px;
}

.title_box .title_inner .contact_text p {
	font-size: clamp(16px, 2.5vw, 20px);
    line-height: 2;
    font-weight: 800;
    font-style: normal;
}

.title_box .title_inner .title_note {
	font-size: clamp(14px, 2.5vw, 18px);
    line-height: 2;
	margin-bottom: 20px;
}


/*====================================
contact
=====================================*/
.contact {
	background-color: #00864a;
	padding: 50px 40px;
	color: #fff;
	margin-bottom: 84px;
}

.contact .contact_inner {
	display: inline;
	text-align: center;
}

.contact .contact_inner h3 {
	font-size: clamp(26px, 2.5vw, 30px);
	font-weight: bold;
	margin-bottom: 50px;
	letter-spacing: 0.03em;
}

.contact .contact_inner .contact_grid {
	display: block;
	justify-content: center;
	width: 90%;
	margin: 0 auto;
}

.contact .contact_inner .contact_grid .contact_button,
.contact .contact_inner .contact_grid .button_mail {
    width: 80%;
    display: block;
    cursor: pointer;
	margin: 0 auto;
}

.contact .contact_inner .contact_grid .contact_button {
    cursor: pointer;
	display: inline-block;
}

.contact .contact_inner .contact_grid .contact_button .button_tel {
	display: block;
	background-color: #ffffff;
	color: #1f1f1f;
    padding: 22px 10px 20px;
    border-radius: 50px;
    text-align: center;
}

.contact .contact_inner .contact_grid .contact_button a,
.contact .contact_inner .contact_grid .button_mail a {
    display: block;
    font-size: clamp(18px, 2.5vw, 22px);
    font-weight: bold;
}

.contact .contact_inner .contact_grid .button_mail {
	display: block;
	background-color: #fff;
	color: #1f1f1f;
    padding: 20px 10px;
    border-radius: 50px;
    text-align: center;
	border: 1px solid #fff;
}

.contact .contact_inner .contact_grid .button_mail:hover,
.contact .contact_inner .contact_grid .contact_button .button_tel:hover {
	color: #fff;
    background-color: transparent;
    border: 2px solid #fff;
}

.contact .contact_inner .contact_grid .button_mail a::before {
    content: '\f0e0';
    font-family: 'Font Awesome 5 Free';
    font-weight: 700;
    margin-right: 10px;
    vertical-align: middle;
	font-size: 18px;
}

.contact .contact_inner .contact_grid .contact_button a::before {
    content: '\f879';
    font-family: 'Font Awesome 5 Free';
    font-weight: 700;
    margin-right: 10px;
	font-size: 18px;
}

@media screen and (max-width: 960px) {
    .contact .contact_inner h3 {
		margin-bottom: 20px;
	}

	.contact .contact_inner .contact_grid .contact_button,
	.contact .contact_inner .contact_grid .button_mail {
		width: 100%;
	}

	.contact .contact_inner .contact_grid .contact_button {
		margin-bottom: 30px;
	}

	.contact .contact_inner .contact_grid .contact_button .button_tel {
		padding: 15px;
	}

	.contact .contact_inner .contact_grid .button_mail {
		padding: 15px;
	}
}


@media screen and (min-width: 960px) {
    .contact .contact_inner .contact_grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 50px;
		justify-content: center;
		width: 90%;
		margin: 0 auto;
	}
}

/*====================================
KV
=====================================*/

.kv{
	max-width: 100%;
    margin: 0 auto;
	position: relative;
}

.kv .kv_image img{
    width: 100%;
    height: auto;
}


/*====================================
container
=====================================*/
.outer {
	max-width: 90%;
	width: 960px;
	margin: 0 auto;

}

.outer .container{
	display: block;
	text-align: center;
	margin: 64px 0 64px 0;

}

.outer .container .container_title{
	font-size: clamp(24px, 2.5vw, 34px);
	font-weight: bold;
	margin-bottom: 40px;
}

.outer .container .container_subtitle {
    font-size: clamp(18px, 2.5vw, 20px);
	font-weight: 600;
    text-align: center;
    position: relative;
	max-width: 960px;
	margin: 0 auto;
}

.outer .container .container_subtitle::before,
.outer .container .container_subtitle::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 40%;
    height: 1px;
    background-color: #131313;
}

.outer .container .container_subtitle::before {
    left: 0;
}

.outer .container .container_subtitle::after {
    right: 0;
}

.outer .container .container_text {
	display: block;
	max-width: 960px;
	margin: 0 auto;
	font-size: clamp(14px, 2.5vw, 16px);
	margin-top: 30px;
}

@media screen and (min-width: 768px) {
    .outer .container .container_text {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
}

/*====================================
contents_box
=====================================*/
.outer .contents_box{
	display: block;
	margin-bottom: 85px;
}

.outer .contents_box .contents_wrap {
	display: block;
}

.outer .contents_box .contents_wrap .contents_inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 50px;
	margin-bottom: 45px;
	place-items: center;
}

@media screen and (max-width: 960px) {
    .outer .contents_box .contents_wrap .contents_inner {
		display: block;
		margin-bottom: 45px;
		place-items: center;
	}
}


.outer .contents_box .contents_wrap .contents_inner .contents_group h2 {
	font-size: clamp(18px, 2.5vw, 22px);
	margin-bottom: 15px;
}

.outer .contents_box .contents_wrap .contents_inner .contents_group p {
	font-size: clamp(14px, 2.5vw, 16px);
	margin-top: 20px;
	word-break: auto-phrase;
}

/* .contents_group{
    animation-name: fadein;
    animation-duration: 5s;
}
@keyframes fadein{
    from{
    opacity: 0;
    transform: translatey(20px);
    }
    to{
    opacity: 1;
    transform: translatey(0);
    }
}
 */

 .outer .contents_box .contents_wrap .contents_inner {
	animation: fadeIn 3s ease 1s 1 normal backwards;
  }
   
  @keyframes fadeIn {
	from {
	  opacity: 0;
	  transform: translateY(20px);
	}
	to {
	  opacity: 1;
	  transform: translateY(0);
	}
  }

/*====================================
 company
=====================================*/
.outer .contents_company {
	margin-bottom: 64px;
	background-color: #e1ded0;
	padding: 50px;
}

.outer .contents_company {
	margin-bottom: 64px;
	background-color: #e1ded0;
	padding: 50px;
}

.outer .contents_company .company_title {
    font-size: clamp(20px, 2.5vw, 25px);
	font-weight: bold;
	text-align: center;
	margin-bottom: 64px;
}

.outer .contents_company .contents_area {
    width: 100%;
    border-collapse: collapse;
}

.outer .contents_company .contents_area th,
.outer .contents_company .contents_area td {
    padding: 30px 15px;
    text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #000;
	border-top: 1px solid #000;
}


/*====================================
 contact
=====================================*/

.outer .contents_contact {
	text-align: center;
	margin-bottom: 64px;
}

.outer .contents_contact button {
    padding: 10px 50px;
    font-size: clamp(20px, 2.5vw, 25px);
    color: #fff;
    background-color: #007BFF;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.outer .contents_contact button:hover {
    background-color: #0056b3;
}

/*====================================
 * footer
=====================================*/
.footer {
    font-size: 13px;
    background-color: #41413e;
    color: #fdfdfd;
    padding: 30px 0;
    text-align: center;
}

.footer .footer_inner {
    position: relative;
    width: 90%;
	max-width: 960px;
    margin: 0 auto;
}

.footer .footer_inner .footer_box {
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 30px;
	padding: 0 10px;
}

.footer .footer_inner .footer_box .footer_list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer .footer_inner .footer_box .footer_list li {
    text-align: left;
    margin-bottom: 20px;
	color: #f7f7f7;

}

.footer .footer_inner .footer_box .footer_list li.mb {
    margin-bottom: 20px;
}

.footer .footer_inner .footer_box .footer_list .line {
    color: #b0adad;
	padding-left: 10px;
}

@media screen and (max-width: 960px) {
    .footer .footer_inner .footer_box .footer_list .line {
		display: none;
	}
}

.footer .footer_inner .footer_copy {
    text-align: center;
    margin-top: 20px;
}



/*====================================
 * Other
=====================================*/
.underline{
	display: inline;
	border-bottom: solid 3px #008500;
}

.sp,
.pc-none{
	display: none;
}

.pc,
.sp-none {
	display: inline;
}

@media screen and (max-width: 960px) {
	.sp,
	.pc-none{
		display: inline;
		}

	.pc,
	.sp-none {
		display: none;
	}
}

.text_green{
	color: #008500;
}

.text_red{
	color: #b80000;
}

.text_blue{
	color: #2f729c;
}

.mb{
	margin-bottom: 85px;
}

.text_size{
	font-size: 10px;
}

@media screen and (min-width: 768px) {
    .pd {
		padding-top: 5px;
	}
}
