@charset "utf-8";


/* pc
--------------------------------------------------------------------------------------*/
/* 
--------------------------------------------------------------------------------------*/

body{
	text-align: center;
	margin:0;
	padding:0;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	background-attachment: fixed;
	font-family:"Noto Sans JP", "Roboto", "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size: calc(17 / 16 * 1rem);
	font-weight: 500;
	line-height: 1.75;
	color:#000000;
	background-color: #f0f6e4;
}

a:link {color:#4ea9ae; text-decoration:underline;}
a:visited {color:#4ea9ae;text-decoration:none;}
a:hover {color:#dfecca;}
a:active {color:#0054a5;text-decoration:none;}
a:focus-visible, button:focus-visible {outline:3px solid #005fcc;outline-offset:3px;}
.marker {background: linear-gradient(transparent 60%, #fffd2d 60%); font-weight: 900;}



/* header
--------------------------------------------------------------------------------------*/

#header{
	background:rgba(255,255,255,.95);
	box-shadow:0 1px 3px rgba(0,0,0,.4);
	position:-webkit-sticky;
	position:sticky;
	top:0;
	left:0;
	right:0;
	z-index:9000;
	padding: 10px 0 6px 0;
}

#header #head{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:0 1%;
	margin-bottom: 10px;
}

#header figure#logo{
	margin:0;
	padding:0;
	flex-shrink:0;
}

#header #logo img{
	display:block;
	min-width:400px;
	height:auto;
}

#header #head #headR{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	margin-left:auto;
	gap:20px;
}

#header #head #headR .header_buttons{
	display:flex;
	align-items:center;
	gap:0;
}

#header #head #headR .button{
	width:auto;
	margin:0;
	display:block;
	flex:none;
}

#header #head #headR .button a{
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:200px;
	height:48px;
	padding:0 20px;
	border-radius:24px;
	font-size:16px;
	font-weight:700;
	line-height:1;
	color:#fff;
	text-decoration:none;
	box-sizing:border-box;
	transition:.3s;
}

#header #head #headR .button a span{
	display:flex;
	align-items:center;
	gap:10px;
}

#header #head #headR .button a span::before{
	content:"";
	width:18px;
	height:18px;
	flex:none;
	background-repeat:no-repeat;
	background-position:center;
	background-size:18px 18px;
}

#header #head #headR .button:not(.line) a{background:#544941;border:1px solid #544941;}
#header #head #headR .button:not(.line) a span::before{background-image:url("../img/icon_mail.png");}
#header #head #headR .button:not(.line) a:hover{background:#fff;color:#544941;}
#header #head #headR .button:not(.line) a:hover span::before{background-image:url("../img/icon_mail2.png");}

#header #nav{
	margin-top:8px;
	padding: 0;
}

#nav ul#menu{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding:0;
	display:flex;
	justify-content:space-between;
	align-items:center;
	list-style:none;
	box-sizing:border-box;
}

#nav #menu li{
	flex:none;
	text-align:center;
}

#nav #menu li a{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:6px 0;
	text-decoration:none;
	transition:.3s ease-in-out;
	white-space:nowrap;
	color:#000;
}

#nav #menu li a:hover{opacity:0.5;}
#nav #menu li.on{text-decoration:none;}
#nav #menu li.on a{color:#f2c300;}
.slicknav_menu{display:none;}
#hamburger{display:none;}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 9999;
	padding: 10px 20px;
	background: #fff;
	color: #000;
}

.skip-link:focus {
	left: 10px;
	top: 10px;
}


/* footer
--------------------------------------------------------------------------------------*/

#footer{
	width:100%;
	clear:both;
	margin:0;
	background-color:#fff;
}

#footer #foot{
	width:100%;
	clear:both;
	margin:0;
	background:#fff;
	box-shadow:0 1px 5px rgba(0,0,0,.4);
	padding:40px 0 0;
}

#footer #foot > article{
	max-width:1200px;
	margin:0 auto;
	position:relative;
	text-align:left;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:30px;
	padding-bottom: 40px;
}

