@charset "utf-8";

/* ==================================================
bgGradation
================================================== */
#bgGradation { border-top: 2.1rem solid #fff;
background-color: var(--grade-end-color);
background: -moz-linear-gradient(top left, var(--grade-start-color) 0%, var(--grade-end-color) 100%);
background: -webkit-gradient(linear, left top, right bottom, from(var(--grade-start-color)), to(var(--grade-end-color)));
background: -webkit-linear-gradient(top left, var(--grade-start-color) 0%, var(--grade-end-color) 100%);
background: -o-linear-gradient(top left, var(--grade-start-color) 0%, var(--grade-end-color) 100%);
background: -ms-linear-gradient(top left, var(--grade-start-color) 0%, var(--grade-end-color) 100%);
background: linear-gradient(to bottom right, var(--grade-start-color) 0%, var(--grade-end-color) 100%); }
@media screen and (min-width: 768px){
	#bgGradation { border-top: 4.375rem solid #fff; }
}
#bgGradation > .section:first-of-type { margin-top: -2.1rem; }
@media screen and (min-width: 768px){
	#bgGradation > .section:first-of-type { margin-top: -4.375rem; }
}

/* ==================================================
.section
================================================== */
.section { text-align: left; padding: 3rem 0; }
.section:after { content: ""; display: block; clear: both; }
.section h1 { font-size: 1.8rem; font-weight: 700; margin-bottom: 1.85rem }
.section h2 { font-size: 1.6rem; font-weight: 700; line-height: 1.4; margin-bottom: 1.85rem; }
.section h3 { font-size: 1.14rem; font-weight: 700; margin-bottom: .5em; }
.section h4 { font-size: 1rem; font-weight: 700; margin: .5rem 0; }
@media screen and (min-width: 768px){
	.section { text-align: left; padding: 5rem 0; }
	.section h1 { font-size: 3.75rem; margin-bottom: 3.5rem }
	.section h2 { font-size: 2rem; margin-bottom: 3rem; }
	#service .section h2 { text-align: center; }
}
.section .lead { text-align: center; margin-bottom: 3em; }
.section .align-left   { text-align: left; }
.section .align-right  { text-align: right; }
.section .align-center { text-align: center; margin: 0 auto; display: block; }
.section .float-left,
.section .float-right { width: 100%; margin: 0 auto 1em; }
@media screen and (min-width: 1025px){
	.section .float-left  { float: left;  width: 33%; margin: 0 1em 1em 0; }
	.section .float-right { float: right; width: 33%; margin: 0 0 1em 1em; }
}
.section picture { display: block; width: 100%; }
.section picture img { display: block; width: 100%; }

