/*common_css*/
/* -------------------------------------
Browser：IE11 over
-------------------------------------
01: CSSをReset
02: /css/default.cssを変更
03: Default
-------------------------------------*/

:root {
	--green:#228b22;
	--green2: #eff4ee;
	--green3: #5d9258;
	--lgreen3: #e1efdf;
	--black: #313232;
	--beige: #fbf6e9;
  --gray: #f5f5f5;
  --pink: #df5e5f;
  --lpink: #fcefef;
  --lpink2: #f9dfdf;
  --orange: #ec8e26;
  --lorange: #fdf4e9;
  --lorange2: #f7e0c6;
	--calc980: calc((100% - 980px) / 2);
}

@media screen and ( max-width: 768px) {
  :root {
    --calc980: 4%;
  }
  p{
    text-align: justify;
  }
}

/** ================================================================================
		01.Reset
================================================================================ **/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:none;
background:transparent;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}
h1, h2, h3, h4, h5, h6,
dt,th{
	font-weight:normal;
	line-height: 1.3;
}
ul,ol {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
table {
border-spacing:0;
border-collapse:collapse;
}
/* change border colour to suit your needs */
hr {
display:block;
margin:1em 0;
padding:0;
height:1px;
border:0;
border-top:1px solid #cccccc;
}
img{
	border:none;
	line-height: 1.0;
	vertical-align: top;
}
b,em,i,strong,address{
	font-style: normal;
}

/** ================================================================================
		02./css/default.cssを変更
================================================================================ **/
h1, h2, h3, h4, h5, h6 {
	clear: none;
}

/** ================================================================================
		03.Default
================================================================================ **/
html{
	overflow: auto;
}
body{
  min-width: 980px;
	margin: 0 auto;
	background: #ffffff;
	color:#1e1e1e;
	font-size:16px;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,'Noto Sans JP', sans-serif;
	line-height: 1.7;
	overflow: hidden;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

p a{
	text-decoration:underline;
}p a:hover{
	text-decoration:none;
}

a{
	color:inherit;
	text-decoration:none;
	cursor: pointer;
}a:hover{
	-webkit-transition: .3s;
	transition: .3s;
}

/*
a:hover img{
	opacity: 0.8;
	-ms-filter: alpha(opacity=80);
	filter: alpha(opacity=80);
}
*/

/**PC電話ボタン無効**/
a[href^="tel"]{
	pointer-events: none;
	text-decoration: none;
}
@media screen and (max-width: 768px) {
	a[href^="tel"]{
		pointer-events: auto;
	}
}

hr{
	display:block;
	margin:1em 0;
	padding:0;
	height:1px;
	border:0;
	border-top:1px solid #666666;
}

figure img{
	max-width: 100%;
}

.note{
  padding-left:1em;
  text-indent: -1em;
}


@media screen and (max-width: 768px) {
	body{
		min-width: 100%;
        font-size: 15px;
	}
	/**post制御**/
	p{
		word-break: break-all;
	}
	table{
		width: 100%;
		word-break: break-all;
	}
	img{
		max-width: 100%;
		height: auto;
	}
	/**post制御**/
}


/* -------------------------------------
ベーススタイル設定

1.clearfix,clear
2.font
3.float
4.text-align
5.margin
6.padding
-------------------------------------*/

/*1. clearfix,clear */

/* For modern browsers */
.cf:before,
.cf:after {
	display:block;
	overflow:hidden;
	content:"";
}

.cf:after {
	clear:both;
}

.clear{
	clear: both;
}


/*2. font 必要なら追加　優先順位：高*/
body .fw-b {
	font-weight: bold;
}
body .fs14{
	font-size: 0.87rem;/*13*/
}
body .fs15{
	font-size: 0.94rem;/*14*/
}
body .fs16{
	font-size: 16px;/*16*/
}
body .fs17{
	font-size: 17px;/*16*/
}
body .fs18{
	font-size: 18px;/*16*/
}
body .fs20{
	font-size: 20px;/*16*/
}
body .fs22{
	font-size: 22px;/*16*/
}
body .fs24{
	font-size: 24px;/*18*/
}
body .fs26{
	font-size: 26px;/*20*/
}
body .fs28{
	font-size: 28px;/*20*/
}
body .fs30{
	font-size: 30px;/*28*/
}
body .fs32{
	font-size: 32px;/*28*/
}
body .fs35{
	font-size: 35px;/*28*/
}
body .fs40{
	font-size: 40px;/*36*/
}
body .fs44{
	font-size: 44px;/*36*/
}
body .fs46{
	font-size: 46px;/*40*/
}
body .fs50{
	font-size: 50px;/*40*/
}
body .fs54{
	font-size: 54px;/*42*/
}
body .fs60{
	font-size: 60px;/*42*/
}
body .fs70{
	font-size: 70px;/*42*/
}

@media screen and (max-width: 768px) {
	body .fs16{
		font-size: 15px;/*16*/
	}
	body .fs17{
		font-size: 15px;/*16*/
	}
	body .fs18{
		font-size: 16px;/*16*/
	}
	body .fs20{
		font-size: 16px;/*16*/
	}
	body .fs22{
		font-size: 16px;/*16*/
	}
	body .fs24{
		font-size: 18px;/*18*/
	}
	body .fs26{
		font-size: 22px;/*20*/
	}
	body .fs28{
		font-size: 24px;/*20*/
	}
	body .fs30{
		font-size: 26px;/*28*/
	}
	body .fs32{
		font-size: 28px;/*28*/
	}
	body .fs35{
		font-size: 30px;/*28*/
	}
	body .fs40{
		font-size: 36px;/*36*/
	}
	body .fs44{
		font-size: 36px;/*36*/
	}
	body .fs46{
		font-size: 40px;/*40*/
	}
	body .fs50{
		font-size: 42px;/*40*/
	}
	body .fs54{
		font-size: 42px;/*42*/
	}
	body .fs60{
		font-size: 46px;/*42*/
	}
	body .fs70{
		font-size: 48px;/*42*/
	}
}

@media screen and (max-width: 768px) {
	body .fs26{
		font-size: 5vw;
	}
	body .fs28{
		font-size: 5vw;
	}
	body .fs30{
		font-size: 5vw;
	}
	body .fs32{
		font-size: 6vw;
	}
	body .fs35{
		font-size: 5.8vw;
	}
	body .fs40{
		font-size: 7vw;
	}
	body .fs44{
		font-size: 7vw;
	}
	body .fs46{
		font-size: 7vw;
	}
	body .fs50{
		font-size: 7vw;
	}
	body .fs54{
		font-size: 7vw;
	}
	body .fs60{
		font-size: 8.8vw;
	}
	body .fs70{
		font-size: 8.8vw;
	}
}


/*3. float */
.f_L {
	display: inline;
	float: left;
}
.f_R {
	display: inline;
	float: right;
}

/*4. text-align 優先順位：高 */
body .t_R {
	text-align: right;
}
body .t_L {
	text-align: left;
}
body .t_C {
	text-align: center;
}
body .t_CL{
  text-align: center;
}


/*5. margin 必要なら追加　優先順位：高 */
/*5. margin 30以上は1/2 */
body .m0 {
	margin: 0;
}
body .mb0{
	margin-bottom: 0;
}
body .mb5 {
	margin-bottom: 5px;
}
body .mb10 {
	margin-bottom: 10px;
}
body .mb15 {
	margin-bottom: 15px;
}
body .mb20 {
	margin-bottom: 20px;
}
body .mb30 {
	margin-bottom: 30px;
}
body .mb40 {
	margin-bottom: 40px;
}
body .mb50 {
	margin-bottom: 50px;
}
body .mb70 {
	margin-bottom: 70px;
}
body .mb80 {
	margin-bottom: 80px;
}
body .mb100 {
	margin-bottom: 100px;
}
body .mb150 {
	margin-bottom: 150px;
}
body .mt0{
	margin-top: 0px;
}
body .mt5 {
	margin-top:5px;
}
body .mt10 {
	margin-top:10px;
}
body .mt15 {
	margin-top:15px;
}
body .mt20 {
	margin-top:20px;
}
body .mt30 {
	margin-top:30px;
}
body .mt40 {
	margin-top:40px;
}
body .mt50 {
	margin-top:50px;
}
body .mt70 {
	margin-top:70px;
}
body .mt80 {
	margin-top:80px;
}
body .mt100 {
	margin-top:100px;
}
body .mt150 {
	margin-top:150px;
}
body .ml0{
	margin-left: 0;
}
body .ml5 {
	margin-left: 5px;
}
body .ml10 {
	margin-left: 10px;
}
body .ml15 {
	margin-left: 15px;
}
body .ml20 {
	margin-left: 20px;
}
body .ml30 {
	margin-left: 30px;
}
body .mr0{
	margin-right: 0;
}
body .mr5 {
	margin-right: 5px;
}
body .mr10 {
	margin-right: 10px;
}
body .mr15 {
	margin-right: 15px;
}
body .mr20 {
	margin-right: 20px;
}
body .mr30 {
	margin-right: 30px;
}


@media screen and (max-width: 768px) {
  body .t_CL{
    text-align: left;
  }

	/*5. margin 30以上は1/2 */
    body .mb20 {
        margin-bottom: 15px;
    }
    body .mb30 {
        margin-bottom: 20px;
    }
	body .mb40 {
		margin-bottom: 20px;
	}
	body .mb50 {
		margin-bottom: 25px;
	}
	body .mb70 {
		margin-bottom: 35px;
	}
	body .mb80 {
		margin-bottom: 40px;
	}
	body .mb100 {
		margin-bottom: 50px;
	}
	body .mb150 {
		margin-bottom: 75px;
	}
    body .mt20 {
        margin-top:15px;
    }
    body .mt30 {
        margin-top:20px;
    }
	body .mt40 {
		margin-top:20px;
	}
	body .mt50 {
		margin-top:25px;
	}
	body .mt70 {
		margin-top:35px;
	}
	body .mt80 {
		margin-top:40px;
	}
	body .mt100 {
		margin-top:50px;
	}
	body .mt150 {
		margin-top:75px;
	}
}

/*6. padding 優先順位:高*/
body .pt10{
    padding-top: 10px;
}
body .pt20{
    padding-top: 20px;
}
body .pt30{
    padding-top: 30px;
}
body .pt40{
    padding-top: 40px;
}
body .pt50{
    padding-top: 50px;
}
body .pt80{
    padding-top: 80px;
}
body .pb10{
    padding-bottom: 10px;
}
body .pb20{
    padding-bottom: 20px;
}
body .pb30{
    padding-bottom: 30px;
}
body .pb40{
    padding-bottom: 40px;
}
body .pb50{
    padding-bottom: 50px;
}
body .pb80{
    padding-bottom: 80px;
}
body .pall20 {
    padding: 20px;
}
body .pall30 {
    padding: 30px;
}
body .pall40 {
    padding: 40px;
}
body .pall50 {
    padding: 50px;
}

@media screen and (max-width: 768px) {
    body .pt40{
        padding-top: 30px;
    }
    body .pt50{
        padding-top: 30px;
    }
    body .pt80{
        padding-top: 40px;
    }
    body .pb40{
        padding-bottom: 30px;
    }
    body .pb50{
        padding-bottom: 30px;
    }
    body .pb80{
        padding-bottom: 40px;
    }
    body .pall30 {
        padding: 20px;
    }
    body .pall40 {
        padding: 20px;
    }
    body .pall50 {
        padding: 20px;
    }
}

/* -------------------------------------
幅
-------------------------------------*/
body .w100p,
body .w1100,
body .w1000,
body .w980,
body .w900,
body .w800,
body .w700,
body .w650,
body .w600{
	margin-right: auto;
	margin-left : auto;
}
body .w100p{
	width: 100%;
}
body .w1100{
	width: 1100px;
}
body .w1000{
	width: 1000px;
}
body .w980{
	width: 980px;
}
body .w900{
	width: 900px;
}
body .w800{
	width: 800px;
}
body .w700{
	width: 700px;
}
body .w650{
	width: 650px;
}
body .w600{
	width: 600px;
}

@media screen and (max-width: 768px) {
	body .w100p,
	body .w1100,
	body .w1000,
	body .w980,
	body .w900,
	body .w800,
	body .w700,
	body .w650,
	body .w600{
		margin-right: auto;
		margin-left : auto;
	}
	body .w100p{
		width: 100%;
	}
	body .w1100{
		width: 100%;
	}
	body .w1000{
		width: 100%;
	}
	body .w980{
		width: 100%;
	}
	body .w900{
		width: 100%;
	}
	body .w800{
		width: 100%;
	}
	body .w700{
		width: 100%;
	}
	body .w650{
		width: 100%;
	}
	body .w600{
		width: 100%;
	}
	body .w100p > *,
	body .w1100 > *,
	body .w1000 > *,
	body .w980 > *,
	body .w900 > *,
	body .w800 > *,
	body .w700 > *,
	body .w650 > *,
	body .w600 > *{
		margin-right: auto;
		margin-left: auto;
		width: 90%;
	}
	body .w100p > .max,
	body .w100p.max,
	body .w1100 > .max,
	body .w1100.max,
	body .w1000 > .max,
	body .w1000.max,
	body .w980 > .max,
	body .w980.max,
	body .w900 > .max,
	body .w900.max,
	body .w800 > .max,
	body .w800.max,
	body .w700 > .max,
	body .w700.max,
	body .w650 > .max,
	body .w650.max,
	body .w600 > .max,
	body .w600.max{
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}


body .calc980{
	padding-right: calc( ( 100% - 980px ) / 2 );
	padding-left: calc( ( 100% - 980px ) / 2 );
}

@media screen and (max-width: 768px){
	body .calc980{
	padding-right: 0;
	padding-left: 0;
	}
	body .calc980 > .max{
		width: 100%;
	}
	body .calc980 > *{
		margin-right: auto;
		margin-left: auto;
		width: 90%;
	}
}


/* -------------------------------------
文字装飾
-------------------------------------*/
/**黄色マーカー**/
b.liner{
	background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(0%, #fff552));
	background: linear-gradient(transparent 40%, #fff552 0%);
}

/* -------------------------------------
改行
-------------------------------------*/
.pc{
}
.sp{
	display:none;
}
.ib{
	display: inline-block;
}

@media screen and (max-width: 768px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
}



/* -------------------------------------
写真のエフェクト
-------------------------------------*/
/**4辺ぼかし：親要素にかける**/
.blur_w {
	position: relative;
	display: inline-block;
}
.blur_w:after {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0);
	-webkit-box-shadow:
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff;
	box-shadow:
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff,
	  inset 0 0 40px #fff;
	content: "";
}

/**角丸：画像に直接かけれる**/
.radius{
/*	border-radius: 15px;*/
	border-radius: 10px;
}

/**hover時画像拡大**/
.scale {
	overflow: hidden;
}
.scale img {
	-webkit-transition: -webkit-transform 0.3s linear;
	transition: -webkit-transform 0.3s linear;
	transition: transform 0.3s linear;
	transition: transform 0.3s linear, -webkit-transform 0.3s linear;
}
a:hover .scale img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}


/**-------------------------------------
地図 動画 iframe
-------------------------------------**/
iframe{
	width: 100%;
}
.youtube{
	position: relative;
	margin: 30px auto 20px;
	padding-bottom: 56.25%;
	width:100%;
	height:0px;
	background-position: center;
	background-size:cover;
	background-repeat: no-repeat;
}
.youtube iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px) {
	.youtube{
			margin: 20px auto 10px;
	}
}

/* -------------------------------------
吹き出し
-------------------------------------*/
/**塗りつぶし（下）**/
.balloon1_B {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon1_B:before {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 10px 5px;
	border-style: solid;
	border-color: #e0edff transparent transparent transparent;
	content: "";
}
/**塗りつぶし（上）**/
.balloon1_T {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon1_T:before {
	position: absolute;
	top: -20px;
	left: 50%;
	margin-left: -5px;
	border-width: 10px 5px;
	border-style: solid;
	border-color: transparent transparent #e0edff  transparent;
	content: "";
}
/**塗りつぶし（左）**/
.balloon1_L {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon1_L:before {
	position: absolute;
	top: 50%;
	left: -20px;
	margin-top: -5px;
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent #e0edff transparent  transparent;
	content: "";
}
/**塗りつぶし（右）**/
.balloon1_R {
	position: relative;
	display: inline-block;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	background: #e0edff;
	color: #555;
	font-size: 16px;
}.balloon1_R:before {
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -5px;
	border-width: 5px 10px;
	border-style: solid;
	border-color: transparent  transparent  transparent #e0edff;
	content: "";
}

/**線（下）**/
.balloon2_B {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon2_B:before {
	position: absolute;
	bottom: -18px;
	left: 50%;
	z-index: 2;
	margin-left: -6px;
	border-width: 9px 6px;
	border-style: solid;
	border-color: #fff transparent  transparent  transparent;
	content: "";
}.balloon2_B:after {
	position: absolute;
	bottom: -20px;
	left: 50%;
	z-index: 1;
	margin-left: -7px;
	border-width: 10px 7px;
	border-style: solid;
	border-color: #555 transparent  transparent  transparent;
	content: "";
}
/**線（上）**/
.balloon2_T {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon2_T:before {
	position: absolute;
	top: -18px;
	left: 50%;
	z-index: 2;
	margin-left: -6px;
	border-width: 9px 6px;
	border-style: solid;
	border-color:  transparent  transparent #fff  transparent;
	content: "";
}.balloon2_T:after {
	position: absolute;
	top: -20px;
	left: 50%;
	z-index: 1;
	margin-left: -7px;
	border-width: 10px 7px;
	border-style: solid;
	border-color:  transparent  transparent #555 transparent;
	content: "";
}
/**線（左）**/
.balloon2_L {
	position: relative;
	display: inline-block;
	margin: 1.5em 0 1.5em 15px;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon2_L:before {
	position: absolute;
	top: 50%;
	left: -18px;
	z-index: 2;
	margin-top: -6px;
	border-width: 6px 9px;
	border-style: solid;
	border-color:  transparent  #fff transparent  transparent;
	content: "";
}.balloon2_L:after {
	position: absolute;
	top: 50%;
	left: -20px;
	z-index: 1;
	margin-top: -7px;
	border-width: 7px 10px;
	border-style: solid;
	border-color:  transparent  #555 transparent  transparent;
	content: "";
}
/**線（右）**/
.balloon2_R {
	position: relative;
	display: inline-block;
	margin: 1.5em 15px 1.5em 0;
	padding: 7px 10px;
	min-width: 120px;
	max-width: 100%;
	border: solid 1px #555;
	background: #FFF;
	color: #555;
	text-align: center;
	font-size: 16px;
}.balloon2_R:before {
	position: absolute;
	top: 50%;
	right: -18px;
	z-index: 2;
	margin-top: -6px;
	border-width: 6px 9px;
	border-style: solid;
	border-color:  transparent  transparent  transparent #fff ;
	content: "";
}.balloon2_R:after {
	position: absolute;
	top: 50%;
	right: -20px;
	z-index: 1;
	margin-top: -7px;
	border-width: 7px 10px;
	border-style: solid;
	border-color:  transparent  transparent  transparent #555 ;
	content: "";
}


/* -------------------------------------
横並びボックスの数
-------------------------------------*/
/**２つ並び**/
.box2C{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: 100%;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.box2C > *{
width: 48%;
}
.box2C:after{
display: block;
width: 48%;
content: "";
}

/**3つ並び**/
.box3C{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: 100%;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.box3C > *{
width: 32%;
}
.box3C:after{
display: block;
width: 32%;
content: "";
}

/**4つ並び**/
.box4C{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
width: 100%;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.box4C > *{
width: 24.5%;
}
.box4C:after,
.box4C:before{
display: block;
width: 24.5%;
content: "";
}
.box4C:before{
-webkit-box-ordinal-group:2;
-ms-flex-order:1;
order:1;
}

@media screen and (max-width: 768px) {
/* -------------------------------------
横並びボックスの数
-------------------------------------*/
	/**２つ並び**/
	.box2C{
	width: 100%;
	}
	.box2C.box1C_sp{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	}.box2C.box2C_sp{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	}
	.box2C.box1C_sp > *{
	width: 100%;
	}
	.box2C.box1C_sp:after{
	display: none;
	}
	.box2C.box2C_sp > *,
	.box2C.box2C_sp::after{
	width: 48%;
	}
	.box2C.box2C_sp.sp1c>*,
	.box2C.box2C_sp.sp1c::after{
	/*		min-width: 300px;*/
	}
	
	/**3つ並び**/
	.box3C{
	width: 100%;
	}
	.box3C.box1C_sp{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	}.box3C.box2C_sp{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	}
	.box3C.box3C_sp{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	}
	.box3C.box1C_sp > *{
	width: 100%;
	}
	.box3C.box1C_sp:after{
	display: none;
	}
	.box3C.box2C_sp > *,
	.box3C.box2C_sp::after{
	width: 48%;
	}
	.box3C.box3C_sp > *,
	.box3C.box3C_sp::after{
	width: 31%;
	}
	
	/**4つ並び**/
	.box4C{
	width: 100%;
	}
	.box4C.box1C_sp{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	}.box4C.box2C_sp{
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	}
	.box4C.box1C_sp > *{
	width: 100%;
	}.box4C.box2C_sp > *{
	width: 48%;
	}
	.box4C:after,
	.box4C:before{
	display: none;
	}
}

@media screen and (max-width: 768px) {
/* -------------------------------------
横並びボックスの数
-------------------------------------*/
	.sp1c{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column !important;
	}
	.sp1c>*,
	.sp1c::after{
	width: 100% !important;
	margin-left: auto;
	margin-right: auto;
	}
}



/* -------------------------------------
配置
-------------------------------------*/
.h-text-img{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left:auto;
    margin-right: auto;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.h-text-img.right{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
}
.h-text-img.left{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse;
}
.h-text-img.center_t{
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-flow: column-reverse;
    flex-flow: column-reverse;
}
.h-text-img.center_b{
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
}
.h-text-img figure{
    -webkit-box-flex:0;
    -ms-flex:none;
    flex:none;
}
.h-text-img.right figure{
    margin-left: 30px;
}
.h-text-img.left figure{
    margin-right: 30px;
}
.h-text-img.center_t figure{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
.h-text-img.center_b figure{
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
}
.h-text-img .text{
    -webkit-box-flex:1;
    -ms-flex:1;
    flex:1;
}
.pdf{
    width: 100%;
    margin:30px auto;
    text-align: center;
}
figure.w50p{
    width: 50%;
}

@media screen and (max-width: 768px) {
    .h-text-img.right figure,
    .h-text-img.left figure{
        min-width: 300px;
        margin: 0 16px;
    }
    .h-text-img.right .text,
    .h-text-img.left .text{
        min-width: 300px;
        margin: 0 16px;
    }
    .h-text-img.center_t{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
    }
    .h-text-img.right.top,
    .h-text-img.left.top,
    .h-text-img.center_t.top,
    .h-text-img.center_b.top{
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse;
        flex-flow: column-reverse;
    }
    .pdf{
        margin:20px auto;
    }
}

@media screen and (max-width: 768px) {
    .h-text-img.right,
    .h-text-img.left,
    .h-text-img.center_t,
    .h-text-img.center_b{
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
    }
    .h-text-img.right.sp-top,
    .h-text-img.left.sp-top{
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse;
        flex-flow: column-reverse;
    }
    .h-text-img.right figure,
    .h-text-img.left figure,
    .h-text-img.center_t figure,
    .h-text-img.center_b figure{
        margin:15px auto;
    }
    .h-text-img.right .text,
	.h-text-img.left .text{
		min-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}


/* -------------------------------------
テーブル
-------------------------------------*/
/*外枠なし th＝25%*/
.tableA table,
table.tableA{
	margin: 30px auto;
	width: 100%;
}
.tableA th,
.tableA td{
	padding: 15px 20px;
/*	border: 1px dotted #666;*/
	border-top: 1px dotted #666;
	border-bottom: 1px dotted #666;
	vertical-align: top;
	text-align: left;
}
.tableA th{
	width: 25%;
/*	vertical-align:middle;*/
	/*background: #eaedd4;*/
  	background: #edf3ed;
    border-left: none;
}
.tableA td{
    border-right: none;
}

@media screen and (max-width: 768px) {
/*外枠なし th＝25%*/
	/*th＝25%*/
	.tableA table,
	.tableA tbody,
	.tableA tr,
	.tableA th,
	.tableA td{
        font-size: 0.85rem;
	}
	.tableA th,
	.tableA td{
		padding: 10px;
	}
	
	/*th＝100%*/
	.tableA.th100p_sp table,
	.tableA.th100p_sp tbody,
	.tableA.th100p_sp tr,
	.tableA.th100p_sp th,
	.tableA.th100p_sp td{
		display: block;
		border: none;
	}
	.tableA.th100p_sp table,
	table.tableA.th100p_sp{
		border-bottom: 1px dotted #666;
	}
	.tableA.th100p_sp th,
	.tableA.th100p_sp td{
		padding: 10px 10px 14px;
/*		border: 1px dotted #666;*/
		border-bottom: none;
	}
	.tableA.th100p_sp th{
		width: 100%;
        padding: 8px 10px;
        font-size: 0.9em;
	}
}






/* -------------------------------------
ヘッダー
-------------------------------------*/
.all_header {
	display: flex;
	padding: 1px var(--calc980);
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	background: #fff;
	position:fixed;
	top:0;
	left:0;
	z-index: 1000;
	min-width: 980px;
}
.all_header + *{
  margin-top: 145px;
}

.all_header h1 {
	display: flex;
	align-items: flex-end;
}

.all_header h1 img {
	width: 200px;
}

.all_header h1 span {
	font-size: 13px;
	margin-left: 15px;
}

.all_header h1 span a {
	display: block;
	padding: 4px 0 0;
	line-height: 1;
	letter-spacing: -1px;
}

.all_header .btn_nav {
	display: flex;
	align-items: flex-end;
}

.all_header .btn_nav .btn {
	width: auto;
	height: 80px;
}

.all_header .btn_nav .btn span {
	font-weight: normal;
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;
}

.all_header .btn_nav a[href^="tel"] {
	font-weight: bold;
	color: var(--green);
	font-size: 22px;
	margin-right: 10px;
	line-height: 1.2;
}

.all_header .btn_nav a[href^="tel"]:before {
	content: "\e0b0";
	font-family: 'Material Icons Sharp';
	line-height: 1;
	display: inline-block;
	margin-right: 5px;
	vertical-align: middle;

}

.all_header .btn_nav a[href^="tel"] p {
	font-size: 12px;
	text-align: right;
}

.all_header nav {
	width: 100%;
	margin: 10px 0;
}

.all_header nav ul {
	display: flex;
	justify-content: center;
}

.all_header nav ul li a {
	display: block;
	padding: 8px 15px;
}

@media screen and (max-width: 768px) {
	.all_header {
		height: 60px;
		width: 100%;
		min-width: auto;
	}

  .all_header + *{
    margin-top: 60px;
  }

	.all_header h1 {
		margin: 5px 0;
		padding-right:60px;
		align-items: center;
	}

	.all_header h1 img {
		width: 80px;
	}

	.all_header h1 span {
		font-size: 9px;
		margin-left: 5px;
	}

	.all_header .btn_nav {
		align-items: center;
		position: fixed;
		justify-content: space-between;
		z-index: 1000;
		left: 0;
		bottom: 0;
		background: #fff;
		width: 100%;
	}

	.all_header .btn_nav .btn {
		width: auto;
		  width: 30%;
		height: 45px;
		margin-left: 1px;
		font-size: 13px;
		padding: 14px 10px;
	}

	.all_header .btn_nav .btn span {
		margin-right: 3px;
	}

	.all_header .btn_nav a[href^="tel"] {
		font-size: 16px;
		margin: 0 5px;
		flex: 1;
		text-align: center;
	}

	.all_header .btn_nav a[href^="tel"] p {
		font-size: 9px;
		text-align: center;
	}

	.all_header nav {
		position: fixed;
		top: 0;
		right: -300px;
		z-index: 1000;
		box-sizing: border-box;
		padding-top: 60px;
		width: 300px;
		height: 100%;
		background: var(--black);
		font-size: 16px;
		justify-content: flex-start;
		align-items: flex-start;
		margin: 0;
	}

	.all_header nav ul {
		width: 100%;
		flex-flow: column;
	}

	.all_header nav ul li a {
		display: block;
		padding: 10px 28px;
		color: #fff;
		text-decoration: none;
	}

	.all_header nav ul li a:hover {
		background: #fff;
		color: var(--black);
	}

	.all_header .hamburger {
		position: fixed;
		display: block;
		top: 0;
		right: 0;
		z-index: 3;
		z-index: 1500;
		box-sizing: border-box;
		width: 60px;
		height: 60px;
		font-size: 11px;
		cursor: pointer;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		background: var(--black);
		color: #fff;
	}

	.all_header .hamburger:after {
		position: absolute;
		right: 0;
		left: 0;
		bottom: 5px;
		margin: 0 auto;
		content: "MENU";
		text-align: center;
		letter-spacing: 1x;
	}

	.all_header .hamburger.open:after {
		color: #fff;
		content: "CLOSE";
		letter-spacing: 0;
	}

	.all_header .hamburger span {
		position: absolute;
		width: 40px;
		height: 2px;
		background: #fff;
		-webkit-transition: all 400ms;
		transition: all 400ms;
		right: 0;
		left: 0;
		margin: 0 auto;
	}

	.all_header .hamburger span:nth-child(1) {
		top: 10px;
	}

	.all_header .hamburger span:nth-child(2) {
		top: 20px;
	}

	.all_header .hamburger span:nth-child(3) {
		top: 30px;
	}

	.all_header .hamburger.open {
		background: none;
	}

	.all_header .hamburger.open span {
		background: #fff;
	}

	.all_header .hamburger.open span:nth-child(1) {
		top: 20px;
		transform: rotate(45deg);
	}

	.all_header .hamburger.open span:nth-child(2) {
		display: none;
	}

	.all_header .hamburger.open span:nth-child(3) {
		top: 20px;
		transform: rotate(-45deg);
	}
}

/**------------------------------ 
採用ヘッダー
 ------------------------------**/
/* -------------------------------------
ヘッダー
-------------------------------------*/
.rec_header {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding-top: 10px;
	padding-bottom: 10px;
	z-index: 100;
}

.rec_header h1 {
	font-weight: bold;
	line-height: 1.6;
	color: #fff;
}

.rec_header .rec-top-nav {
	display: none;
}

.rec_header .btn-wrap {
	width: 310px;
}

.rec_header .btn {
	width: 150px;
	margin: 0;
	font-size: 16px;
}

.rec_header .btn.corp {
	width: 236px;
	background: #fff;
	border-color: #fff;
	color: var(--green);
}

.rec_header .btn.corp:hover {
	color: #fff;
	background: var(--green);
}

@media screen and (max-width: 768px) {
	.rec_header {
		display: block;
		padding-top: 4px;
		padding-bottom: 4px;
		-webkit-box-shadow: 0 -1px 2px 2px rgba(0, 0, 0, .3);
		box-shadow: 0 -1px 2px 2px rgba(0, 0, 0, .3);
		position: fixed;
		left: 0;
		top: 0;
	}

	.rec_header h1 {
		display: none;
	}

	.rec_header .btn-wrap {
		width: 98%;
		margin: 0 auto;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}

	.rec_header .btn {
		width: calc((100% - 70px) / 2);
		height: 38px;
		max-width: 100%;
		margin: 0;
		padding: 0;
		font-size: 13px;
		line-height: 38px;
	}

	.rec_header .btn.corp {
		max-width: 54%;
	}

	.rec_header .btn.pc {
		display: none;
	}

	.rec_header a[href^="#entry"]::after {
		content: "\e3c9";
		font-family: 'Material Icons Sharp';
		padding-left: 8px;
		font-size: 1.2em;
	}

	.rec_header a[href^="tel"] {
		width: 54px;
		height: 38px;
		text-align: center;
		background: #fff;
	}

	.rec_header a[href^="tel"] i {
		line-height: 38px;
	}

	.rec_header .btn svg {
		margin-left: 8px;
	}
	
	.rec_header .rec-nav{
    display: flex;
  }
  
  .rec_header .btn-wrap.rec-nav > *{
    box-shadow: 2px 2px rgba(0,0,0,.5);
  }

	.rec_header .rec-menu-toggle {
		width: calc((100% - 60px) / 2);
			background: #e05e5f;
	}

	.rec_header .rec-menu-toggle .search.btn {
		width: 100%;
		background: none;
		border: none;
	}

	.rec_header .rec-menu-toggle .search.btn:hover {
		color: #fff;
		background: #e05e5f;
	}

	.rec_header .rec-menu-toggle .search.btn::after {
		content: "\e8b6";
		font-family: 'Material Icons Sharp';
		padding-left: 8px;
		font-size: 1.2em;
	}

	/*募集職種一覧*/
	.rec_header .rec-menu-toggle ul {
		display: none;
		width: 100vw;
		padding: 10px 5vw;
		background: #e05e5f;
		position: absolute;
		left: 0;
		top: 42px;
		z-index: 1;
	}

	.rec_header .rec-menu-toggle ul li a {
		display: block;
		width: 100%;
		margin: 4px;
		padding: 10px;
		font-size: 14px;
		line-height: 1.2;
		background: #fff;
	}

	.rec_header .rec-menu-toggle ul li a::after {
		content: "\e5cc";
		font-family: 'Material Icons Sharp';
		line-height: 1.0;
		position: absolute;
		right: 20px;
		top: auto;
		bottom: auto;
	}

	/*アンカーリンク*/
	.rec_header .rec-anchor {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin: 6px auto -4px;
		background: #ffad00;
	}

	.rec_header .rec-anchor li+li {
		border-left: 1px solid #fff;
	}

	.rec_header .rec-anchor li a {
		display: block;
		width: 100%;
		padding: 5px 16px;
		font-size: 12px;
		line-height: 1.2em;
		text-align: center;
		background: #ffad00;
	}

	.rec_header .rec-anchor li a::after {
		/*
		content: "\e5cf";
		font-family: 'Material Icons Sharp';
*/
		content: "▼";
		display: block;
		width: 100%;
		font-size: 0.5em;
		line-height: 1.0;
		-webkit-transform: scale(1, 0.5);
		transform: scale(1, 0.5);
	}
}




/* -------------------------------------
フッター採用お問合せ
-------------------------------------*/
.footer-contact {
	padding: 30px;
	background: url(/common/images/footer-bg.jpg) no-repeat center / cover;
}

.footer-contact .inner {
	max-width: 500px;
	margin: 0 auto;
	padding: 30px;
	font-weight: bold;
	text-align: center;
	background: #fff;
}

.footer-contact h2 {
	margin-bottom: 10px;
}

.footer-contact h2+p {
	font-weight: normal;
}



.footer-contact a {
	display: block;
	margin: 2px auto 6px;
	font-size: 36px;
	color: #e05e5f;
	font-weight: bold;
	line-height: 1.3;
	width: 100%;
}

.footer-contact a+p {
	line-height: 2.0;
}

@media screen and (max-width: 768px) {
	.footer-contact {
		padding: 30px;
		text-align: center;
	}

	.footer-contact .inner {
		padding: 30px 0;
	}

	.footer-contact h2 {
		margin-bottom: 10px;
	}

	.footer-contact a {
		margin: 2px auto 6px;
		font-size: 28px;
	}
	

	.footer-contact p,
	.footer-contact a+p {
		font-size: 0.8em;
		line-height: 1.6;
		text-align: center;
	}
}


/* -------------------------------------
フッター
-------------------------------------*/
footer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	padding: 30px 0 50px;
	padding-right: calc((100% - 980px) / 2);
	padding-left: calc((100% - 980px) / 2);
	color: #fff;
	background: var(--green);
}

footer address {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}

footer address h1 {
	margin-bottom: 14px;
	display: flex;
	align-items: flex-end;
	margin-bottom: 30px;
}

footer address h1 span {
	font-size: 14px;
	margin-left: 15px;
}

footer address h1 span a {
	display: block;
	margin-top: 3px;
}

footer address h1 img {
	width: 240px;
}

footer .inner {
	width: 236px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
}

footer .inner .btn {
	margin-top: 14px;
}

footer .inner .corp {
	color: #1d1d1d;
	background: #aeb955;
	border-color: #aeb955;
}

footer .inner .corp:hover {
	background: #fff;
}

/*コピーライト*/
.copyright {
	width: 100%;
}

.copyright small {
	display: block;
	width: 100%;
	padding: 30px 0 0;
	font-size: 13px;
	color: #fff;
	text-align: center;
	line-height: 1.0;
}


@media screen and (max-width: 768px) {
	footer {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		padding: 30px 0 80px;
	}

	footer address {
		text-align: center;
	}

	footer address h1 {
		flex-flow: column;
		text-align: center;
		justify-content: center;
		align-items: center;
		margin-bottom: 20px;
	}
	footer address h1 span{
	  margin-left:0;
	}

	footer address span {
		margin: 0;
	}

	footer address h1 img {
		width: 80%;
		margin-bottom: 10px;
	}

	footer .inner {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
	
	footer p{
	  width: 90%;
	  margin: 0 auto;
	  text-align: center;
	}

	/*コピーライト*/
	.copyright small {
		font-size: 12px;
	}

}


/* -------------------------------------
btn
-------------------------------------*/
.btn-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	align-items: center;
	width: 236px;
	padding: 16px;
	color: #fff;
	text-align: center;
	line-height: 1.2;
	cursor: pointer;
	background: var(--green);
	border: 2px solid var(--green);
	text-decoration: none;
}

.btn:hover {
	color: var(--green);
	background: #fff;
}

.btn i {
	display: inline-block;
	margin-right: 10px;
}

.btn.inq {
	background: var(--black);
	border-color: var(--black);
}

.btn.inq:hover {
	color: var(--black);
	background: #fff;
}

.btn.inv {
	border-color: #fff;
	color: #fff;
}

.btn.inv:hover {
	color: var(--green);
}

@media screen and (max-width: 768px) {
	.btn {
		width: 80%;
		max-width: 88%;
		padding: 14px;
		font-size: 15px;
	}
}




/* -------------------------------------
背景
-------------------------------------*/
.bg-wh {
	background: #fff;
}

.bg-green {
	background: var(--green);
}

.bg-green-l {
	background: var(--green);
}

.bg-ylw {
	background: #ed8f26;
}

.bg-gray {
  background: var(--gray);
}

.bg-beige {
  background: var(--beige);
}

.bg-lgreen {
  background: var(--green2);
}

.sec-calc980 {
  padding-left: var(--calc980);
  padding-right: var(--calc980);
}

body .pt100 {
  padding-top: 100px;
}
body .pt150 {
  padding-top: 150px;
}
body .pb100 {
  padding-bottom: 100px;
}
body .pb150 {
  padding-bottom: 150px;
}

@media screen and (max-width: 768px) {
  body .pt100 {
    padding-top: 50px;
  }
  body .pt150 {
    padding-top: 75px;
  }
  body .pb100 {
    padding-bottom: 50px;
  }
  body .pb150 {
    padding-bottom: 75px;
  }
}



/* -------------------------------------
文字
-------------------------------------*/

/*色*/
.white {
	color: #fff;
}

.pink {
	color: var(--pink);
}

.green {
	color: var(--green);
}

.orange {
	color: var(--orange);
}



/**================================================================================
ページタイトル
================================================================================**/
.page_tit {
	background: no-repeat center / cover;
	position: relative;
	padding: 100px var(--calc980);
}

.page_tit:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--green);
	background: -webkit-repeating-linear-gradient(-45deg, var(--green3) 0, var(--green3) 10px, #fff 10px, #fff 20px);
	background: -o-repeating-linear-gradient(-45deg, var(--green3) 0, var(--green3) 10px, #fff 10px, #fff 20px);
	background: repeating-linear-gradient(-45deg, var(--green3) 0, var(--green3) 10px, #689e64 10px, #689e64 20px);
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
}

.page_tit h2 {
	text-align: center;
	display: flex;
	align-items: center;
	flex-flow: column;
	font-size: 32px;
	position: relative;
	z-index: 2;
	color: #fff;
	letter-spacing: 2px;
}

.page_tit h2:after {
	content: "";
	height: 1px;
	width: 80px;
	background: #fff;
	margin: 10px 20px;
}


@media screen and (max-width:768px) {
	.page_tit {
		padding: 50px 0;
	}

	.page_tit h2 {
		font-size: 22px;
	}
}


/* -------------------------------------
見出し
-------------------------------------*/
/*titA*/
.titleA {
	padding: 12px;
	font-size: 32px;
	color: var(--green);
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
	border-top: 1px solid var(--green);
	border-bottom: 1px solid var(--green);
}

/*titB*/
.titleB {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	font-size: 18px;
	color: var(--green);
	font-weight: bold;
	text-align: center;
}

.titleB>* {
	margin-bottom: 4px;
}

.titleB img {
	width: 40px;
}

.titleB small {
	font-size: 46px;
}


@media screen and (max-width: 768px) {

	/*titA*/
	.titleA {
		padding: 10px;
		font-size: 28px;
	}

	/*titB*/
	.titleB {
		font-size: 1rem;
	}

	.titleB small {
		font-size: 36px;
	}
}

@media screen and (max-width: 768px) {

	/*titA*/
	.titleA {
		font-size: 5vw;
	}

	/*titB*/
	.titleB {
		font-size: 11px;
	}

	.titleB i img {
		max-height: 30px;
	}

	.titleB small {
		font-size: 7vw;
	}
}


/**記事一覧**/
.rec-list-page {
	width: 980px;
	margin: 0 auto;
	padding: 100px 0;
}

.rec-list {
	margin: 20px auto 0;
	width: 980px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.rec-list a {
	display: flex;
	padding: 15px;
	width: 100%;
	border: 1px solid var(--green);

	margin: 0 0 15px;
	position: relative;
}

.rec-list a figure {
	width: 200px;
	height: 200px;
	overflow: hidden;
	flex: none;
	margin: 0 20px 0 0;
}

.rec-list a figure img {
	width: 100%;
	display: block;
}

.rec-list em {
	display: inline-block;
	background: var(--green);
	color: #fff;
	font-size: 12px;
	padding: 2px 15px;
	margin: 0 0 10px;
}

.rec-list .btnC {
	margin: 0;
}

.rec-list a:before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 40px 40px;
	border-color: transparent transparent var(--green) transparent;
	z-index: 2;
}

.rec-list a:after {
	content: "→";
	color: #fff;
	position: absolute;
	bottom: 0;
	right: 3px;
	z-index: 3;
}

.rec-list a:hover:before {
	border-width: 40px 40px 0 0;
	border-color: var(--green) transparent transparent transparent;
}

@media screen and (max-width: 768px) {
	.rec-list-page {
		width: 100%;
		padding: 30px 0;
	}

	.rec-list-page .titleA {
		width: 90%;
		margin: 0 auto 20px;
	}

	.rec-list {
		margin: 0 auto 0;
		width: 90%;
	}

	.rec-list a {
		display: block;
		padding: 10px 20px 10px 15px;
		position: relative;
	}

	.rec-list a figure {
		width: 100%;
		height: 70vw;
		overflow: hidden;
		flex: none;
		margin: 0 20px 0 0;
	}

	.rec-list .btnC {
		display: none;
	}
}



/**================================================== 
 本サイト
================================================== **/
.lh13{
  line-height: 1.3!important;
}
.lh15 {
  line-height: 1.5!important;
}
.lh18 {
  line-height: 1.8!important;
}
.lh20 {
  line-height: 2!important;
}

/* -------------------------------------
タイトル
-------------------------------------*/

.c_pink {
  color: var(--pink);
}
.c_green3 {
  color: var(--green3);
}
.c_orange {
  color: var(--orange);
}

.tit01 {
  position: relative;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.tit01 > * {
  z-index: 5;
}
.tit01 span {
  position: relative;
  font-size: 34px;
  font-weight: bold;
  display: block;
}
.tit01 small {
  position: relative;
  color: var(--green);
  font-size: 16px;
  display: block;
  margin: 0 0 10px;
  font-weight: bold;
}
.tit01 i {
  font-size: 136px;
  color: #fff;
  position: absolute;
  top: -0.3em;
  right: -135px;
  z-index: 1;
  white-space: nowrap;
  color: var(--gray);
}
.tit01 i.white {
  color: #fff;
}
.tit01 i.left {
  right: auto;
  left: -100px;
}
.tit01 i.center {
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  top: -0.5em;
}
.tit01.tit01_pink small{
  color: var(--pink);
}.tit01.tit01_orange small{
  color: var(--orange);
}

.tit02 {
  font-weight: bold;
  color: var(--green);
  line-height: 1.8;
}

.tit03 {
  font-weight: bold;
  line-height: 1.8;
}

.tit04 {
  background: #fff;
  text-align: center;
  padding: 40px var(--calc980);
  font-size: 34px;
  font-weight: bold;
  position: relative;
}
.tit04:after {
  content: "";
  width: 160px;
  height: 2px;
  display: block;
  margin: 15px auto 0;
  background: var(--black);
}

.tit05 {
  max-width: 980px;
  position: relative;
  display: block;
  margin: 50px auto;
  padding: 15px;
  width: 100%;
  background: var(--lgreen3);
  color: var(--green3);
  text-align: center;
  font-size: 26px;
  font-weight: bold;
}
.tit05:before {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -20px;
  border-width: 20px 20px;
  border-style: solid;
  border-color: var(--lgreen3) transparent transparent transparent;
  content: "";
  z-index: 10;
}
.tit05.tit05_pink {
  background: var(--lpink2);
  color: var(--pink);
}
.tit05.tit05_pink:before {
  border-color: var(--lpink2) transparent transparent transparent;
}
.tit05.tit05_orange {
  background: var(--lorange2);
  color: var(--orange);
}
.tit05.tit05_orange:before {
  border-color: var(--lorange2) transparent transparent transparent;
}

@media screen and (max-width: 768px) {
  .tit01 {
    max-width: 90vw;
  }
  .tit01 span {
    position: relative;
    font-size: 21px;
    font-weight: bold;
  }
  .tit01 small {
    font-size: 14px;
  }
  .tit01 i {
    font-size: 50px;
    top: -0.2em;
    right: -4%;
    z-index: 1;
  }
  
  .tit04 {
    padding: 25px var(--calc980);
    font-size: 21px;
  }
  .tit04:after {
    content: "";
    width: 80px;
  }

  .tit05 {
    margin: 30px auto;
    padding: 10px;
    font-size: 21px;
  }
  .tit05:before {
    margin-left: -10px;
    border-width: 10px 10px;
  }
  
}


/* -------------------------------------
btn
-------------------------------------*/
.btn01,
.btn02 {
  position: relative;
  display: block;
  margin-right: auto;
  margin-left: auto;
  padding: 15px;
  text-align: center;
  font-size: 1em;
  cursor: pointer;
  border-radius: 50px;
}
.btn01:after,
.btn02:after {
  display: inline-block;
  margin: auto 10px auto 0;
  vertical-align: middle;
  content: "\f1df";
  font-family: "Material Icons Sharp";
  width: 20px;
  height: 20px;
  line-height: 20px;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
}

.btn01 {
  color: var(--green);
  border: 1px solid var(--black);
  background: #fff;
}
.btn01:hover {
  border: 1px solid var(--green);
  background: var(--green);
  color: #fff;
}
.btn02 {
  color: #fff;
  border: 1px solid #fff;
}
.btn02:hover {
  background: #fff;
  color: var(--green);
}
.btn01.min,
.btn02.min {
  width: 380px;
}
.btn01.t_L,
.btn02.t_L {
  text-align: center;
  margin-left: 0;
}
.btn01.t_R,
.btn02.t_R {
  text-align: center;
  margin-right: 0;
}

.btn03 {
  position: relative;
  font-size: 1em;
  color: var(--green);
  border-bottom: 1px solid var(--green);
}
.btn03:after {
  display: inline-block;
  margin: auto 10px auto 15px;
  vertical-align: middle;
  content: "\f1df";
  font-family: "Material Icons Sharp";
  height: 20px;
  line-height: 20px;
}
.btn03:hover {
  border-bottom: 1px solid transparent;
}

.btn04 {
  background: #fff;
  border-radius: 50px;
  max-width: 480px;
  margin: 0 auto;
  font-weight: bold;
  font-size: 22px;
  display: flex;
  align-items: center;
  padding: 15px 30px 15px 20px;
}
.btn04:before {
  display: block;
  content: "\e0e1";
  font-family: "Material Icons Sharp";
  background: var(--green3);
  width: 74px;
  height: 74px;
  border-radius: 50%;
  color: #fff;
  font-weight: normal;
  text-align: center;
  line-height: 74px;
  font-size: 40px;
  margin-right: 20px;
}
.btn04:hover {
  opacity: 0.9;
}
.btn04.btn04_pink:before {
  background: var(--pink);
}
.btn04.btn04_orange:before {
  background: var(--orange);
}

@media screen and (max-width: 768px) {
  .btn01 {
    padding: 15px;
    max-width: 90vw;
  }

  .btn01.min,
  .btn02.min {
    width: 100%;
  }
  
  .btn04 {
    font-size: 18px;
    padding: 10px;
  }
  .btn04:before {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 20px;
    margin-right: 15px;
  }
  
}

/**------------------------------ 
リスト
 ------------------------------**/
.list time {
  font-size: 14px;
  display: inline-block;
  margin: 10px 10px 10px 0;
}
.list em {
  display: inline-block;
  font-size: 14px;
  background: var(--black);
  color: #fff;
  line-height: 1;
  padding: 5px 10px;
  margin: 10px 10px 10px 0;
}

/**------------------------------ 
TOP
 ------------------------------**/

.all_hero {
  width: 100%;
  background: #ffffff; /* Old browsers */
  background: -moz-linear-gradient(
    top,
    #ffffff 0%,
    #ffffff 50%,
    var(--beige) 50%,
    var(--beige) 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    top,
    #ffffff 0%,
    #ffffff 50%,
    var(--beige) 50%,
    var(--beige) 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #ffffff 50%,
    var(--beige) 50%,
    var(--beige) 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  position: relative;
}

.all_hero h2 {
  font-weight: bold;
  color: var(--green);
  font-size: 52px;
  position: absolute;
  left: 10%;
  top: 10%;
  z-index: 10;
}

.all_hero .slider_inner {
}

.all_hero .slider_inner img {
  width: 67vw;
  min-width: 670px;
  height: 600px;
  object-fit: cover;
  margin-left: auto;
}

.all_hero .slick-slide {
  position: relative;
}

.all_hero h3 {
  width: 340px;
  font-weight: normal;
  position: absolute;
  z-index: 10;
  left: 10%;
  top: 60%;
  font-size: 16px;
  line-height: 1.8;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .all_hero {
    background: linear-gradient(
      to top,
      var(--green) 0%,
      var(--green) 50%,
      var(--beige) 50%,
      var(--beige) 100%
    ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    padding: 1px;
  }
  .all_hero:after {
    content: "Your own way";
    font-size: 45px;
    color: transparent;
    position: absolute;
    bottom: 5px;
    right: 0;
    opacity: 0.5;
    line-height: 1;
    -webkit-text-stroke: 0.5px rgba(255, 255, 255, 0.8);
  }

  .all_hero h2 {
    font-size: 22px;
    width: 90%;
    margin: 20px auto;
    position: static;
  }

  .all_hero .slider_inner img {
    width: 100%;
    min-width: 100%;
    height: 60vw;
    object-fit: cover;
    margin-left: auto;
  }

  .all_hero h3 {
    font-weight: bold;
    font-size: 13px;
    position: relative;
    left: auto;
    top: -40px;
    width: 90%;
    margin: 5px auto;
    background: var(--beige);
    padding: 15px;
  }
}

/**------------------------------ 
all_about
 ------------------------------**/
.all_about {
  padding: 100px 0;
}

.unit01.h-text-img.left {
  padding-right: var(--calc980);
}
.unit01.h-text-img.right {
  padding-left: var(--calc980);
}

.unit01.h-text-img.left figure {
  width: 55%;
  min-width: 500px;
  height: 100%;
  margin-right: 60px;
  text-align: right;
  font-size: 12px;
}

@media screen and (max-width: 768px) {
  .all_about {
    padding: 30px 0;
  }
  .unit01.h-text-img.left figure {
    width: 100%;
    min-width: auto;
    height: auto;
    margin-right: auto;
    text-align: right;
    font-size: 10px;
  }
  .unit01.h-text-img .text{
    min-width:auto;
    width: 90vw;
  }
}

/**------------------------------ 
all_promise
 ------------------------------**/
.all_promise {
  padding: 100px var(--calc980);
}

.unit02 {
  margin-left: auto;
  margin-right: auto;
}
.unit02 li {
  display: flex;
  background: #fff;
  margin: 0 0 40px;
}
.unit02 li figure {
  width: 400px;
  margin-right: 15px;
}
.unit02 li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.unit02 li .text {
  flex: 1;
  padding: 30px;
}
.unit02 li:nth-child(even) {
  flex-flow: row-reverse;
}
.unit02 li:nth-child(even) figure {
  margin-right: 0;
  margin-left: 15px;
}

/**左だけ**/
.unit02.unit02_left li,
.unit02.unit02_left li:nth-child(even) {
  flex-flow: row;
}
.unit02.unit02_left li figure,
.unit02.unit02_left li:nth-child(even) figure {
  margin-left: 0;
  margin-right: 15px;
}

/**右だけ**/
.unit02.unit02_right li,
.unit02.unit02_right li:nth-child(even) {
  flex-flow: row-reverse;
}
.unit02.unit02_right li figure,
.unit02.unit02_right li:nth-child(even) figure {
  margin-right: 0;
  margin-left: 15px;
}

@media screen and (max-width: 768px) {
  .all_promise {
    padding: 40px var(--calc980);
  }

  .unit02 li {
    margin: 0 0 20px;
    flex-flow: column;
  }
  .unit02 li figure {
    width: 100%;
    margin-right: 0;
  }
  .unit02 li figure img {
    width: 100%;
    height: auto;
    object-fit: fill;
  }
  .unit02 li .text {
    flex: 1;
    padding: 20px 15px;
  }
  .unit02 li:nth-child(even) {
    flex-flow: column;
  }
  .unit02 li:nth-child(even) figure {
    margin-right: 0;
    margin-left: 0;
  }
  
  /**左だけ**/
  .unit02.unit02_left li,
  .unit02.unit02_left li:nth-child(even) {
    flex-flow: column;
  }
  .unit02.unit02_left li figure,
  .unit02.unit02_left li:nth-child(even) figure {
    margin-right: 0;
    margin-left: 0;
  }

  /**右だけ**/
  .unit02.unit02_right li,
  .unit02.unit02_right li:nth-child(even) {
    flex-flow: column;
  }
  .unit02.unit02_right li figure,
  .unit02.unit02_right li:nth-child(even) figure {
    margin-right: 0;
    margin-left: 0;
  }
}

/**------------------------------ 
message
 ------------------------------**/
.all_message {
  padding: 80px var(--calc980);
}
.unit03 {
  margin-left: auto;
  margin-right: auto;
}

.unit03.h-text-img figure {
  width: 450px;
  margin-right: 50px;
}

.unit03.waku {
  border: 6px solid var(--green3);
  padding: 40px;
  border-radius: 30px;
  background: #fff;
  position: relative;
}

.unit03.waku em {
  font-family: YuMincho, "Yu Mincho", serif;
  position: absolute;
  top: -45px;
  right: 25px;
  font-size: 40px;
  font-weight: bold;
  display: inline-block;
  padding: 10px;
  border-radius: 50px;
  color: var(--green3);
  letter-spacing: -2px;
  background: #fff;
  transform: rotate(3deg);
  line-height: 1.0;
}

@media screen and (max-width: 768px) {
  .all_message {
    padding: 40px var(--calc980);
  }

  .unit03.h-text-img figure {
    width: 100%;
    margin-right: 0;
  }
  

  .unit03.waku {
    border-width: 4px;
    padding: 15px;
    border-radius: 20px;
  }
  .unit03.waku em {
    top: -30px;
    right: 15px;
    font-size: 24px;
    letter-spacing: 0;
  }
  
}

/**------------------------------ 
service
 ------------------------------**/
.all_service {
  padding: 10px 0;
}

.unit04 {
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.unit04 .fac_name {
  padding: 30px var(--calc980);
  background: var(--green3);
  color: #fff;
  min-height: 200px;
}

.unit04 .fac_name h4 {
  margin: 25px 0 5px;
  width: 580px;
  font-weight: bold;
  font-size: 32px;
}
.unit04 .fac_name p {
  width: 580px;
  font-size: 15px;
}
.unit04 .desc {
  display: flex;
  justify-content: space-between;
  padding-left: var(--calc980);
}

.unit04 .desc figure{
  width: 42vw;
  flex: none;
  margin-left: 50px;
  text-align: right;
  margin-top: -15%;
}

.unit04 .desc dl {
  border: 1px solid var(--black);
  margin: 40px auto 20px;
}
.unit04 .desc dl dt {
  padding: 10px;
  text-align: center;
  font-size: 20px;
  border-bottom: 1px solid var(--black);
}
.unit04 .desc dl dd {
  padding: 20px;
}

.unit04 .boss {
  width: auto;
  margin: 50px var(--calc980);
  padding: 30px;
  background: var(--green2);
}
.unit04 .boss figure {
  width: 440px;
}

.unit04_green .boss .tit03{
  color:var(--green3);
}

.unit04_pink .fac_name {
  background: var(--pink);
}
.unit04_pink .boss {
  background: var(--lpink);
}
.unit04_pink .boss .tit03,
.unit04_pink .btn01 {
  color: var(--pink);
}
.unit04_pink .btn01:hover {
  background: var(--pink);
  color: #fff;
  border-color: var(--pink);
}

.unit04_orange .fac_name {
  background: var(--orange);
}
.unit04_orange .boss {
  background: var(--lorange);
}
.unit04_orange .boss .tit03,
.unit04_orange .btn01 {
  color: var(--orange);
}
.unit04_orange .btn01:hover {
  background: var(--orange);
  color: #fff;
  border-color: var(--orange);
}

@media screen and (max-width: 768px) {
  .unit04 {
  }

  .unit04 .fac_name {
    padding: 30px var(--calc980) 50px;
    min-height: auto;
  }
  
  .unit04 .fac_name h3{
    font-size: 14px;
  }

  .unit04 .fac_name h4 {
    margin: 15px 0 5px;
    width: 100%;
    font-weight: bold;
    font-size: 21px;
  }
  .unit04 .fac_name p {
    width: 100%;
  }
  .unit04 .desc {
    display: flex;
    flex-flow: column-reverse;
    justify-content: space-between;
    padding-left: 0;
  }
  .unit04 .desc figure {
    width: 90%;
    margin: -30px auto 0;
    text-align: center;
  }
  .unit04 .desc dl {
    width: 90%;
    border: 1px solid var(--black);
    margin: 20px auto 20px;
  }
  .unit04 .desc dl dt {
    font-size: 18px;
  }

  .unit04 .boss {
    width: auto;
    margin: 20px var(--calc980);
    padding: 15px;
  }
  .unit04 .boss figure {
    width: 100%;
  }
}

/**------------------------------ 
いつでも見学
 ------------------------------**/
.unit05 {
  background: var(--green);
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding-left: var(--calc980);
}
.unit05 figure {
  width: 50%;
  flex: none;
}
.unit05 figure img {
  width: 100%;
  height: 100%;
  max-height: 500px;
  object-fit: cover;
}

.unit05 .text {
  padding: 40px 40px 40px 0;
}

.unit05.reverse {
  flex-flow: row-reverse;
  background: var(--green3);
  padding-left: 0;
  padding-right: var(--calc980);
}
.unit05.reverse .text {
  padding: 40px 0 40px 40px;
}
.unit05.reverse figure{
  max-height: none;
}
.unit05.reverse.unit05_pink {
  background: var(--pink);
}
.unit05.reverse.unit05_orange {
  background: var(--orange);
}

@media screen and (max-width: 768px) {
  .unit05,
  .unit05.reverse {
    display: flex;
    flex-flow: column;
    padding: 0;
  }
  .unit05 figure {
    width: 100%;
    flex: none;
  }
  .unit05 figure img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: fill;
  }

  .unit05 .text,
  .unit05.reverse .text {
    padding: 30px 4%;
  }
}

/**------------------------------ 
採用
 ------------------------------**/
.unit06 {
  display: flex;
  position: relative;
  padding: 80px var(--calc980);
}
.unit06:before {
  content: "";
  display: block;
  width: 65vw;
  height: 500px;
  background: var(--beige);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.unit06 figure {
  flex: none;
  width: 600px;
  margin: 80px 0 0 40px;
  position: relative;
}
.unit06 figcaption {
  color: var(--green);
  font-size: 136px;
  position: absolute;
  top: -0.7em;
  right: -120px;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .unit06 {
    flex-flow: column-reverse;
    padding: 40px 0;
  }
  .unit06:before {
    content: "";
    display: block;
    width: 80vw;
    height: 90vw;
    background: var(--beige);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }

  .unit06 figure {
    width: 100%;
    margin: 20px auto;
  }
  .unit06 figcaption {
    font-size: 50px;
    top: -0.4em;
    right: 4%;
  }

  .unit06 .text {
    width: 90%;
    margin: 20px auto;
  }
}

/**------------------------------ 
お知らせ
 ------------------------------**/
.unit07 {
  display: flex;
}

.unit07 .tit_left {
  width: 280px;
  flex: none;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  justify-content: space-between;
}
.unit07 .tit_left > * {
  margin-left: 0;
  margin-right: 0;
}

.unit07 > *:last-child {
  flex: 1;
}

.all_news {
  padding: 50px var(--calc980) 100px;
}
.news-list {
  border-top: 1px dotted #989898;
}

.news-list p {
  margin: 10px 0;
  font-size: 15px;
}

.news-list li {
  border-bottom: 1px dotted #989898;
  padding: 15px 0 10px;
}

/**------------------------------ 
会社概要
 ------------------------------**/
.all_company,
.all_history {
  padding: 80px var(--calc980);
}
.com-table {
  border-top: 1px dotted #989898;
}
.com-table table {
  width: 100%;
}
.com-table th,
.com-table td {
  padding: 25px 20px 20px;
  border-bottom: 1px dotted #989898;
  vertical-align: top;
  line-height: 1.5;
}
.com-table th {
  font-weight: bold;
  white-space: nowrap;
  text-align: left;
  position:relative;
}

@media screen and (max-width: 768px) {
  .unit07 {
    display: flex;
    flex-flow: column;
  }

  .unit07 .tit_left {
    width: 100%;
    display: flex;
    flex-flow: row;
    align-items: flex-end;
    justify-content: space-between;
    margin: 0 0 20px;
  }

  .all_news {
    padding: 30px var(--calc980) 50px;
  }

  .news-list {
    border-top: 1px dotted #989898;
  }

  .news-list p {
    margin: 10px 0;
    font-size: 15px;
  }

  .news-list li {
    border-bottom: 1px dotted #989898;
    padding: 15px 0 10px;
  }

  /**------------------------------ 
  会社概要
  ------------------------------**/
  .all_company,
  .all_history {
    padding: 30px var(--calc980) 50px;
  }
  .com-table {
    border-top: 1px dotted #989898;
  }

  .com-table th,
  .com-table td {
    padding: 20px 5px 15px;
    border-bottom: 1px dotted #989898;
    vertical-align: top;
    line-height: 1.5;
    font-size: 14px;
  }
  .com-table th {
    font-weight: bold;
    white-space: nowrap;
    text-align: left;
    position: relative;
  }

  .sp_tate.com-table,
  .sp_tate.com-table table,
  .sp_tate.com-table tbody,
  .sp_tate.com-table tr,
  .sp_tate.com-table th,
  .sp_tate.com-table td {
    display: block;
    width: 100%;
  }
  .sp_tate.com-table th {
    border-bottom: none;
    padding-bottom: 0;
  }
}

/**------------------------------ 
アクセス
 ------------------------------**/
.all_access {
  padding: 50px 0 1px;
}

.all_access figure {
  width: 500px;
}

.gmap iframe {
  display: block;
  width: 100%;
  height: 450px;
}

.unit07 .access-list {
  margin-left: 150px;
}

@media screen and (max-width: 768px) {
  .all_access {
    padding: 20px 0 1px;
  }
  .all_access .h-text-img {
    width: 90%;
  }
  .all_access figure {
    width: 100%;
  }
  .all_access .unit07 {
    width: 90%;
    margin-left: auto;
  }
  .unit07 .access-list {
    margin-left: 0;
    width: 100%;
  }
}

/**------------------------------ 
お電話から
 ------------------------------**/
.all_tel {
  padding: 100px var(--calc980);
}

.unit08 {
  border: 1px solid var(--black);
  padding: 40px;
  text-align: center;
  margin: 50px auto;
}
.unit08 dl {
  margin: 20px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.unit08 dt {
  width: 300px;
  margin-right: 40px;
}
.unit08 img {
  width: 100%;
}

.unit08 em {
  display: block;
  background: var(--black);
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  padding: 5px 30px;
  width: 100%;
  margin: 10px auto;
}

.unit08 a[href^="tel"] {
  font-weight: bold;
  color: var(--green);
  font-size: 32px;
  line-height: 1.5;
}

.unit08 a[href^="tel"]:before {
  content: "\e0b0";
  font-family: "Material Icons Sharp";
  line-height: 1;
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
}

.unit08 a[href^="tel"] p {
  font-size: 14px;
  text-align: center;
  color: var(--black);
}

.unit08 .tel-list {
  margin: 30px auto 0;
}
.unit08 .tel-list li {
  color: #fff;
  padding: 20px 5px;
  background: var(--green3);
}
.unit08 .tel-list .tel_pink {
  background: var(--pink);
}
.unit08 .tel-list .tel_orange {
  background: var(--orange);
}

.unit08 .tel-list li h3 {
  font-size: 16px;
  margin-bottom: 10px;
}
.unit08 .tel-list li a[href^="tel"] {
  font-size: 24px;
  color: #fff;
}

.unit08 .tel-list li p{
  font-size: 14px;
  text-align: center;
}

.all_contact {
  padding: 0 var(--calc980) 80px;
}

@media screen and (max-width: 768px) {
  .all_tel {
    padding: 30px var(--calc980);
  }

  .unit08 {
    padding: 15px;
    margin: 20px auto;
    text-align: left;
  }
  .unit08 dl {
    margin: 20px auto 0;
    display: flex;
    flex-flow: column;
  }
  .unit08 dt {
    width: 150px;
    margin-right: 0;
  }
  .unit08 img {
    width: 100%;
  }

  .unit08 em {
    display: block;
    background: var(--black);
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding: 5px;
    text-align: center;
  }

  .unit08 a[href^="tel"] {
    font-weight: bold;
    color: var(--green);
    font-size: 26px;
    line-height: 1.5;
    margin: 0;
  }

  .unit08 a[href^="tel"]:before {
    content: "\e0b0";
    font-family: "Material Icons Sharp";
    line-height: 1;
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
  }

  .unit08 .tel-list {
    margin: 30px auto 0;
    text-align: center;
  }
  .unit08 .tel-list li {
    color: #fff;
    padding: 10px 5px;
    background: var(--green3);
  }
  .unit08 .tel-list .tel_pink {
    background: var(--pink);
  }

  .unit08 .tel-list li h3 {
    margin-bottom: 5px;
  }
  .unit08 .tel-list li a[href^="tel"] {
    font-size: 24px;
    color: #fff;
  }

  .all_contact {
    padding: 0 var(--calc980) 80px;
  }
}

/**------------------------------ 
施設情報メインタイトル
 ------------------------------**/
.fac_hero {
  padding: 1px calc((100% - 1100px) / 2);
  background: #ffffff; /* Old browsers */
  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #ffffff 340px,
    var(--beige) 340px,
    var(--beige) 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  position: relative;
}
.fac_tit {
  position: relative;
  height: 500px;
  display: flex;
  flex-flow: column;
  padding: 60px;
  justify-content: flex-end;
}
.fac_tit figure,
.fac_tit picture {
  position: absolute;
  top: 0;
  left: 0;
}
.fac_tit img {
  width: 1100px;
  height: 500px;
  object-fit: cover;
}

.fac_tit h2,
.fac_tit h3 {
  position: relative;
  color: #fff;
  font-weight: bold;
  z-index: 5;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2), -2px -2px 5px rgba(0, 0, 0, 0.2),
    2px -2px 5px rgba(0, 0, 0, 0.2), -2px 2px 5px rgba(0, 0, 0, 0.2);
}
.fac_tit h2 {
  font-size: 42px;
  margin-bottom: 30px;
}
.fac_tit h3 {
  font-size: 20px;
}

.fac_hero .text{
  margin: 80px auto 40px;
}
@media screen and (max-width: 768px) {
  .fac_hero {
    padding: 15px 4%;
  }
  .fac_tit {
    padding: 30px 15px;
  }
  .fac_tit img {
    width: 100%;
  }
  .fac_tit h2 {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .fac_tit h3 {
    font-size: 16px;
  }
  .fac_hero .text{
  margin: 40px auto 20px;
}
}

/**------------------------------ 
施設サービス
 ------------------------------**/
.fac_service {
  padding: 80px 0 50px;
}

.unit09 {
}

.unit09 .box3C.center {
  justify-content: center;
}
.unit09 .box3C > * {
  margin: 15px 0;
  width: 30%;
}.unit09 .box3C:after{
  display: none;
}
.unit09 .box3C > *:nth-child(3n-1) {
  margin: 15px 25px;
}

.unit09 figure figcaption {
  background: #646464;
  color: #fff;
  padding: 8px 0;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  margin: 20px auto;
}

.unit09 ul p {
  margin: 10px 0 15px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .fac_service {
    padding: 40px 0 40px;
  }
  .unit09 .box3C.box2C_sp.center {
    justify-content: space-between;
  }
  .unit09 .box3C.box2C_sp > *,
  .unit09 .box3C.box2C_sp:after{
    display: block;
    width: 48%;
    margin: 5px 0;
  }
  .unit09 .box3C.box2C_sp > *:nth-child(3n-1) {
    margin: 5px 0;
  }

  .unit09 .box3C.box1C_sp > *,
  .unit09 .box3C.box1C_sp:after {
    margin: 10px 0;
    width: 100%;
  }
  .unit09 .box3C.box1C_sp > *:nth-child(3n-1) {
    margin: 10px 0;
  }

  .unit09 figure figcaption {
    padding: 5px 0;
    font-size: 14px;
    margin: 15px auto;
  }
}

/**------------------------------ 
ながれ
 ------------------------------**/
.unit10 {
  max-width: 980px;
  margin: 80px auto;
  position: relative;
}
.unit10 li {
  position: relative;
  padding-top: 42px;
  padding-left: 180px;
  counter-increment: li;
  min-height: 140px;
}
.unit10 li em {
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  border: 6px solid var(--lgreen3);
  background: #fff;
  color: var(--green3);
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  font-size: 20px;
}
.unit10 li em:after {
  display: block;
  content: counter(li);
  font-size: 32px;
  font-weight: bold;
  line-height: 1.3;
}

.unit10 li:after {
  content: "";
  width: 2px;
  height: 100%;
  background: var(--lgreen3);
  position: absolute;
  bottom: -50px;
  left: 60px;
  z-index: 1;
}
.unit10 li:last-child:after {
  display: none;
}

.unit10 li h3 {
  color: var(--green3);
  font-size: 28px;
  margin-bottom: 15px;
  font-weight: bold;
}
.unit10 li > div {
  line-height: 2;
  border-bottom: 2px solid #ddd;
  padding-bottom: 20px;
}

.unit10 ol:after {
  content: "";
  width: 92px;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}

.unit10.unit10_pink li em {
  border-color: var(--lpink2);
  color: var(--pink);
}
.unit10.unit10_pink li:after {
  background: var(--lpink2);
}
.unit10.unit10_pink li h3 {
  color: var(--pink);
}
.unit10.unit10_orange li em {
  border-color: var(--lorange2);
  color: var(--orange);
}
.unit10.unit10_orange li:after {
  background: var(--lorange2);
}
.unit10.unit10_orange li h3 {
  color: var(--orange);
}

@media screen and (max-width: 768px) {
  .unit10 {
    margin: 30px auto;
    width: 90%;
  }
  .unit10 ol {
    margin: 30px auto;
  }
  .unit10 li {
    position: relative;
    padding-top: 30px;
    padding-left: 90px;
    counter-increment: li;
    min-height: 100px;
  }
  .unit10 li:first-child {
    padding-top: 20px;
  }
  .unit10 li em {
    width: 80px;
    height: 80px;
    font-size: 18px;
    border-width: 4px;
    top: 0;
    left: -5px;
    line-height: 1.1;
  }
  .unit10 li em:after {
    font-size: 26px;
    line-height: 1.1;
  }
  .unit10 li:after {
    left: 35px;
  }
  .unit10 li h3 {
    font-size: 20px;
  }
  .unit10 li  > div {
    padding-bottom: 15px;
    font-size: 14px;
  }

  .unit10 ol:after {
    width: 30px;
  }
}


/**------------------------------ 
こんなかた 
 ------------------------------**/
.unit11 {
  background: #fff;
  padding: 30px 50px;
  max-width: 980px;
  margin: 20px auto;
  text-align: center;
  box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.05);
}
.unit11 ul {
  display: inline-block;
}
.unit11 li {
  display: flex;
  font-size: 24px;
  font-weight: bold;
  margin: 15px 0;
  text-align: left;
}
.unit11 li:before {
  content: "\e86c";
  font-family: "Material Icons Sharp";
  display: block;
  margin-right: 15px;
  font-size: 1.4em;
  color: var(--green);
  line-height: 1;
  margin-top:5px;
}

.unit11 .liner {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(40%, transparent),
    color-stop(0%, #fff98f)
  );
  background: linear-gradient(transparent 40%, #fff98f 0%);
}
.unit11.unit11_orange li:before{
  color: var(--orange);
}
.unit11.unit11_pink li:before{
  color: var(--pink);
}
@media screen and (max-width: 768px) {
  .unit11 {
    background: #fff;
    padding: 15px;
    max-width: 90%;
    margin: 10px auto;
    text-align: left;
  }
  .unit11 li {
    display: block;
    font-size: 18px;
    margin: 15px 0;
    padding: 0 0 0 35px;
    position: relative;
    line-height: 1.3;
  }
  .unit11 li:before {
    position: absolute;
    top: 0;
    left: 0;
  }
}


/**------------------------------ 
スケジュール
 ------------------------------**/
.unit12{
  max-width: 980px;
  margin: 50px auto 80px;
  display:flex;
  justify-content: space-between;
}
.unit12 ol {
  position: relative;
}
.unit12 li {
  position: relative;
  padding-top: 20px;
  padding-left: 150px;
  padding-bottom: 50px;
}
.unit12 li em {
  width: 120px;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  border: 6px solid var(--lgreen3);
  background: #fff;
  color: var(--green3);
  border-radius: 50%;
  position: absolute;
  top: -20px;
  left: 0;
  z-index: 5;
  font-size: 20px;
  line-height: 1;
  text-align: center;
}
.unit12 li:after {
  content: "";
  width: 2px;
  height: 100%;
  background: var(--lgreen3);
  position: absolute;
  bottom: -50px;
  left: 60px;
  z-index: 1;
}
.unit12 li:last-child:after {
  display: none;
}

.unit12 li h3 {
  color: var(--green3);
  font-size: 22px;
  margin-bottom: 15px;
  font-weight: bold;
}
.unit12 li > div {
  line-height: 2;
  border-bottom: 1px dashed #ddd;
  padding-bottom: 30px;
}

.unit12 ol:after {
  content: "";
  width: 92px;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}

.unit12 figure {
  width: 45%;
  margin: 20px 0 0;
}

.unit12.unit12_pink li em {
  border-color: var(--lpink2);
  color: var(--pink);
}
.unit12.unit12_pink li:after {
  background: var(--lpink2);
}
.unit12.unit12_pink li h3 {
  color: var(--pink);
}
.unit12.unit12_orange li em {
  border-color: var(--lorange2);
  color: var(--orange);
}
.unit12.unit12_orange li:after {
  background: var(--lorange2);
}
.unit12.unit12_orange li h3 {
  color: var(--orange);
}

.unit12 figure{
  width:400px;
  flex:none;
  margin-left:15px ;
}
.unit12 figure img{
  margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
  .unit12 {
    margin: 20px auto 40px;
    width: 100%;
    flex-flow: column;
  }
  .unit12 li {
    position: relative;
    padding-top: 30px;
    padding-left: 90px;
    padding-bottom: 0;
    counter-increment: li;
  }
  .unit12 li:first-child {
    padding-top: 20px;
  }
  .unit12 li em {
    width: 80px;
    height: 80px;
    font-size: 16px;
    border-width: 4px;
    top: 0;
    left: -5px;
    line-height: 1.1;
  }
  .unit12 li em:after {
    font-size: 26px;
    line-height: 1.1;
  }
  .unit12 li:after {
    left: 35px;
  }
  .unit12 li h3 {
    font-size: 18px;
  }
  .unit12 li > div {
    padding-bottom: 30px;
    font-size: 14px;
  }
  .unit12 figure {
    width: 100%;
    margin: 10px 0;
  }

  .unit12 ol:after {
    width: 30px;
  }
  
  .unit12 figure{
    width:100%;
    flex:none;
    margin:15px 0;
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
  }
  .unit12 figure img{
    width:48%;
    
  }

}

/**------------------------------ 
施設コンバージョン
 ------------------------------**/
.fac_aside {
  background: var(--green3);
  padding: 50px var(--calc980);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fac_aside.aside_pink {
  background: var(--pink);
}
.fac_aside.aside_orange {
  background: var(--orange);
}
.fac_aside a[href^="tel"] {
  font-size: 42px;
  color: #fff;
  font-weight: bold;
}
.fac_aside a[href^="tel"] p {
  font-size: 14px;
  font-weight: normal;
  text-align: center;
}
.fac_aside a[href^="tel"]:before {
  content: "\e0b0";
  font-family: "Material Icons Sharp";
  line-height: 1;
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .fac_aside {
    padding: 10px 4% 20px;
    flex-flow: column;
  }
  .fac_aside a[href^="tel"] {
    font-size: 32px;
    line-height: 1.3;
    margin: 10px auto 20px;
  }
}


/* -------------------------------------
カテゴリボタン
-------------------------------------*/
.catBtn {
  display: flex;
  flex-wrap: wrap;
  margin: 25px auto;

  justify-content: center;
  padding: 20px var(--calc980);
}
.catBtn a {
  position: relative;
  display: block;
  margin: 15px 1%;
  padding: 15px 40px 15px 20px;
  min-width: 8em;
  border: 1px solid var(--green);
  background: #fff;
  color: var(--green);
  text-align: center;
  font-weight: bold;
  border-radius: 50px;
  width: 31%;
  font-size: 10px;
}
.catBtn a small {
  display: block;
}
.catBtn a:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 10px;
  content: "\e5c8";
  font-family: "Material Icons Sharp";
}
.catBtn a:hover {
  background: var(--green);
  color: #fff;
}

@media screen and (max-width: 768px) {
  .catBtn {
    display: flex;
    margin: 20px auto;
    width: 100%;

    flex-wrap: wrap;
    justify-content: space-between;
  }
  .catBtn a {
    margin: 0 0 8px;
    padding: 10px 20px 10px 10px;
    min-width: 8em;
    width: 49%;
  }
}

/* -------------------------------------
パンくず
-------------------------------------*/
#breadcrumb {
  width: 100%;
  font-size: 11px;
  color: #aaa;
  margin: 10px 0 0;
  padding: 5px var(--calc980);
}

/*家アイコン*/
#breadcrumb ul {
  margin: 0 auto;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

#breadcrumb ul:before {
  display: inline-block;
  content: "\e88a";
  vertical-align: middle;
  font-size: 14px;
  font-family: "Material Icons sharp";
  line-height: 1;
}

#breadcrumb ul li {
  display: inline-block;
  padding: 0 3px;
}

#breadcrumb ul li + li:before {
  content: "\e5cc";
  display: inline-block;
  margin: 0 3px;
  font-family: "Material Icons sharp";
  line-height: 1;
  vertical-align: middle;
}

#breadcrumb a {
}

#breadcrumb a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  #breadcrumb {
    padding: 10px 2%;
    margin: 40px 0 0;
  }

  #breadcrumb ul {
    padding: 0 2%;
  }
}

/* -------------------------------------
ページャー
-------------------------------------*/
.pagenation {
  margin: 30px auto;
  text-align: center;
}

.pagenation span {
  display: inline-block;
  margin: 5px;
  width: 20px;
  height: 40px;
  text-align: center;
  line-height: 38px;
}

.pagenation span.current{
  color: var(--green);
}

.pagenation span a {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--white);
  color: var(--dblue);
}

.pagenation span a:hover {
  color: var(--green);
}

.pagenation .prev.current,
.pagenation .next.current{
  visibility : hidden;
}

@media screen and (max-width: 768px) {
  .pagenation span {
    margin: 3px;
    width: 20px;
    height: 30px;
    line-height: 27px;
  }
}
/*widget:9c3758a9-dd4f-4117-a214-5d3a7254822f*/[data-lib="1"] h1 span a i{display: inline-block;}[data-instance="95"]{background-image:url(/_img/ja/cms/95/bg/___/session/);}/*widget:d89643a7-5145-470d-9f63-22a944ceeeeb*/[data-lib="227"]{padding: 0 1em;}[data-lib="227"] #breadcrumb ol{display:-webkit-box;
	display:-ms-flexbox;
	display:flex;}[data-lib="227"] #breadcrumb li{margin-right: 1em;
	position: relative;}[data-lib="227"] #breadcrumb li:nth-of-type(n+2):before{content: "＞";}[data-lib="227"] #breadcrumb a{color: inherit;
	text-decoration: underline;}/*widget:60fea956-1669-422e-a51b-dc4c8b77ec4e*/[data-lib="125"] section{padding: 50px 0;
	width: 980px;
	margin: 0 auto;}[data-lib="125"] .category{display: flex;
	justify-content: center;
	font-size: 10px;
	line-height: 1.0;
	align-items: center;
	margin: 20px auto;}[data-lib="125"] .fixnum{margin-bottom: 30px;}[data-lib="125"] figure{border: 1px solid #f1f1f1;
	padding: 20px;
	text-align: center;}[data-lib="125"] figure img{display: block;
	margin: 0 auto;}[data-lib="125"] .youtube{width: 90%;
	margin: 20px auto;}[data-lib="125"] .richtext{margin: 50px 5%;}[data-lib="125"] .container{width: 768px;}@media screen and (max-width: 768px){[data-lib="125"] section{width: 90%;
	padding: 20px 0 50px;}[data-lib="125"]{padding: 0;}[data-lib="125"] figure{border: 1px solid #f1f1f1;
	padding: 8px;
	text-align: center;}[data-lib="125"] h2{font-size: 1.3em;}[data-lib="125"] .entry-content{padding: 15px;
	margin: 20px auto;
	width:100%;}[data-lib="125"] .entry-content dt{margin: 0 auto 10px;}[data-lib="125"] .richtext{margin: 20px auto;}[data-lib="125"] .youtube{width: 100%;}[data-lib="125"] .fixnum h3{font-size: 1.2em;
	padding: 10px 0;}}