#footer #foot > article div.contact{
	width:calc((100% - 30px) / 2);
}
.footer-policy-row:last-child{
	gap:40px;
}
#footer #foot .contact:first-child{
	width:auto;
	display:flex;
	align-items:center;
	gap:25px;
}

#footer #foot .contact-title{
	width:90px;
	height:90px;
	margin:0;
	border-radius:50%;
	background:#3e3a39;
	color:#fff;
	font-size:14px;
	font-weight:700;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	line-height:1.4;
	flex-shrink:0;
}

#footer #foot .contact:first-child dl{
	margin:0;
}

#footer #foot .contact:first-child dt{
	margin:0;
	padding-bottom:8px;
	border-bottom:1px solid #3e3a39;
	line-height:1.5;
}

#footer #foot .contact:first-child .project_name{
	font-size:18px;
	font-weight:700;
}

#footer #foot .contact:first-child .operator{
	font-size:13px;
}

#footer #foot .contact:first-child dd{
	margin:8px 0 0;
	font-size:14px;
	line-height:1.4;
}

#footer #foot .contact:last-child{
	width:auto;
}

#footer #foot .contact .tel{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	text-align:left;
	line-height:1.2;
}

#footer #foot .contact .tel li{
	margin:0;
	padding:0;
}

#footer #foot .contact .tel li:first-child{
	font-size:16px;
	color:#555;
	margin-bottom:8px;
	white-space:nowrap;
	font-weight:700;
}

#footer #foot .contact .tel .tel_number{
	display:flex;
	align-items:flex-end;
	justify-content:flex-start;
}

#footer #foot .contact .tel .tel_number::before{
	content:"";
	width:24px;
	height:24px;
	background:url("../img/icon_tel.png") no-repeat center;
	background-size:24px;
	flex:none;
}

#footer #foot .contact .tel .tel_number .label{
	font-size:15px;
	margin-right:1px;
	line-height:1;
}

#footer #foot .contact .tel .label{
	font-size:15px;
	font-weight:400;
	margin-right:4px;
}

#footer #foot .contact .tel .number{
	font-weight:400;
	line-height:1;
}

#footer #foot .contact .tel .number a{
	color:#000;
	font-size:21px;
	font-weight:400;
	text-decoration:none;
}

#footer #foot .contact .tel .label:last-child{
	font-size:12px;
	margin-left:8px;
	margin-right:0;
	color:#555;
}

.footer-policy{
	flex:0 0 100%;
	width:100%;
	background:#f5f5f5;
	padding:20px;
	margin-top:10px;
	text-align:center;
	box-sizing:border-box;
}

.footer-policy-row{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	gap:20px;
	margin:8px 0;
}

.footer-policy-row a{
	color:#276b12;
	text-decoration:none;
	line-height:1.6;
}

.footer-policy-row a:hover{
	text-decoration:underline;
}

.footer-policy-row a:not(:last-child)::after{
	content:"｜";
	margin-left:20px;
	color:#999;
}

.footer-policy-row a.blank::after{
	content:"";
	display:inline-block;
	width:12px;
	height:12px;
	margin-left:5px;
	background:url("../img/blank.png") no-repeat center;
	background-size:12px;
	vertical-align:middle;
}

#footer #copy{
	padding:16px 1%;
}
	.tel_number{
		font-size:13px;
		display:flex;
		align-items:center;
		flex-wrap:nowrap;
		white-space:nowrap;
	}

	.tel_number .number{
		flex-shrink:0;
	}

	.tel_number .label,
	.tel_number .number{
		display:inline;
	}

/* common
--------------------------------------------------------------------------------------*/

#wrapper{
	max-width: 1200px;
	margin: 0 auto;
  padding: 0;
  position: relative;
}

.contants{
	clear:both;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;	
	background-color: #fff;
	padding:5% 5%;
	box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.2);
	margin-bottom:8%;
}

.block{
	margin-left: 1em;
	margin-right: 1em;
	margin-bottom: 60px;
}