.section .more { text-align: center; }
.section .more a { display: block; padding: .4rem 0; border: 1px solid #ccc; border-radius: 3rem; }
.section .more a span { position: relative; display: inline-block; padding-left: 1.5rem; vertical-align: middle; text-decoration: none; }
.section .more a span::before { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; content: ""; vertical-align: middle;  left: 3px; width: 4px; height: 4px; border-top: 2px solid #333; border-right: 2px solid #333; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
@media screen and (min-width: 1025px){
	.section .more a { display: inline-block; padding: .4rem 8rem; }
	.section .more a span { position: relative; display: inline-block; padding-left: 1.5rem; vertical-align: middle; text-decoration: none; }
}

/* ==================================================
list
================================================== */
.section .list li,
.section .blog li { display: block; margin-bottom: 1.42rem; }
.section .blog li { border-radius: 5px; box-shadow: 0 0 10px -1px hsl(217deg 50% 22% / 10%); overflow: hidden; } /* 20211123追加 */
.section .list li a,
.section .blog li a { display: flex; justify-content: space-between; align-items: flex-start; }
.section .list li a > img,
.section .blog li a > img { width: 37%; }
.section .list li a > span,
.section .blog li a > span { width: 56%; display: inline-flex; flex-wrap: wrap; }
.section .blog li a > span { padding: 5px 10px 0 10px; }
.section .list li a > span span,
.section .blog li a > span span { color: #666; font-size: .71rem; line-height: 1.4; }
@media screen and (min-width: 768px){
	.section .list,
	.section .blog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3%;}
	.section .blog li { box-sizing: border-box; box-shadow: 0 0 6px -1px hsl(217deg 50% 22% / 10%); border: 0.5px solid #ebebeb; transition: all 0.352s ease-out; } /* 20211228追加 */
  /* 
	.section .blog li:hover { box-shadow: 0 0 17px -7px hsl(225deg 25% 22% / 50%); transform: translateY(-5px); transition: all 0.2s ease-in; }  20211228追加 */
  .section .blog li:hover { box-shadow: 0 7px 54px -27px hsl(225deg 60% 20% / 30%); transform: translateY(-10px); transition: all 0.35s ease;}
  .section .blog li a:hover { opacity:1; }
	.section .list li:nth-of-type(3n+1),
	.section .blog li:nth-of-type(3n+1) { margin-left: 0; }
	.section .list li a,
	.section .blog li a { display: block; }
	.section .list li a > .imgTrim,
	.section .blog li a > .imgTrim,
	.section .list li a > .imgTrim img,
	.section .blog li a > .imgTrim img,
	.section .list li a > img,
	.section .blog li a > img,
	.section .list li a > span,
	.section .blog li a > span { display: block; width: 100%; }
	.section .list li a > img,
	.section .blog li a > img { margin-bottom: .5rem; }
	.section .list li a > span em,
	.section .blog li a > span em { display: block; margin-bottom: .3rem; }
	/* サービス一覧 項目ホバー時エフェクト 20211124 */
	.section .list li a > span em:after { content:""; display: block; width: 0%; border-bottom: 3px solid #00A897; margin-top: -3px; transition: all 0.25s ease-in-out; }
	.section .list li:hover a > span em:after { width: 100%; transition: all 0.25s ease-in-out; }
	.section .list li a[href*="syurou_keizoku_a"] > span em:after, .section .list li a[href*="syurou_keizoku_type_b"] > span em:after { border-color: #0075B9; }
	.section .list li a[href*="syurou_keizoku_b"] > span em:after, .section .list li a[href*="jiritsu_shien"] > span em:after { border-color: #F5A116; }
	.section .list li a[href*="afterschool"] > span em:after { border-color: #E6666B; }
	.section .list li a[href*="grouphome"] > span em:after { border-color: #8EA7B2; }
	/* -------------------------------------------- */
}
.section .blog li a > span .date { display: block; order: 1; }
/* .section .blog li a > span .category,
.section .blog li a > span .tag span { display: inline-block; background: #E3E3E3; padding: .1rem .5rem; margin: 0 .5rem .2rem 0; } */
.section .blog li a > span .category,
.section .blog li a > span .tag span { display: inline-block; background: #E3E3E3; padding: .2rem .5rem .1rem .5rem; margin: 0 .5rem .2rem 0; border-radius: 3rem; } /* 20211228追加 */

/* カテゴリ別色分け 20220610 */
.section .blog li a > span .category, #categoryNav ul > li > a { background-color: #00A897; color: white;}
.section .blog li a > span .category[data-category-slug*="advance"] { background-color: #0075B9; }
.section .blog li a > span .category[data-category-slug*="wands-j"] { background-color: #E6666B; }
.section .blog li a > span .category[data-category-slug*="wands-alpha"] { background-color: #F5A116; }
.section .blog li a > span .category[data-category-slug*="grouphome"] { background-color: #8EA7B2; }
.section .blog li a > span .category[data-category-slug*="bridge"] { background-color: #9FC238; }


.section .blog li a > span .date,
.section .blog li a > span .tag span { margin: 0 .5rem .2rem 0; }
.section .blog li a > span .tag span:before { content: "#"; }
.section .blog li a > span .category { order: 2; }
.section .blog li a > span .tag { display: inline-block; order: 3; }
.section .blog li a > span em { display: block; order: 4; line-height: 1.5; font-weight: 400; width: 100%; }
@media screen and (min-width: 768px){
	.section .blog li a > span .date { display: inline-block; }
	.section .blog li a > span .tag span { background: transparent; padding: 0; }
	.section .blog li a > span em { font-weight: 700; }
}
.imgTrim { position: relative; overflow: hidden; padding-top: 24%; width: 37%; }
.imgTrim img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; object-fit: cover; }
@media screen and (min-width: 768px){
	.imgTrim { padding-top: 60%; width: 100%; }
}

ol { line-height: 1.6; list-style-type: decimal; margin: 0 0 1.5em 1.8em; }
ol li { margin-bottom: 3px; }

ul.normal { line-height: 1.6; list-style-type: none; margin-bottom: 1em; }
ul.normal li { position: relative; padding: 0 0 0 1em; margin-bottom: 3px; background: none; }
ul.normal li:before { content:'・'; position: absolute; border-radius: 0; top: 0; left: 0; width: 1em; height: 1em; background: none; }
ul.normal.small { font-size: 12px; line-height: 1.6; }

ul.disc { line-height: 1.6; list-style-type: none; margin-bottom: 1em; }
ul.disc li { position: relative; padding: 0 0 0 1em; margin-bottom: 3px; background: none; }
ul.disc li:before { content:'●'; position: absolute; border-radius: 0; top: 0; left: 0; width: 1em; height: 1em; background: none; }

ul.astarisk { font-size: 13px; line-height: 1.6; list-style-type: none; margin-bottom: 1em; }
ul.astarisk li { position: relative; padding: 0 0 0 1em; margin-bottom: 3px; background: none; }
ul.astarisk li:before { content:'※'; position: absolute; border-radius: 0; top: 0; left: 0; width: 1em; height: 1em; background: none; }


.lead .label { display: inline-block; margin-bottom: 1rem; padding: .1rem .8rem; color: var(--primary-color); background: #fff; border: 1px solid var(--primary-color); border-radius: 3rem; text-transform: uppercase; font-family: 'Fjalla One', sans-serif; letter-spacing: .2rem; margin-right: -.2em; }
.lead h2 { font-size: 1.57rem; font-weight: 700; margin-bottom: 2.2rem; }
@media screen and (min-width: 768px){
	.lead .inner { position: relative; width: 92%; max-width: 92%; margin: 0 4%; }
	.lead .label { position: absolute; top: 0; left: 0; display: block; transform:rotate(90deg); transform-origin: 1.25rem 1.2rem; margin-bottom: 0; }
	.lead .data { display: block; width: 80%; margin: 0 auto; }
}
@media screen and (min-width: 1025px){
	.lead .label { transform-origin: 1.75rem 1.8rem; }
	.lead .data { width: 87%; margin: .5rem 0 0 13%; }
	.lead h1 { padding-top: 1rem; }

}

/* ==================================================
article
================================================== */
.article { margin-bottom: 30px; }
.article:after { content: ""; display: block; clear: both; }
.article img { display: block; max-width: 100%; /*margin: 0 auto 40px;*/ }
@media screen and (min-width: 1025px){
	.article { width: 100%; margin-bottom: 90px; }
}

/* ==================================================
HOME
================================================== */
#home #bgGradation { margin-bottom: 1rem; }
@media screen and (min-width: 768px){
	#home #bgGradation { margin-bottom: 3rem !important; }
}
@media screen and (min-width: 1025px){
	#home #bgGradation { margin-bottom: 6rem !important; }
}
#keyVisual { padding: 0; }
#keyVisual img { width: 100%; }
#keyVisualTxt { margin: 0 7%; }
#keyVisualTxt h2 { font-size: 1.7rem; line-height: 1.48; font-weight: 700; }
#keyVisualTxt h2 span { position: relative; z-index: 1; }
#keyVisualTxt h2 span:before { content: ""; position: absolute; width: 100%; height: .476rem; bottom: 0; background: #ff0; z-index: -1; }
@media screen and (min-width: 768px){
	
	/* #keyVisual { position: relative; height: 0; padding-top: 65%; padding-bottom: 0; } ↓keyVisual表示高調節 20220303 */
	#keyVisual { position: relative; height: 0; padding-top: 60%; padding-bottom: 0; }
	#keyVisual img { position: absolute; width: 100%; height: auto; top: 0; left: 0; }
	#keyVisualTxt { position: absolute; /*width: 100%;*/ top: 15%; margin: 0 3.5%; }
	#keyVisualTxt h2 { font-size: 2.2rem; }
	#keyVisualTxt p { font-size: .85rem; line-height: 2; font-weight: 700; }
}
@media screen and (min-width: 1025px){
	#keyVisual { height: 0; padding-top: 58%; }
	/* #keyVisualTxt { margin: 0 10%; } ↓1025px時の表示位置修正 20220301 */
	#keyVisualTxt { margin: 0 10%; top: 12.5%; }
	#keyVisualTxt h2 { font-size: 3.7rem; margin-bottom: 1rem; text-align: left; }
	#keyVisualTxt p { font-size: 1.125rem; }
}
@media screen and (min-width: 1280px) {
	#keyVisual { padding-top: 50%; } 
}

/*message*/
@media screen and (min-width: 1025px){
	#home #message { padding: 0; }
	#home #message .data { display: flex; justify-content: space-between; align-items: flex-start; width: 89%; margin: .5rem 0 0 11%; /*width: 94%; margin: .5rem 0 0 6%;*/ }
	#home #message .data div { width: 37.5%; }
	#home #message .data img { width: 56.25%; margin-bottom: -3rem; }
}

/*service*/
#home #service { padding-top: 5rem; background: url("../img/treat01.svg") no-repeat 5% 1rem; background-size: 3.05rem; }
@media screen and (min-width: 768px){
	#home #service { padding-top: 5rem; background-position: 15% 0; background-size: 5rem; }
}
@media screen and (min-width: 1025px){
	#home #service { padding-top: 8rem; background-position: 18% 0; background-size: 7.8rem; }
}

/*blog*/
#home #blog { padding: 0; margin-bottom: 3rem; background: url("../img/treat02.svg") no-repeat 92% 1rem; background-size: 6rem; }
@media screen and (min-width: 768px){
	#home #blog { background-position: 92% 0; background-size: 7.34rem; }
}
@media screen and (min-width: 1025px){
	#home #blog .data { padding-right: 16%; box-sizing: border-box }
}

/*access*/
#home #access { padding: 0; margin-bottom: 3rem; background: url("../img/treat03.svg") no-repeat 8rem 0; background-size: 2.4rem; }
/* Addition */ #home #access .inner .data .ggmap { min-height: 320px; } /* 埋め込みマップ表示高調節 */
@media screen and (min-width: 768px){
	#home #access { margin-bottom: 5rem; background-position: 13rem 0; }
	/* Addition */ #home #access .inner .data .ggmap { min-height:0 } /* 埋め込みマップ表示高調節 */
}
@media screen and (min-width: 1025px){
	#home #access { margin-bottom: 8rem; background-position: 23rem 0; }
	/* #home #access .inner { width: 96%; max-width: 96%; margin: 0 0 0 4%; box-sizing: border-box; } ↓埋め込みマップ表示幅調節（#home #main .innerのmax-widthを参照） */
	#home #access .inner { width: 96%; margin: 0 0 0 4%; box-sizing: border-box; }
}


/* ==================================================
service_____common
================================================== */
#bgRound { background: url("../img/service/roundTOP.png") no-repeat; background-size: 100%; margin-top: -10%; padding-top: 10%; }
@media screen and (min-width: 768px){
	#bgRound { margin-top: -20%; padding-top: 10%; }
}
#bgRound .section:first-of-type { padding-top: 1.5rem; }

/*heading*/
#heading { padding: 75% 0 0; background-repeat: no-repeat; background-position: 50% 17%, 100% 0; background-size: 100%, 93%; }
#heading .inner { max-width: 92%; }
#heading h1 { font-size: 1.6rem; line-height: 1.48; font-weight: 700; margin-bottom: .3rem; }
#heading h1 span { display: block; font-size: .75rem; font-weight: 400; color: #666; }
#heading img { width: 21%; margin-bottom: 1rem; margin-bottom: 3rem; }
@media screen and (min-width: 768px){
	#heading { padding: 7rem 0 0 !important; background-position: 100% 100%, 100% 0; background-size: 50%; }
	/*#heading .inner { width: 92%; margin: 0  3.5%; }*/
	#heading h1 { font-size: 3rem; }
	#heading img { width: 10%; margin-bottom: 1rem; }
	#heading p { width: 45%; font-size: 1rem; font-weight: 400; margin: 0; padding-bottom: 1.5rem; background: url("../img/service/treat_tb2.png") no-repeat 100% 100%; background-size: 100%; }
}
@media screen and (min-width: 1025px){
	#heading { padding: 8rem 0 9rem !important; box-sizing: border-box; background-position: 100% 100%, 100% 0; background-size: 50%; }
	/*#heading .inner { width: 86%; margin: 0 10%; }*/
	#heading img { margin-bottom: 3rem; }
	#heading p { width: 40%; background: transparent; }
}
/*service_____heading */
#syurou_ikou #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/syurou_ikou/keyVisual.jpg"); }
#syurou_ikou_test #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/syurou_ikou/keyVisual.jpg"); }
#syurou_keizoku_a #heading, #syurou_keizoku_a_2 #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/syurou_keizoku_a/keyVisual.jpg"); }
#syurou_keizoku_b #heading, #syurou_keizoku_b_2nd #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/syurou_keizoku_b/keyVisual.jpg"); }
#syurou_keizoku_type_b #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/syurou_keizoku_b/keyVisual.jpg"); } /* Type-B */
#jiritsu_shien #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/jiritsu_shien/keyVisual.jpg"); }
#syurou_teichaku #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/syurou_teichaku/keyVisual.jpg"); }
#afterschool #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/afterschool/keyVisual.jpg"); }
#afterschool-2 #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/afterschool/keyVisual.jpg"); }
#soudan #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/soudan/keyVisual.jpg"); }
#rework #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/rework/keyVisual.jpg"); }
#grouphome #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/grouphome/keyVisual.jpg"); }
#sentaku_shien #heading { background-image: url("../img/service/treat_sp.png"), url("../img/service/syurou_teichaku/keyVisual.jpg"); }
@media screen and (min-width: 768px){
	#syurou_ikou #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/syurou_ikou/keyVisual.jpg"); }
	#syurou_ikou_test #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/syurou_ikou/keyVisual.jpg"); }
	#syurou_keizoku_a #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/syurou_keizoku_a/keyVisual.jpg"); }
	#syurou_keizoku_b #heading, #syurou_keizoku_b_2nd #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/syurou_keizoku_b/keyVisual.jpg"); }
	#syurou_keizoku_type_b #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/syurou_keizoku_b/keyVisual.jpg"); } /* Type-B */
	#jiritsu_shien #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/jiritsu_shien/keyVisual.jpg"); }
	#syurou_teichaku #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/syurou_teichaku/keyVisual.jpg"); }
	#afterschool #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/afterschool/keyVisual.jpg"); }
	#afterschool-2 #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/afterschool/keyVisual.jpg"); }
	#soudan #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/soudan/keyVisual.jpg"); }
	#rework #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/rework/keyVisual.jpg"),; }
	#grouphome #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/grouphome/keyVisual.jpg"); }
  #sentaku_shien #heading { background-image: url("../img/service/treat_tb.png"), url("../img/service/syurou_teichaku/keyVisual.jpg"); }
}
@media screen and (min-width: 1025px){
  #syurou_ikou #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/syurou_ikou/keyVisual.jpg"); }
	#syurou_ikou_test #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/syurou_ikou/keyVisual.jpg"); }
	#syurou_keizoku_a #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/syurou_keizoku_a/keyVisual.jpg"); }
	#syurou_keizoku_b #heading, #syurou_keizoku_b_2nd #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/syurou_keizoku_b/keyVisual.jpg"); }
	#syurou_keizoku_type_b #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/syurou_keizoku_b/keyVisual.jpg"); } /* Type-B */
	#jiritsu_shien #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/jiritsu_shien/keyVisual.jpg"); }
	#syurou_teichaku #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/syurou_teichaku/keyVisual.jpg"); }
	#afterschool #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/afterschool/keyVisual.jpg"); }
	#afterschool-2 #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/afterschool/keyVisual.jpg"); }
	#soudan #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/soudan/keyVisual.jpg"); }
	#rework #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/rework/keyVisual.jpg"); }
	#grouphome #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/grouphome/keyVisual.jpg"); }
  #sentaku_shien #heading { background-image: url("../img/service/treat_pc.png"), url("../img/service/syurou_teichaku/keyVisual.jpg"); }
}
p.lnk a { position: relative; display: inline-block; padding-left: 1rem; font-weight: 700; margin: 0; }
p.lnk a::before { position: absolute; content: ""; vertical-align: middle; }
p.lnk a::before { top: .75rem; left: 0; width: 4px; height: 4px; border-top: 2px solid #000; border-right: 2px solid #000; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
p.lnk a span { display: inline-block; margin-left: .5rem; font-size: .81rem; line-height: 1.2; font-weight: 400; padding: .3rem .5rem; color: #fff; background: #F15A24; }

/*hero*/
#hero { padding: 0; }
#hero > img { width: 100%; margin-bottom: 1rem; }
#hero .data h1 { font-size: 1.6rem; line-height: 1.48; font-weight: 700; margin-bottom: .3rem; }
#hero .data img { width: 21%; margin-bottom: 1rem; margin-bottom: 3rem; }
@media screen and (min-width: 768px){
	#hero { position: relative; padding-top: 55%; }
	#hero > img { position: absolute; width: 50%; top: 0; right: 0; }
	#hero .heroTxt { position: absolute; width: 100%; top: 25%; }
	#hero .data h1 { font-size: 3rem; }
	#hero .data h1 span { display: block; font-size: .75rem; font-weight: 400; color: #666; }
	#hero .data img { width: 10%; margin-bottom: 1rem; }
	#hero .data p { width: 45%; font-size: 1rem; font-weight: 400; }
}
@media screen and (min-width: 1025px){
	#hero { padding-top: 45%; }
	#hero .heroTxt { top: 21%; }
	#hero .inner { max-width: 92%; }
	#hero .data img { margin-bottom: 3rem; }
	#hero .data p { width: 40%; }
}

body.parent-pageid-3 #main .section h2 { text-align: center; }
body.parent-pageid-3 #main .lead h2 { text-align: left; }



/*trouble*/
#trouble { width: 96%; padding-bottom: 18%; margin: 0 auto; }
#trouble .inner { padding: 1.5rem 1rem 1rem; background: #fff; box-shadow: 3px 3px 0 0 rgba(0,0,0,.2); text-align: center; box-sizing: border-box; }
#trouble h2 { font-size: 1.2rem; line-height: 1.5; font-weight: 700; }
#trouble svg { display: block; width: 30%; max-width: 160px; margin: 1rem auto; fill: var(--primary-color); }
#trouble ul { margin-left: 2rem; text-align: left; display: inline-block; }
#trouble ul li { position: relative; font-size: .92rem; font-weight: 700; margin-bottom: .5rem; }
#trouble ul li::after { content: ''; display: block; position: absolute; top: .6em; left: -1.5em; width: 10px; height: 5px; border-left: 2px solid; border-bottom: 2px solid; border-color: #F15A24; transform: rotate(-45deg); }
@media screen and (min-width: 768px){
	#trouble { padding: 2.2rem 0 25%; background: url("../img/service/treat_tb3.png") no-repeat 0 0; background-size: 100%; }
	#trouble .inner { padding: 2rem; }
	#trouble h2 { text-align: left; font-size: 1.875rem; }
	#trouble .inner > div { display: flex; flex-wrap: wrap; justify-content: space-between; }
	#trouble svg { width: 30%; order: 2; }
	#trouble ul { width: 63%; order: 1; margin-left: 2rem; }
	#trouble ul li { font-size: 1.25rem; margin-bottom: .7rem; }
	#trouble ul li::after { top: .3em; left: -1.5em; width: 17px; height: 10px; }
}
@media screen and (min-width: 1025px){
	#trouble { background: url("../img/service/treat_pc2.png") no-repeat 0 0; }
}

/*merit*/
#merit .inner { counter-reset: number 0; }
#merit h2 { margin-bottom: 3rem; }
#merit h2 span { color: #F15A24; }
#merit .feature { position: relative; margin-bottom: 3rem; counter-increment: number 1; }
#merit .feature:after { content: "0" counter(number); position: absolute; top: .5rem; left: 70%; font-size: 5rem; font-weight: 400; line-height: 1; color: #F15A24; opacity: .2; font-family: 'Fjalla One', sans-serif; }
#merit .feature h3 { width: 100%; font-size: 1.3rem; line-height: 1.45; padding-bottom: 1.64rem; }
#merit .feature h3:before { content: "特徴その" counter(number); display: block; font-size: .857rem; font-weight: 400; color: #F15A24; }
@media screen and (min-width: 768px){
	#merit .feature { display: flex; flex-wrap: nowrap; justify-content: space-between; }
	#merit .feature:after { left: 44%; font-size: 6.25rem; }
	#merit .featureTxt { width: 55%; }
	#merit .featureIMG { width: 40%; }
	#merit .feature h3 { font-size: 1.56rem; padding-bottom: 1rem; }
	#merit .feature h3:before { font-size: 1.2rem; }
}

/*facility*/

/*gallery*/
#gallery .inner { max-width: 544px; margin: 0 auto; }
@media screen and (min-width: 768px){
	#gallery .inner { max-width: 700px; }
}
.swiper { position: relative; }
@media screen and (min-width: 768px){
	.swiper { padding: 0 5rem; }
}
.swiper-container { width: 100%; margin: 0 auto; overflow: hidden; list-style: none; padding: 0; /* Fix of Webkit flickering */ z-index: 1; }
.swiper-wrapper { position: relative; width: 100%; height: 100%; margin: 0 auto; z-index: 1; display: flex; transition-property: transform; box-sizing: content-box; transform: translate3d(0px, 0, 0); }
.swiper-container-pointer-events { touch-action: pan-y; }
.swiper-slide { flex-shrink: 0; width: 100%; height: 100%; position: relative; transition-property: transform; text-align: center; }
.swiper-button-prev,
.swiper-button-next { text-indent: -999rem; border: 1px solid #ccc; background: #fff; position: absolute; top: 50%; width: 40px; height: 40px; margin-top: -20px; z-index: 10; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.swiper-button-prev:after,
.swiper-button-next:after { content: ''; left: 3px; width: 4px; height: 4px; border-top: 2px solid #333; border-right: 2px solid #333; z-index: 20; }
.swiper-button-prev:after { -webkit-transform: rotate(225deg); transform: rotate(225deg); }
.swiper-button-next:after { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.swiper-button-prev { left: 0; }
.swiper-button-next { right: 0; }
.swiper-slide img { object-fit: cover; max-height: 50vh; } /* 画像表示高調節 20220817 */

/*voice*/
#voice { background: var(--secondary-color); }
#voice .inner { max-width: 920px; }
#voice ul li { display: flex; flex-wrap: wrap; margin-bottom: 2rem; }
#voice ul li:last-of-type { margin-bottom: 0; }
#voice ul li svg { order: 2; width: 18%; fill: var(--primary-color); }
#voice ul li span { order: 1; position: relative; display: block; width: 100%; background: #fff; padding: 1rem; margin-bottom: .5rem; }
#voice ul li span:before,
#voice ul li span:after { position: absolute; content: ""; }
#voice ul li span:after { width: 0; height: 0; border: solid transparent; border-top-width: 1.42rem; border-bottom-width: 0; border-left-width: 0; border-right-width: 1.42rem; margin-left: -1.42rem; border-top-color: #fff; top: 100%; left: 25%; }
@media screen and (min-width: 768px){
	#voice ul li { flex-wrap: nowrap; justify-content: space-between; }
	#voice ul li svg { order: 1; width: 12%; height: 111px; }
	#voice ul li span { order: 2; width: 77%; }
	#voice ul li span:after { /*width: 0; height: 0; border: solid transparent;*/ border-top-width: 1.12rem; border-bottom-width: 0; border-left-width: 1.12rem; border-right-width: 0; margin-left: -1.12rem; border-top-color: #fff; right: 100%; left: 0; top: 30%; }
}

/*overview*/
#overview .inner { max-width: 1312px; }
#overview .overviewTxt { background: #fff; }
#overview .overviewTxt h3 { margin: 2rem 0 1.42rem; }
#overview .overviewTxt ol { display: flex; flex-direction: column; gap: 1rem; font-weight: 700; }
/* #overview dl { display: flex; flex-wrap: wrap; }
#overview dl dt { width: 6rem; font-weight: 700; }
#overview dl dd { width: calc( 100% - 6rem ); } */
@media screen and (min-width: 768px){
	#overview .overview { margin-bottom: 1.43rem; }
	#overview .overview > picture > img { position: relative; z-index: -1; }
	#overview .overviewTxt { width: 70%; margin-top: -2rem; padding: 1.5rem; }
	#overview .overview:nth-of-type(odd) .overviewTxt { margin-left: 20%; }
	#overview .overviewTxt h3:first-of-type { margin-top: 0; }
}
@media screen and (min-width: 1025px){
	#overview .overview > picture > img { width: 73%; }
	body.syurou_ikou #overview .overview > picture > img { width: 92%; }
	#overview .overview:nth-of-type(even) img { margin-left: 8%; }
	#overview .overviewTxt { margin-top: -7.6875rem; }
}
/*faq*/
#faq { background: #F2F2F2; }
#faq dl { border-top: 1px solid #B3B3B3; counter-reset: number 0; }
#faq dl dt { line-height: 1.14rem; font-weight: 700; padding: 1.5rem 0 .5rem; padding-left: 2.5rem; text-indent: -2.5rem; vertical-align: top; }
#faq dl dt:before { counter-increment: number 1; content: "Q" counter(number); font-family: 'Crimson Text', serif; font-size: 1.785rem; line-height: 1; font-weight: 600; text-indent: 0; margin-right: .5rem; }
#faq dl dd { padding: 0 0 1rem 2.5rem; border-bottom: 1px solid #B3B3B3; }

/*procedure*/
#procedure .inner { max-width: 738px; }
#procedure dl dt { font-weight: 700; color: #fff; padding: .8rem; background: var(--primary-color); }
#procedure dl dd { display: flex; }
#procedure dl dd:before { content: ""; width: 20px; background: #E6E6E6; margin: 0 1rem; }
#procedure dl dd:last-of-type:before { background: transparent; }
#procedure dl dd span { width: calc(100% - 20px - 2rem); font-size: .85rem; padding: 1rem 0 1.5rem 0; }
#procedure dl dd span small { display: block; line-height: 1.8; }
@media screen and (min-width: 768px){
	#procedure dl { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
	#procedure dl:before { position: absolute; left: calc(15% - 10px); top: 0; content: ""; width: 20px; height: 100%; background: #E6E6E6; margin: 0; z-index: -1; }
	#procedure dl dt { width: 30%; margin-bottom: 40px; font-size: 1.125rem; font-weight: 400; text-align: center; padding: .8rem 0; }
	#procedure dl dd { width: 65%; padding: 0; margin-bottom: 40px; }
	#procedure dl dd:before { display: none; }
	#procedure dl dd span { width: 100%; font-size: 1rem; padding: 0; }
	#procedure dl dt:last-of-type,
	#procedure dl dd:last-of-type { margin-bottom: 0; }
}

/*blog*/
#service #blog .inner { max-width: 992px; }

/* ==================================================
business
================================================== */
#business #localNav { display: none; }
@media screen and (min-width: 768px){
	#business #localNav { display: block; margin-top: 3rem; }
	#business #localNav a { position: relative; display: inline-block; margin: 0 .3rem; padding-left : 1rem; }
	#business #localNav a::before { position: absolute; top: 0; bottom: 0; left: 0; margin: auto; content: ""; vertical-align: middle; width: 4px; height: 4px; border-top: 1px solid #333; border-right: 1px solid #333; -webkit-transform: rotate(135deg); transform: rotate(135deg); }
}
@media screen and (min-width: 1025px){
	#business #localNav { display: block; margin-top: 5rem; }
}
@media screen and (min-width: 768px) and (max-width:1024px){
	#business #companies,
	#business #medical,
	#business #welfare,
	#business #school,
	#business #government { padding-top: 100px; margin-top: -100px; padding: 3rem 0; }
}
@media screen and (min-width: 768px){
	#business .section { text-align: left; }
}


/* ==================================================
recruit
================================================== */
#recruit #job h2 { margin-bottom: 1.5rem; }
#recruit dl { padding: .8rem 0; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; margin-top: -1px; }
#recruit dl dt { font-weight: 700; }
#recruit dl dd:last-of-type { text-align: right; }
#recruit dl dd span:last-of-type:before  { content: "／"; }
#recruit dl dd a { display: inline-block; padding: .5rem; color: #fff; background: #F15A24; text-align: center; }
@media screen and (min-width: 1025px){
	#recruit dl { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
	#recruit dl dt { width: 20%; font-weight: 700; }
	#recruit dl dd:first-of-type { width: 60%; }
	#recruit dl dd:last-of-type { width: 20%; text-align: right; }
	#recruit dl dd:first-of-type { width: 60%; display: flex;justify-content: space-between; align-items: center; }
	#recruit dl dd span:first-of-type { width: 90%; }
	#recruit dl dd span:last-of-type  { width: 10%; }
	#recruit dl dd span:last-of-type:before { display: none; }
}



/* ==================================================
contact
================================================== */
#contact dl { margin: 1.5rem 0; }
#contact dl dt { font-weight: 700; margin-bottom: .5rem; }
#contact dl dt span { display: inline-block; margin-left: .5rem; padding: .2rem; font-size: .6875rem; line-height: 1.2; color: #fff; background: #F15A24; }
#contact dl dd { margin-bottom: 1.5rem; }
@media screen and (min-width: 768px){
	#contact dl { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 3rem 0; }
	#contact dl dt { width: 20%; font-weight: 400; }
	#contact dl dd { width: 80%; }
	#contact dl dd span:first-of-type { width: 40%; }
	#contact dl dd span:last-of-type  { width: 60%; }
	#contact dl dd span:last-of-type:before { display: none; }
}
#contact #privacyTxt { margin: 1.5rem auto; }
@media screen and (min-width: 768px){
	#contact #privacyTxt { margin: 3rem auto; text-align: center; }
}
#contact #privacyBox { margin-bottom: 1.5rem; padding: .3rem; border: 1px solid #707070; }
#contact #privacyBox > div { height: 9.5rem; overflow-y: scroll; padding: 1rem; }
#contact #privacyBox > div p { line-height: 2; }
@media screen and (min-width: 768px){
	#contact #privacyBox { margin-bottom: 5rem; }
	#contact #privacyBox > div { padding: 3rem; }

}

#contact #footer .inner:first-of-type { display: none; }
#contact #copyright { display: block; text-align: center; }

/* ==================================================
form
================================================== */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="tel"],
input[type="serch"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="range"],
input[type="color"],
input[type="file"],
input[type="image"],
textarea,
select,
label { font-size: 1rem; line-height: 1.5; }
@media screen and (min-width: 768px){
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="tel"],
	input[type="serch"],
	input[type="url"],
	input[type="password"],
	input[type="number"],
	input[type="range"],
	input[type="color"],
	input[type="file"],
	input[type="image"],
	textarea,
	select,
	label { font-size: 1.2rem; line-height: 1.5; }
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="tel"],
input[type="serch"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="range"],
input[type="color"],
input[type="file"],
input[type="image"],
textarea,
select { padding: .8rem; }
label { margin-right: 1rem; }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="tel"],
input[type="serch"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="range"],
input[type="color"],
input[type="file"],
input[type="image"],
textarea { width: 100%; background: #F2F2F2; border: 0; box-sizing: border-box; }
textarea { height: 8rem; }
.selectBox { position: relative; overflow: hidden; width: 100%; margin: 0 auto; border: 1px solid rgba(0,0,0,.1); background: #fff; box-sizing: border-box; }
.selectBox select { width: 100%; padding-left: 1rem; color: #000; cursor: pointer; text-indent: 0.01px; text-overflow: ellipsis; border: none; outline: none; background: transparent; background-image: none; box-shadow: none; -webkit-appearance: none; appearance: none; }
.selectBox select::-ms-expand { display: none; }
.selectBox::before { position: absolute; top: 40%; right: 1rem; width: 6px; height: 6px; padding: 0; content: ''; border-top: 1px solid #CECECE; border-right: 1px solid #CECECE; pointer-events: none; transform: rotate(135deg); }
label.checkbox { cursor: pointer; overflow: hidden; position: relative; padding-left: 1.3rem; display: inline-block; box-sizing: border-box; height: 1.3rem; }
label.checkbox:before { content: ''; position: absolute; width: .8rem; height: .8rem; left: 0; top: .3rem; border: 1px solid #E6E3C6; z-index: 3; }
label.checkbox:after { content: ''; position: absolute; top: 40%; left: 3px; display: block; margin-top: -3px; width: .3rem; height: .5rem; border-right: 3px solid #D6D3B6; border-bottom: 3px solid #D6D3B6; transform: rotate(45deg); -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); z-index: 1; }
label.checkbox input[type="checkbox"] { appearance: none; position: absolute; left: -40px; width: 20px; height: 20px; display: block; box-shadow: 41px 0 #FFF; z-index: 2; margin: 0; padding: 0; }
label.checkbox input[type="checkbox"]:checked { box-shadow : none; }
label.checkbox input[type="checkbox"]:checked:focus { opacity: 0.1; }

.formBtn { text-align: center; margin: 2rem 0; }
input[type="submit"],
input[type="button"] { font-size: 1.2rem; color: #fff; width: 100%; padding: 1rem 0; border: 0; cursor: pointer; border: 1px solid #00A897; background: #00A897; box-sizing: border-box; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; }
input[type="submit"]:hover,
input[type="button"]:hover { background: #fff; }
input[type="submit"] { background: #00A897; }
input[type="button"] { background: #fff; border-color: #00A897; }
input[type="submit"]:hover { color: #fff; background: #00A897; }
input[type="button"]:hover { color: #fff; }
@media screen and (min-width: 768px){
	input[type="submit"],
	input[type="button"] { padding: 1.5rem 0; }
}

/* ==================================================
blog
================================================== */
/*
#categoryNav ul {  }
#categoryNav ul li { display: inline-block; margin: 0 .5rem .5rem 0; }
#categoryNav ul li { margin: 0.25rem 1rem 0.25rem 0; }
#categoryNav ul li a { display: block; padding: .3rem; font-size: .75rem; line-height: 1.2; background: #E6E6E6; }
*/
#categoryNav ul { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: start; gap: 0.5rem; }
#categoryNav ul li a { display: block; padding: .6rem; font-size: .8rem; line-height: 1.2; background: #E6E6E6; border-radius: 3rem; }
#categoryNav ul > li > a { background-color: #00A897; color: white;}
#categoryNav ul > li.cat-item-9 > a, #categoryNav ul > li.cat-item-60 > a { background-color: #F5A116; }
#categoryNav ul > li.cat-item-47 > a { background-color: #9FC238; }
#categoryNav ul > li.cat-item-12 > a { background-color: #0075B9; }
#categoryNav ul > li.cat-item-15 > a, #categoryNav ul > li.cat-item-57 > a { background-color: #E6666B; }
#categoryNav ul > li.cat-item-31 > a { background-color: #8EA7B2; }

.wp-pagenavi { text-align: center; margin-top: 3rem; text-transform: uppercase; font-family: 'Montserrat', sans-serif; }
.wp-pagenavi a,
.wp-pagenavi span { display: inline-block; margin: 0 .2rem; padding: .5rem; border: 1px solid #ccc; width: 1.8rem; height: 1.8rem; line-height: 1.8rem; font-weight: bold; border-radius: 2rem; }
.wp-pagenavi a:hover,
.wp-pagenavi span { color: #fff; background: #333; }
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink { position: relative; text-indent: -999rem; }
.wp-pagenavi a.previouspostslink { margin-right: .5rem; }
.wp-pagenavi a.nextpostslink { margin-left:  .5rem; }
.wp-pagenavi a.previouspostslink::before,
.wp-pagenavi a.nextpostslink::before { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; content: ""; vertical-align: middle; width: 6px; height: 6px; border-top: 2px solid #333; border-right: 2px solid #333; }
.wp-pagenavi a.previouspostslink:hover::before,
.wp-pagenavi a.nextpostslink:hover::before { border-color: #fff; }
.wp-pagenavi a.previouspostslink::before { -webkit-transform: rotate(225deg); transform: rotate(225deg); }
.wp-pagenavi a.nextpostslink::before { -webkit-transform: rotate(45deg);  transform: rotate(45deg);  }
@media screen and (min-width: 768px){
	.wp-pagenavi a.previouspostslink { margin-right: 1.5rem; }
	.wp-pagenavi a.nextpostslink { margin-left: 1.5rem; }
}

/*post*/
#post > img { display: block; width: 86%; max-width: 928px; margin: 0 auto 1.5rem; }
#post h1 { font-size: 1.57rem; line-height: 2rem; font-weight: 700; margin-bottom: 1.85rem; }
#post h2 { font-size: 1.42rem; line-height: 2rem; font-weight: 700; margin: 2rem 0 1.5rem; }
#post .postMeta time { font-size: .85rem; margin-right: 1rem; }
#post .postMeta span { display: inline-block; }
#post .postMeta span a { display: inline-block; padding: .1rem .5rem; font-size: .7rem; line-height: 1.8; background: #E6E6E6; margin: 0 .5rem .5rem 0; }
#post .postTag { margin-bottom: .5rem; }
#post .postTag a { color: #666; margin: 0 .5rem .5rem 0; }
#post .postTag a:before { content: "#"; }
#post .postSNS { margin-bottom: 1rem; }
#post .postSNS ul { text-align: right; }
#post .postSNS ul li { display: inline-block; margin-left: .5rem; }
#post .postBody { word-break: break-all; }
#post .postBody img { display: block; margin: 1rem auto; }
@media screen and (min-width: 768px){
	#post > img { margin: 0 auto 2rem; }
	#post h1 { font-size: 2rem; line-height: 2rem; font-weight: 700; margin-bottom: 1.85rem; }
	#post .postSNS { margin-bottom: 3rem; }
}

.postNav { text-align: center; margin-top: 3rem; text-transform: uppercase; font-family: 'Montserrat', sans-serif; }
.postNav a { display: inline-block; padding: .4rem 2rem; border: 1px solid #ccc; margin: 0 .3rem; border-radius: 2rem; }
.postNav a span { position: relative; }
.postNav a span.prev { padding-left : 1rem; }
.postNav a span.next { padding-right:  1rem; }
.postNav a span.prev::before,
.postNav a span.next::before { position: absolute; top: 0; bottom: 0; margin: auto; content: ""; vertical-align: middle; width: 6px; height: 6px; border-top: 2px solid #333; border-right: 2px solid #333; }
.postNav a:hover { color: #fff; background: #333; }
.postNav a:hover span.prev::before,
.postNav a:hover span.next::before { border-color: #fff; }
.postNav a span.prev::before { left:  0; -webkit-transform: rotate(225deg); transform: rotate(225deg); }
.postNav a span.next::before { right: 0; -webkit-transform: rotate(45deg);  transform: rotate(45deg);  }
@media screen and (min-width: 768px){
	.postNav { margin-top: 5rem; }
	.postNav a { padding: .4rem 4rem; margin: 0 1rem; }
}

br.break-sp {
  display: none;
}
@media screen and (max-width: 480px) {
  br.break-sp {
    display: inline;
  }
}