.block:last-child{margin-bottom: 0;}
.block span.fontBold{font-weight: 700 !important;}


.button{
	display:flex;
	justify-content:center;
	align-items:center;
}

.button a {
	font-size: 0.84em;
	font-weight: 700;
	color: #fff;
	background-color: #4a413c;
	padding: 0.25em 1em 0.4em 2em;
	border: #4a413c solid 1px;
	border-radius: 16px;
	transition: all ease-in-out 0.4s;
	text-decoration: none;
}

.button3{display: flex;justify-content:center;gap:20px;}
.button3 .btn a{padding: 10px 40px 10px 35px;min-width: 220px;}
.button4{display: flex;justify-content:center;gap:10px;}
.button4 .btn a{padding: 10px 40px 10px 35px;min-width: 170px;}

.btn a {
	background: #4a413c;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 220px;
	padding: 10px 1.5rem 10px 1rem;
	color: #fff;
	transition: 0.3s ease-in-out;
	text-decoration: none;
	border: 1px solid #4a413c;
	font-size: 1.2em;
	border-radius: 48px;
}
.btn.pdf a{max-width: 280px;background: #b02928;border: 1px solid #b02928;background-image: url("../img/iconPdf.png");background-size: 20px 24px; background-repeat: no-repeat; background-position: right 10px top 47%;}
.btn.word a{max-width: 280px;background: #1f3275;border: 1px solid #1f3275;background-image: url("../img/iconWord.png");background-size: 20px 24px; background-repeat: no-repeat; background-position: right 10px top 47%;}
.btn.book a{max-width: 280px;background: #a2865a;border: 1px solid #a2865a;background-image: url("../img/iconBook.png");background-size: 20px 24px; background-repeat: no-repeat; background-position: right 10px top 47%;}
.btn.pink a{background: #ffcde0;border: 1px solid #ca306a; color: #ca306a;}
.btn.gray a{background: #747474;border: 1px solid #747474;}


.btn a:hover {
	background: #fff;
	color: #4a413c;
	border: 1px solid #4a413c;
	border-radius: 0;
}
.btn.pdf a:hover {color: #b02928;border: 1px solid #b02928;background-image: url("../img/iconPdf2.png");background-size: 20px 24px; background-repeat: no-repeat; background-position: right 10px top 47%;}
.btn.word a:hover {color: #1f3275;border: 1px solid #1f3275;background-image: url("../img/iconWord2.png");background-size: 20px 24px; background-repeat: no-repeat; background-position: right 10px top 47%;}
.btn.book a:hover {color: #a2865a;border: 1px solid #a2865a;background-image: url("../img/iconBook2.png");background-size: 20px 24px; background-repeat: no-repeat; background-position: right 10px top 47%;}
.btn.pink a:hover {color: #ca306a;border: 1px solid #ca306a;}

.btn a:after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 47%;
	right: 15px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}
.btn.pdf a:after {border-color: #b02928;border-top:none;border-right: none;content: none;transform:none;position:relative;}
.btn.word a:after {border-color: #1f3275;border-top:none;border-right: none;content: none;transform:none;position:relative;}
.btn.book a:after {border-color: #a2865a;border-top:none;border-right: none;content: none;transform:none;position:relative;}
.btn.pink a:after {border-color: #ca306a;border-top: 1px solid #ca306a;border-right: 1px solid #ca306a;}

.btn a:hover:after {
	border-top: 1px solid #4a413c;
	border-right: 1px solid #4a413c;
}
.btn.pdf a:after,
.btn.word a:after,
.btn.books a:after {border-top: none;border-right: none;}
.btn.pink a:hover:after {border-top: 1px solid #ca306a;border-right: 1px solid #ca306a;}

.mgL{margin-left: 1em;}
.mgLL{margin-left: 3em !important;}

ol.olCircle {
	margin: 0;
	padding: 0;
}

.olCircle li {
	list-style: none;
	padding-left: 1.4em;
	text-indent: -1.4em;
}

.lists{
	text-align: left;
	list-style: none;
	padding: 0;
	margin-left: 1em;
}
.lists.mgL{margin-left: 1.5em !important;}
.lists.mgLL{margin-left: 3em !important;}
.lists.mgL2em{margin-left: 2em !important;}
.lists.mgL2{margin-left: 2.4em !important;}

.lists li.circle{background: url(../img/circle.png) no-repeat 0px 8px;background-size: 14px 14px; padding-left: 20px;}
.lists li.dot{background: url(../img/circle.png) no-repeat 5px 11px;background-size: 7px 7px; padding-left: 20px;}
.lists li.triangle {background: url(../img/triangle.png) no-repeat 12px 10px;background-size: 6px 10px; padding-left: 20px;}
.lists li.kome{background: url(../img/kome.png) no-repeat 0px 8px;background-size: 14px 14px; padding-left: 20px;}

.flexBox{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:40px;
}

.flexBox figure{
	width:46%;
}

.flexBox figure img{
	width: 100%;
	height: auto;
}

.flexBox .flexBox_textArea{
	width:50%;
}
.flexBox .flexBox_textArea p{
	line-height: 1.8;
}









/* sp
--------------------------------------------------------------------------------------*/
/* 
--------------------------------------------------------------------------------------*/


@media screen and (max-width: 768px) {
html,
body {
	width:100%;
	overflow-x:hidden;
}
.marker {background: linear-gradient(transparent 70%, #fffd2d 70%); font-weight: 700;}

html, body{
	width: 100%;
	min-width:initial;
	margin: 0;
	padding: 0;
	font-size: clamp(0.95rem, 2.2vw, 1.7rem); 
	line-height:1.75;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
}
	
.slicknav_menu {display:block !important;}
#hamburger {display:block;}
#nav{display: none !important;}
.skip-link {position:fixed;transform:translateY(-100%);}
.skip-link:focus {transform:translateY(0);}

#header{
	width:100%;
	margin:0;
	text-align: left;
	padding:0;
}
	
#header #head{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:6% 2%;
	margin-bottom: 0;
}
	
#header #logo{
	width:80% !important;
}

#head #logo img{
	width:100% !important;
	height:auto;
	min-width:inherit;
}

#header #head #headR {
	display: none;
}

.block{
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 1.7em;
}
	
	
/* footer
--------------------------------------------------------------------------------------*/

#footer #foot{
	width:90%;
	padding:30px 5% 0 5%;
}

#footer #foot > article{
	display:block;
	max-width:none;
	margin:0;
}

#footer #foot > article div.contact{
	width:100%;
}

#footer #foot .contact:first-child{
	display:flex;
	align-items:center;
	gap:15px;
	margin-bottom:20px;
}

#footer #foot .contact-title{
	width:70px;
	height:70px;
	font-size:11px;
}

#footer #foot .contact:first-child .project_name{
	font-size:15px;
}

#footer #foot .contact:first-child .operator{
	font-size:11px;
}

#footer #foot .contact .tel{
	list-style:none;
	margin:0;
	padding:0;
}

#footer #foot .contact .tel li{
	margin:0;
	padding:0;
}

#footer #foot .contact .tel li:first-child{
	font-size:15px;
	font-weight:700;
	margin-bottom:8px;
}

#footer #foot .contact .tel .tel_number{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:3px;
}
#footer #foot .contact .tel .tel_number::before{
	content:"";
	width:16px;
	height:16px;
	background:url("../img/icon_tel.png") no-repeat center;
	background-size:16px;
	flex:none;
}

#footer #foot .contact .tel .label{
	font-size:10px;
	white-space:nowrap;
}

#footer #foot .contact .tel .number{
	font-weight:700;
	white-space:nowrap;
}

#footer #foot .contact .tel .number a{
	font-size:18px;
	font-weight:700;
	color:#000;
	text-decoration:none;
}

#footer #foot .contact .tel .label:first-child{
	font-size:11px !important;
	margin-left:0;
}
#footer #foot .contact .tel .label:last-child{
	font-size:10px !important;
	margin-left:5px;
}

.footer-policy{
	width:100vw;
	margin-left:calc(50% - 50vw);
	margin-top:20px;
	padding:30px 0;
	font-size:0.9em;
}
	.footer-policy-inner{
		width:90%;
		padding: 0 5%;
	}
.footer-policy-row{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	column-gap:20px;
	row-gap:8px;
}

.footer-policy-row a{
	display:inline-block;
	margin:0;
	padding:0;
	line-height:1.4;
	color:#276b12;
	text-decoration:none;
}

.footer-policy-row:first-child{
	margin-bottom:10px;
}

.footer-policy-row:first-child a:not(:last-child)::after{
	content:none;
}

.footer-policy-row:last-child{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	column-gap:20px;
	row-gap:8px;
	margin-top:10px;
}

.footer-policy-row:last-child a{
	display:inline-block;
	line-height:1.4;
}

.footer-policy-row:last-child a:not(:last-child)::after{
	content:none;
}

.footer-policy-row a.blank::after{
	content:"";
	display:inline-block;
	width:12px;
	height:12px;
	margin-left:5px;
	background:url("../img/blank.png") no-repeat center;
	background-size:12px;
	vertical-align:middle;
}

#footer #copy{
	padding:12px 1%;
	font-size:.8em;
}
	
#wrapper{
	padding:0;
}

.contants{
	margin-left:5%;
	margin-right:5%;
	padding-top:6%;
	padding-right:6%;
	padding-bottom:6%;
}


.button{
	display:flex;
	justify-content:center;
	align-items:center;
}

.button a {
	font-size: 0.84em;
	font-weight: 700;
	color: #fff;
	background-color: #4a413c;
	padding: 0.25em 1em 0.4em 2em;
	border: #4a413c solid 1px;
	border-radius: 16px;
	transition: all ease-in-out 0.4s;
	text-decoration: none;
}

.button3{display: block;gap:0;}
.button3 .btn a{padding: 10px 40px 10px 35px;min-width:inherit; width: 68%;margin: 0 0 20px 5%;}

.button4{display: block;gap:0;}
.button4 .btn a{padding: 10px 40px 10px 35px;min-width:inherit; width: 68%;margin: 0 0 20px 5%;}
	
.btn a {
	background: #4a413c;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 0 0 10%;
	min-width: inherit;
	width: 70%;
	padding: 10px 1.5rem 10px 1rem;
	color: #fff;
	transition: 0.3s ease-in-out;
	text-decoration: none;
	border: 1px solid #4a413c;
	font-size: 1.1em;
	border-radius: 48px;
}

.btn a:hover {
	background: #fff;
	color: #4a413c;
	border: 1px solid #4a413c;
	border-radius: 0;
}

.btn a:after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 47%;
	right: 15px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}

.btn a:hover:after {
	border-top: 1px solid #4a413c;
	border-right: 1px solid #4a413c;
}

.mgL{margin-left: 0;}
.mgLL{margin-left: 0 !important;}


ol.olCircle {
	margin: 0;
	padding: 0;
}

.olCircle li {
	list-style: none;
	padding-left: 1.4em;
	text-indent: -1.4em;
}

.lists{
	text-align: left;
	list-style: none;
	padding: 0;
	margin-left: 0;
}
.lists.mgL, .lists.mgLL, .lists.mgL2, .lists.mgL2em{margin-left: 0 !important;}
.lists li.circle{background: url(../img/circle.png) no-repeat 0px 8px;background-size: 10px 10px; padding-left: 16px;}
.lists li.triangle {background: url(../img/triangle.png) no-repeat 7px 10px;background-size: 7px 10px; padding-left: 16px;}

	

}



@media (prefers-reduced-motion: reduce){
*,
*::before,
*::after{
	animation-duration:0.01ms!important;
	transition-duration:0.01ms!important;
	scroll-behavior:auto!important;
}
}
