@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Text&display=swap');

/*--------------------------------

  overwrite

---------------------------------*/
@media only screen and (min-width: 769px), print {
	/*.noSide #main > .mainLayout { width: 100%; }
	#main > .mainLayout > *:first-child { width: 1080px; margin: 0 auto 30px; }*/
	#globalFooter { margin-top: 0; }
	.noSide #main > .mainLayout + .mainLayout { margin-top: 0; }
	#topicPath { margin-bottom: 25px; }
}

@media only screen and (max-width: 768px) {
	/* body { padding-top: 70px; } */
	/*#main > .mainLayout > *:first-child { padding: 10px; margin: 0; }
	#main > .mainLayout { padding: 0; }
	#spGnavBlock { width: 100%; }
	#globalHeader { display: flex; position: static !important; width: 100%; }
	#globalContents { margin-top: 0 !important; }*/
}




/*--------------------------------

	common

---------------------------------*/
body { width: 100%; }
body.js__fixed { position: fixed; overflow: hidden; }

#spGnavBlock { width: 100%; }
#page_contents { background-color: #EAE4D4; min-width: 1080px; color: #000; font-family: 'Noto Sans JP', sans-serif; font-weight: 300; }
#page_contents a,
#page_contents a:link,
#page_contents a:visited { color: #00743f; }
#page_contents img { max-width: 100%; }
.page_contentsInner { width: 1080px; margin: 0 auto; overflow: hidden; }

@media only screen and (max-width: 768px) {
	#page_contents { min-width: auto; padding-top: 0; }
	.page_contentsInner { width: auto; }
}

@media only screen and (max-width: 1024px) {}


/* globalHeader
--------------------------------*/
#globalHeader { transition: top .5s ease !important; width: 100%; top: 0; background-color: #fff; z-index: 21;position: fixed; }
#globalHeader.js__on { top: -107px; }

@media only screen and (max-width: 768px) {
	#globalHeader.js__on { top: -70px; }
}


/*
	#page_gnav
--------------------------------*/
#page_gnav { position: fixed; z-index: 2; width: 100%; height: 58px; background-color: #fff; top: -58px; left: 0; box-shadow: 0 0 3px 1px rgba(0,0,0,0.3); transition: top .5s ease; font-family: 'Noto Sans JP', sans-serif; font-weight: 500; }
#page_gnav .inner { display: flex; justify-content: space-between; width: 1080px; height: 58px; margin: auto; }
#page_gnav.js__on { top: 0; }

#page_gnav .link { width: 100%; height: 58px; display: flex; align-items: center; justify-content: center; flex-direction: column; padding-top: 5px; }
#page_gnav .link a { font-size: 15px; color: #007048; border: #007048 solid 1px; padding: .15em 2.3em .15em 3.1em; border-radius: 30px; margin-bottom: 1px; }
#page_gnav .link a span { font-size: 13px; margin-left: 1em; display: inline-block; transform: translateY(-0.3vw); }
#page_gnav .link small { font-size: 12px; color: #007048; }

@media only screen and (max-width: 768px) {
	#page_gnav { display: block; }
	#page_gnav .inner { width: 100%; }
	/* #page_gnav .link a:visited { color: #007048; } */
}


/* #page_contents
--------------------------------------------------------- */
#page_contents { position: relative; overflow: hidden; background-color: #fff; }
#page_contents .inner { max-width: 1142px; margin: auto; }
#page_contents small { font-weight: 300; }
body.no_touch #page_contents a:hover { opacity: unset; }

@media only screen and (max-width: 768px) {
	#page_contents .inner { max-width: 86.6vw; }
}

/* .page_hero
--------------------------------------------------------- */
.page_hero { position: relative; height: 675px; }
.page_hero .kv { width: 859px; height: auto; position: absolute; top: 61px; left: calc(50% - 226px); }
.page_hero .title { font-size: 27.5px; line-height: 2.93; letter-spacing: 14.3px; padding-top: 48px; margin-left: 40px; position: relative; }
.page_hero .logo { width: 183px; height: auto; position: absolute; bottom: 65px; left: 40px; }
.page_hero .circle { width: 182px; height: 182px; position: absolute; top: 33px; right: 45px; border: #007048 solid 1px; display: flex; align-items: center; justify-content: center; border-radius: 100%; text-align: center; }
.page_hero .circle p { font-size: 30px; line-height: 1.2; color: #007048; margin: 0; }
.text_large { font-size: 1.6em; }

@media only screen and (max-width: 768px) {
	.page_hero { height: 133.33vw; margin: 0 calc(-1 * ((100vw - 100%) / 2)); }
	.page_hero { overflow: hidden; }
	.page_hero .kv { width: 100%; top: 11.6vw; left: 0; }
	.page_hero .title { padding-top: 6vw; margin: 0 0 0 6.6vw; font-size: 3.6vw; line-height: 2.4; letter-spacing: 1.8vw; }
	.page_hero .circle { width: 29.6vw; height: 29.6vw; top: 4.6vw; right: 5vw; }
	.page_hero .circle p { font-size: 5vw; }
	.page_hero .logo { width: 83.4vw; bottom: 12.5vw; left: 8vw; }
}

/* .page_line
--------------------------------------------------------- */
.page_line { background-color: #52aa32; color: #fff; position: relative; }
.page_line .inner { position: relative; }
.page_line:before { content: ""; width: calc(50% + 100px); height: 100%; display: block; position: absolute; top: 0; left: -100px; background-color: #75bb5b; transform: skew(-33deg); }
.page_line ul { display: flex; flex-wrap: wrap; position: relative; margin: 0; }
.page_line li { width: 50%; position: relative; display: flex; align-items: flex-end; justify-content: center; }
.page_line li p { margin: 0; padding: 8px 0 23px; font-size: 20px; line-height: 1; }
.page_line li p .head { display: inline-block; transform: translateY(-2px); }
.page_line li p .large { font-size: 30px; margin-left: 20px; }

@media only screen and (max-width: 768px) {
	#page_contents .page_line .inner  { max-width: 100%; }
	.page_line:before { display: none; }
	.page_line li p { width: 100%; padding: 6.2vw 0 5vw; }
	.page_line li p .head { font-size: 3.6vw; display: block; position: absolute; bottom: 7vw; text-align: center; width: 100%; transform: translateY(-4.6vw);  letter-spacing: 0; }
	.page_line li p .large { font-size: 4.93vw; display: block; margin-left: 0; text-align: center; width: 100%; letter-spacing: .15em; }
}

/* .page_nav
--------------------------------------------------------- */
.page_nav { padding: 36px 0 100px; }
.page_nav ul { display: flex; justify-content: space-between; max-width: 900px; margin: 0 auto; }
.page_nav li { width: 100%; max-width: 144px; }
.page_nav li a { font-family: 'Red Hat Text', sans-serif; font-size: 21px; display: block; border: #007048 solid 1px; width: 100%; padding: .4em 0; text-align: center; border-radius: 9px; }
body.no_touch #page_contents .page_nav li a { transition: opacity .5s ease; }
body.no_touch #page_contents .page_nav li a:hover { opacity: 0.5; }
.page_nav li:nth-of-type(1) a { letter-spacing: 2.2px; }
.page_nav li:nth-of-type(2) a { letter-spacing: 3.52px; }
.page_nav li:nth-of-type(3) a {  }
.page_nav li:nth-of-type(4) a { letter-spacing: 3.52px; }
.page_nav li:nth-of-type(5) a { letter-spacing: 1.76px; }
.page_nav li:nth-of-type(6) a { letter-spacing: 1.76px; }

@media only screen and (max-width: 768px) {
	.page_nav { padding: 9.8vw 0 13.3vw; }
	.page_nav ul { flex-wrap: wrap; }
	.page_nav li { width: 27.5vw; margin-bottom: 2.2vw; }
	.page_nav li a { font-size: 4.26vw; border: #007048 solid 1px; border-radius: 4px; padding: 0.5em 0; }
}

/* .page_section
--------------------------------------------------------- */
#page_contents .page_section { position: relative; }
#page_contents .page_section p { font-size: 18px; }
#page_contents .page_section .inner { max-width: 900px; }
#page_contents .page_section .title { color: #75bb5b; text-align: center; line-height: 1; margin-bottom: 38px; }
#page_contents .page_section .title img { margin-right: 17px; }
#page_contents .page_section .title .en { font-size: 50px; display: inline-block; font-family: 'Red Hat Text', sans-serif; transform: translateX(-26px); }
#page_contents .page_section .title .ja { font-size: 20px; display: inline-block; margin-top: .7em; letter-spacing: 5.2px; }

@media only screen and (max-width: 768px) {
	#page_contents .page_section p { font-size: 4.26vw; letter-spacing: 0.1em; }
	#page_contents .page_section .inner { width: 86.6vw; }
	#page_contents .page_section .title { margin-bottom: 5vw; }
	#page_contents .page_section .title img { width: 8.9vw; margin-right: 4.1vw; }
	#page_contents .page_section .title .en { font-size: 10.6vw; transform: translateX(-5.3vw); }
	#page_contents .page_section .title .ja { font-size: 4.26vw; }
}

/* #concept
--------------------------------------------------------- */
#concept { padding: 40px 0 58px; }
#concept .desc { line-height: 3; letter-spacing: 9px; }
#concept .illust { position: absolute; bottom: 0; left: 50%; transform: translateX(193px); }

@media only screen and (max-width: 768px) {
	#concept { padding: 14vw 0 30vw; }
	#concept p.desc { margin-top: 0; font-size: 4.26vw; letter-spacing: 0.05em; }
	#concept .illust { width: 91vw; left: 60%; bottom: 11vw; transform: translateX(0); }
}


/* #plan
--------------------------------------------------------- */
#plan { padding: 40px 0; }
#plan h3 { font-size: 32px; line-height: 1; }
#plan .title .en { letter-spacing: 7px; }
#plan .desc { line-height: 2.33; letter-spacing: 2.14px; }
.plan_wrap { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 38px; }
.plan1, .plan2, .plan3 { width: 270px; }
#plan ul { margin-top: 10px; }
#plan ul li { margin-bottom: 16px; }
#plan ul a { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; }
body.no_touch #plan ul a { transition: opacity .5s ease; }
body.no_touch #plan ul a:hover { opacity: 0.5; }
.plan1 h3 { color: #32a078; }
.plan2 h3 { color: #b48c28; }
.plan3 h3 { color: #788278; }
#plan .plan1 a, #plan .plan2 a, #plan .plan3 a { color: #fff; }
.plan1 a { background-color: #32a078; }
.plan2 a { background-color: #b48c28; }
.plan3 a { background-color: #788278; }
#plan .text_large {  }
#plan .type { margin-left: 32px; font-family: 'Red Hat Text', sans-serif; font-size: 18px; letter-spacing: 1px; padding: .2em 0; }
#plan .wide { border-left: #fff solid 1px; margin-right: 6px; padding-left: 6px; font-size: 18px; padding-top: .4em; padding-bottom: .4em; }

@media only screen and (max-width: 768px) {
	#plan { padding: 14vw 0 6vw; }
	#plan p.desc { margin-top: 0; line-height: 1.9; letter-spacing: 0.05em; }
	#plan h3 { font-size: 12vw; line-height: 1; }
	.plan1, .plan2, .plan3 { width: 100%; margin-bottom: 5vw; }
	#plan .type { font-size: 7.4vw; margin-left: 10.5vw; }
	#plan .text_large { font-size: 1.2em; }
	#plan .wide { font-size: 5.2vw; margin-right: 2.5vw; padding-left: 2.1vw; }
	#plan ul { margin-top: 3vw; }
	#plan ul li { margin-bottom: 5.6vw; }
}


/* #equipment
--------------------------------------------------------- */
#equipment { padding: 40px 0; text-align: center; }
#page_contents #equipment.page_section .title .en { letter-spacing: 2px; transform: translateX(-17px); }
#equipment .desc { line-height: 1.89; letter-spacing: 2.14px; }
#equipment ul { display: flex; flex-wrap: wrap; justify-content: flex-start; }
#equipment li { width: 47%; max-width: 284px; height: 70px; margin-bottom: 20px; margin-right: 24px; }
#equipment li:nth-child(3n) { margin-right: 0; }
#equipment li a { display: block; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background-color: #00743f; position: relative; }
#equipment li a span.bg { display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-image: url(../img/equipment_bg01.png); background-size: cover; background-position: 0 50%; transition: .5s ease; }
#equipment li:nth-of-type(1) a span.bg { background-image: url(../img/equipment_bg01.png); }
#equipment li:nth-of-type(2) a span.bg { background-image: url(../img/equipment_bg02.png); }
#equipment li:nth-of-type(3) a span.bg { background-image: url(../img/equipment_bg03.png); }
#equipment li:nth-of-type(4) a span.bg { background-image: url(../img/equipment_bg04.png); }
#equipment li:nth-of-type(5) a span.bg { background-image: url(../img/equipment_bg05.png); background-position: 0 0; }
#equipment li:nth-of-type(6) a span.bg { background-image: url(../img/equipment_bg06.png); background-position: 0 100%; }
#equipment li:nth-of-type(7) a span.bg { background-image: url(../img/equipment_bg07.png); }
#equipment li:nth-of-type(8) a span.bg { background-image: url(../img/equipment_bg08.png); }
#equipment li:nth-of-type(9) a span.bg { background-image: url(../img/equipment_bg09.png); }
body.no_touch #equipment li a:hover span.bg { opacity: 0.5; }
#equipment a span { font-size: 21px; color: #fff; line-height: 1.17; }
#equipment a span.en { font-family: 'Red Hat Text', sans-serif; font-size: 24px; letter-spacing: .05em; }
#equipment a span.en, #equipment a span.ja { position: relative; }

@media only screen and (max-width: 768px) {
	#page_contents #equipment.page_section .title .en { transform: translateX(-3vw); }
	#equipment { padding: 14vw 0 13vw; }
	#equipment p.desc { letter-spacing: 0.05em; text-align: left; }
	#equipment ul { margin-top: 7vw; justify-content: space-between; }
	#equipment li { margin-bottom: 4vw; max-width: unset;  height: 25vw; margin-right: 0; }
	#equipment li:nth-child(3n) { margin-right: 0; }
	#equipment li:last-child { width: 100%; max-width: 100%; }
	#equipment a span { font-size: 5.4vw; }
	#equipment a span.en { font-size: 6.2vw; line-height: 1.1; letter-spacing: 0.05em; }
}



/* #access
--------------------------------------------------------- */
#access { padding: 40px 0; }
#access .title .en { letter-spacing: 3px; }
#access .desc { line-height: 2.17; letter-spacing: 1.78px; }
#access .text { display: flex; justify-content: space-between; margin-bottom: 42px; }
#access .text_l { width: 381px; }
#access .text_r { width: 502px; }
#access .text_l ul { display: flex; background-color: #52aa32; color: #fff; width: 100%; overflow: hidden; position: relative; margin-bottom: 20px; }
#access .text_l ul:before { content: ""; width: calc(50% + 100px); height: 100%; display: block; position: absolute; top: 0; left: -100px; background-color: #75bb5b; transform: skew(-20deg); }
#access .text_l ul li { width: 50%; position: relative; }
#access .text_l ul li p { margin: 7px 0 0; padding-left: 14px; font-family: 'Red Hat Text', 'Noto Sans JP', sans-serif; }
#access .text_l ul li .head { display: block; line-height: 1; font-size: 15px; }
#access .text_l ul li .body { display: block; line-height: 1; font-size: 22px; margin-top: -4px; transform: translateY(-6px); }
#access .text_l small { line-height: 1.93; letter-spacing: 1.11px; }
#access .access_line { margin: 36px auto 17px; }

@media only screen and (max-width: 768px) {
	#access { padding: 14vw 0 19vw; }
	#access p.desc { margin-top: 0; line-height: 1.56; }
	#access .text { flex-direction: column; margin-bottom: 8vw; }
	#access .text_l ul { margin-bottom: 2.8vw; }
	#access .text_l, #access .text_r { width: 100%; }
	#access .text_l ul li p { margin: 1.9vw 0 0; padding-left: 4vw; }
	#access .text_l ul li .head { font-size: 3.4vw; }
	#access .text_l ul li .body { font-size: 5.1vw; margin-top: -0.8vw; letter-spacing: 0; transform: translateY(-1.2vw); }
	#access .text_l ul li .body .made { font-size: 4vw; letter-spacing: 0; }
	#access .text_l small { margin-top: 5vw; font-size: 3.2vw; }
	#access .text_r img { margin-bottom: 4vw; }
	.map_wrap iframe { height: 73.4vw; }
	#access .access_line { margin: 4vw auto; }
}


/* #outline
--------------------------------------------------------- */
#outline { padding: 40px 0 170px; text-align: center; }
#outline .title { margin-bottom: 60px; }
#outline .title .en { letter-spacing: 5px; }
/* #outline .desc { letter-spacing: 5px; } */
#outline ul { margin-bottom: 14px; }
#outline li {}
#outline li:nth-of-type(n + 4) { display: none; }
#outline.js__on li:nth-of-type(n + 4) { display: block; }
#outline dl { margin: 0; }
#outline dt { background-color: #e7f1d0; padding: .2em 0; letter-spacing: 2.14px; font-size: 18px; }
#outline dd { padding: .5em 0; font-size: 18px; }
#outline small { text-align: left; display: none; line-height: 2.18; }
#outline.js__on small { display: block; }
.accordion_btn { margin-top: 40px; }
#page_contents .accordion_btn a { width: 200px; display: block; margin: auto; border: #000 solid 1px; color: #000; position: relative; padding: 0.5em 0;}
body.no_touch #page_contents .accordion_btn a { transition: opacity .5s ease; }
body.no_touch #page_contents .accordion_btn a:hover { opacity: 0.5; }
.accordion_btn a:after { content: ""; width: 10px; height: 10px; position: absolute; top: calc(50% - 9px); right: 20px; border-bottom: #000 solid 2px; border-right: #000 solid 2px; transform: rotate(49deg) skew(10deg); }
#outline.js__on .accordion_btn a:after { top: calc(50% - 2px); right: 20px; transform: rotate(230deg) skew(10deg); }

@media only screen and (max-width: 768px) {
	#outline { padding: 14vw 0 19vw; }
	#outline dt, #outline dd { font-size: 3.7vw; letter-spacing: 0.05em; }
	#outline dt { padding: 0.25em 0; }
	#outline dd { padding: 0.25em 0; letter-spacing: .1em; }
	#outline small { line-height: 1.8; font-size: 3.2vw; }
	.accordion_btn { margin-top: 6vw; }
	#page_contents .accordion_btn a { width: 40vw; font-size: 3.5vw; padding: 0.1em 0; }
	.accordion_btn a:after { width: 1.8vw; height: 1.8vw; position: absolute; top: calc(50% - 1.5vw); right: 2vw; border-width: 1px; }
	#outline.js__on .accordion_btn a:after { top: calc(50% - 0.3vw); right: 2vw; }
}


/* #contact
--------------------------------------------------------- */
#contact { padding: 40px 0 245px; text-align: center; }
#page_contents #contact .title { margin-bottom: 42px; }
#contact .title .en { letter-spacing: 5px; }
#contact .desc { line-height: 2.39; letter-spacing: 2.5px; }
#contact .illust { position: absolute; bottom: 50px; left: 50%; transform: translateX(-1327px); }
#contact p.desc .mail { margin-left: 1.5em; }
#contact p.desc .web { display: block; }
#contact p.desc a { color: #000; }
#contact .btn_contact { color: #000; }
#contact .btn_contact a { width: 100%; max-width: 660px; border: #00743f solid 1px; background-color: #fff; color: #00743f; display: block; text-align: center; font-size: 18px; padding: .5em 0; margin: 0 auto 5px; letter-spacing: .2em; }
#contact .btn_contact a span { display: inline-block; position: relative; width: calc(100% - 120px); }
#contact .btn_contact a span:after { content: ""; display: block; width: 14px; height: 14px; border-top: #00743f solid 3px; border-right: #00743f solid 3px; position: absolute; top: 50%; right: -20px; transform: rotate(45deg) translateY(-12px); }

@media only screen and (max-width: 768px) {
	#contact { padding: 14vw 0 42vw; }
	#page_contents #contact .title { margin-bottom: 5.2vw; }
	#contact p.desc { font-size: 4vw; text-align: left; line-height: 1.7; margin: 0; }
	#contact p.desc .tel { letter-spacing: .1em; display: block; }
	#contact p.desc .mail { margin-left: 0; display: block; }
	#contact p.desc .web { display: block; }
	#contact .illust { width: 119vw; transform: translateX(0); bottom: 0; left: -60vw; max-width: unset; }
	#contact .btn_contact { margin-bottom: 2vw; }
	#contact .btn_contact small { font-size: 3.2vw; display: block; text-align: left; }
	#contact .btn_contact a { max-width: unset; }
	#contact .btn_contact a span { width: auto; }
	#contact .btn_contact a span:after { content: "";display: block;width: 12px;height: 12px;border-top: #00743f solid 1px;border-right: #00743f solid 1px;position: absolute;top: 50%;right: -16px;transform: rotate(45deg) translateY(-7px); }
	#globalFooter { margin-top: 0; }
}


/* #overlayerPlan
--------------------------------------------------------- */
#overlayerPlan { position: fixed; z-index: 9999; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, .6); display: none; opacity: 0; animation-name: fade-out; animation-duration: .5s; animation-fill-mode: forwards; }
body.js__plan__on #overlayerPlan { display: block;　opacity: 1; animation-name: fade-in; animation-duration: .5s; animation-fill-mode: forwards; }

#overlayerPlanInner { width: 94%; max-width: 1080px; height: 55vw; max-height: 600px; background: #eae4d4; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#overlayerPlanPrev { width: 24px; height: 46px; display: block; position: absolute; top: 50%; left: 14px; }
#overlayerPlanPrev:before { content: ""; display: block; width: 30px; height: 30px; border-top: #91908f solid 1px; border-left: #91908f solid 1px; position: absolute; top: 50%; left: 21px; transform: translate(-50%, -50%) rotate(-45deg); }
#overlayerPlanNext { width: 24px; height: 46px; display: block; position: absolute; top: 50%; right: 10px; }
#overlayerPlanNext:before { content: ""; display: block; width: 30px; height: 30px; border-bottom: #91908f solid 1px; border-right: #91908f solid 1px; position: absolute; top: 50%; left: -1px; transform: translate(-50%, -50%) rotate(-45deg); }
#overlayerPlanContents {  }
#overlayerPlanContents ul {  }

#overlayerPlanContents .content.js__on { display: flex; justify-content: space-between; }
#overlayerPlanContents .contentInner { padding: 40px 70px; }
#overlayerPlanContents .content { height: 55vw; max-height: 600px; }
#overlayerPlanContents .content .scroll-area { justify-content: space-between; }
#overlayerPlanContents .content .text { width: 42%; color: #00743f; display: flex; flex-direction: column; }
#overlayerPlanContents .content .img { width: 50%; }
#overlayerPlanContents .content .text h3 { font-size: 41px; margin-top: 40px; line-height: 1; margin-bottom: 5px; font-family: 'Red Hat Text', 'Noto Sans JP', sans-serif; }
#overlayerPlanContents .content .text .text_large { font-size: 1.4em; font-weight: bold; }
#overlayerPlanContents .content .text h4 { font-size: 41px; font-family: 'Red Hat Text', 'Noto Sans JP', sans-serif; }
#overlayerPlanContents .content .text p { font-size: 21px; margin-top: .8em; letter-spacing: .2em; }
#overlayerPlanContents .content .text .tag { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: auto; margin-bottom: 15px; }
#overlayerPlanContents .content .text .tag span { width: 48%; margin: 0 1% 10px; border-radius: 6px; background-color: #fff; padding: .4em 0; text-align: center; }
#overlayerPlanContents .btn_contact-wrap {  }
#overlayerPlanContents .btn_contact { width: 100%; background-color: #00743f; color: #fff; display: block; text-align: center; font-size: 18px; padding: .5em 0; margin-bottom: 6px; letter-spacing: .2em; }
#overlayerPlanContents .btn_contact span { display: inline-block; position: relative; letter-spacing: 0.2em; }
#overlayerPlanContents .content small { color: #000; font-size: 13px; }
@media only screen and (max-width: 768px) {
	#overlayerPlanContents { height: 100%; }
	#overlayerPlanInner { height: 96%; max-height: unset; }
	#overlayerPlanContents .content { height: 96%; max-height: unset; }
	#overlayerPlanContents .contentInner { padding: 5.3vw; }
	#overlayerPlanContents .content .text { width: 72.8vw; margin: 0 auto; padding-left: 0; display: block; }
	#overlayerPlanContents .content .text h3 { margin-top: 1.7vw; font-size: 7.3vw; }
	#overlayerPlanContents .content .text h4 { font-size: 6.6vw; line-height: 1; margin-bottom: 3vw; }
	#overlayerPlanContents .content .img { width: 100%; margin: auto; }
	#overlayerPlanContents .content .text p { font-size: 4.6vw; margin-top: 0; }
	#overlayerPlanPrev { display: none; }
	#overlayerPlanNext { display: none; }
	#overlayerPlanContents .content .text .tag { margin-top: 5vw; margin-bottom: 0; }
	#overlayerPlanContents .content .text .tag span { width: 46%; font-size: 3.8vw; margin-bottom: 3vw; }
	#overlayerPlanContents .btn_contact-wrap { position: fixed; bottom: 9vw; left: 10.9vw; width: 72.8vw; }
	#overlayerPlanContents .btn_contact { font-size: 4.8vw; margin: 0 auto 1vw; }
	#overlayerPlanContents .btn_contact span { letter-spacing: 0.15em; transform: translateX(-2vw); }
	#overlayerPlanContents .btn_contact-wrap small { font-size: 2.9vw; }
}



/* #overlayerEquipment
--------------------------------------------------------- */
#overlayerEquipment { position: fixed; z-index: 9999; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, .6); display: none; opacity: 0; animation-name: fade-out; animation-duration: .5s; animation-fill-mode: forwards; }
body.js__equipment__on #overlayerEquipment { display: block;　opacity: 1; animation-name: fade-in; animation-duration: .5s; animation-fill-mode: forwards; }

#overlayerEquipmentInner { width: 94%; max-width: 850px; height: 52.94vw; max-height: 450px; background: #eae4d4; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#overlayerEquipmentInner.js__on { max-height: 504px; }
#overlayerEquipmentPrev { width: 24px; height: 46px; display: block; position: absolute; top: 50%; left: 10px; }
#overlayerEquipmentPrev:before { content: ""; display: block; width: 30px; height: 30px; border-top: #91908f solid 1px; border-left: #91908f solid 1px; position: absolute; top: 50%; left: 21px; transform: translate(-50%, -50%) rotate(-45deg); }
#overlayerEquipmentNext { width: 24px; height: 46px; display: block; position: absolute; top: 50%; right: 10px; }
#overlayerEquipmentNext:before { content: ""; display: block; width: 30px; height: 30px; border-bottom: #91908f solid 1px; border-right: #91908f solid 1px; position: absolute; top: 50%; left: -1px; transform: translate(-50%, -50%) rotate(-45deg); }
#overlayerEquipmentContents { height: 100%; }
#overlayerEquipmentContents .contentInner { width: 100%; }
#overlayerEquipmentContents .scroll-area { width: 100%; justify-content: space-between; }
#overlayerEquipmentContents ul {  }
#overlayerEquipmentContents .content { height: 52.94vw; max-height: 450px; }
#overlayerEquipmentContents.js__on .content { max-height: 504px; }
/* #overlayerEquipmentContents .content { display: none; } */
#overlayerEquipmentContents .content { display: flex; justify-content: space-between; }
#overlayerEquipmentContents .content { padding: 40px; }
#overlayerEquipmentContents .content .text { width: 270px; padding-left: 5px; display: flex; flex-direction: column; color: #000; }
#overlayerEquipmentContents .content .img { width: 480px; }
#overlayerEquipmentContents .content .text h3 { font-size: 41px; line-height: 1; color: #00743f; margin-bottom: 5px; min-height: 82px; display: flex; flex-wrap: wrap; align-items: center; }
#overlayerEquipmentContents .content .text .en { font-family: 'Red Hat Text', 'Noto Sans JP', sans-serif; }

#overlayerEquipmentContents .content .text .en.TitleTextSize {
	letter-spacing: -1px;
}

#overlayerEquipmentContents .content .text h3 span.small { font-size: 22px; display: inline-block; }
#overlayerEquipmentContents .content .text .text_large { font-size: 1.4em; font-weight: bold; }
#overlayerEquipmentContents .content .text h4 { font-size: 41px; }
#overlayerEquipmentContents .content .text p { font-size: 18px; line-height: 1.9; letter-spacing: 0; margin-top: 10px; }
#overlayerEquipmentContents .content .text small { font-size: 13px; }
#overlayerEquipmentContents .content .text small.btm { margin-top: auto; }
#overlayerEquipmentContents .content .text .btn_contact { width: 100%; background-color: #00743f; color: #fff; display: block; text-align: center; font-size: 18px; padding: .5em 0; margin-bottom: 15px; letter-spacing: .2em; }
#overlayerPlanContents .content .text .btn_contact span { display: inline-block; position: relative; }
#overlayerEquipmentContents .content.anicom24 .scroll-area {  }
#overlayerEquipmentContents .content.anicom24 .text { width: 365px; height: 415px; }
#overlayerEquipmentContents .content.anicom24 .text h3 img { width: 285px; height: 70px; }
#overlayerEquipmentContents .content.anicom24 .text p { width: 260px; }
#overlayerEquipmentContents .content.anicom24 .text small { width: 100%; }
#overlayerEquipmentContents .content.anicom24 .img img { width: 100%; max-width: unset; height: 410px; }

#overlayerEquipmentContents .content .text .btn_inner { width: 236px; background-color: #00743f; color: #fff; display: block; text-align: center; font-size: 18px; padding: .5em 0; margin-bottom: 6px; letter-spacing: .2em; margin-top: 1em; }
#overlayerEquipmentContents .content .text .btn_inner span { display: inline-block; position: relative; }
#overlayerEquipmentContents .content .text .btn_inner span:after { content: ""; display: block; width: 14px; height: 14px; border-top: #fff solid 3px; border-right: #fff solid 3px; position: absolute; top: 50%; right: -20px; transform: rotate(45deg) translateY(-12px); }

@media only screen and (max-width: 768px) {
	#overlayerEquipmentInner { height: 90%; max-height: 100%; }
	#overlayerEquipmentInner.js__on { max-height: 100%; }
	#overlayerEquipmentInner .slick-slider { height: 100%; max-height: 100%; }
	#overlayerEquipmentContents { height: 100%; }
	#overlayerEquipmentContents ul { margin-top: 0; }
	#overlayerEquipmentContents .content { height: 90%; max-height: 100%; padding: 5.3vw; }
	#overlayerEquipmentContents.js__on .content { max-height: 100%; }
	#overlayerEquipmentContents .content .text { width: 100%; margin: 0 auto; padding-left: 0;     display: flex; }
	#overlayerEquipmentContents .content .img { width: 100%; margin-top: 3vw; margin-bottom: 3vw; }
	#overlayerEquipmentContents .content .img img { width: 100%; }
	#overlayerEquipmentContents .content .text h3 { margin-top: 3vw; font-size: 10.6vw; min-height: 20vw; }
	#overlayerEquipmentContents .content .text h3 span.small { font-size: 6vw; }
	#overlayerEquipmentContents .content.anicom24 .text h3 img { width: 61vw; height: 18.6vw; }
	#overlayerEquipmentContents .content.gyoen .text h3 img { width: 61vw; }
	#overlayerEquipmentContents .content .text p { font-size: 4.2vw; line-height: 1.6; margin-top: 0; }
	#overlayerEquipmentContents .content .text small.btm { margin-top: auto; }
	#overlayerEquipmentPrev { display: none; }
	#overlayerEquipmentNext { display: none; }
	#overlayerEquipmentContents .content.anicom24 .text p { width: 100%; }
	#overlayerEquipmentContents .content.anicom24 .img img { height: 70.4vw; }
	#overlayerEquipmentContents .content .text .btn_inner { width: 100%; }
	#overlayerEquipmentContents .content .text .btn_inner span:after { content: ""; display: block; width: 12px; height: 12px; border-top: #fff solid 1px; border-right: #fff solid 1px; position: absolute; top: 50%; right: -2vw; transform: rotate(45deg) translateY(-2.7vw); }
}


/* #overlayerEquipment02
--------------------------------------------------------- */
#overlayerEquipment02 { position: fixed; z-index: 9999; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, .6); display: none; opacity: 0; animation-name: fade-out; animation-duration: .5s; animation-fill-mode: forwards; }
body.js__equipment02__on #overlayerEquipment02 { display: block;　opacity: 1; animation-name: fade-in; animation-duration: .5s; animation-fill-mode: forwards; }

#overlayerEquipment02Inner { width: 94%; max-width: 850px; height: 52.94vw; max-height: 450px; background: #eae4d4; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
#overlayerEquipment02Prev { width: 24px; height: 46px; display: block; position: absolute; top: 50%; left: 10px; }
#overlayerEquipment02Prev:before { content: ""; display: block; width: 30px; height: 30px; border-top: #91908f solid 1px; border-left: #91908f solid 1px; position: absolute; top: 50%; left: 21px; transform: translate(-50%, -50%) rotate(-45deg); }
#overlayerEquipment02Next { width: 24px; height: 46px; display: block; position: absolute; top: 50%; right: 10px; }
#overlayerEquipment02Next:before { content: ""; display: block; width: 30px; height: 30px; border-bottom: #91908f solid 1px; border-right: #91908f solid 1px; position: absolute; top: 50%; left: -1px; transform: translate(-50%, -50%) rotate(-45deg); }
#overlayerEquipment02Contents {  }
#overlayerEquipment02Contents ul {  }
#overlayerEquipment02Contents .content { height: 52.94vw; max-height: 450px; }

#overlayerEquipment02Contents .content.js__on { display: flex; justify-content: space-between; }
#overlayerEquipment02Contents .content { padding: 40px; }
#overlayerEquipment02Contents .content .scroll-area { justify-content: space-between; }
#overlayerEquipment02Contents .content .text { width: 255px; padding-left: 5px; display: flex; flex-direction: column; }
#overlayerEquipment02Contents .content .img { width: 480px; }
#overlayerEquipment02Contents .content .text h3 { font-size: 39px; line-height: 1; color: #00743f; margin-bottom: 5px; }
#overlayerEquipment02Contents .content .text span { margin-top: 10px; line-height: 1.4; }
#overlayerEquipment02Contents .content .text h4 { font-size: 41px; }
#overlayerEquipment02Contents .content .text p { font-size: 15px; line-height: 2; letter-spacing: .2em; margin-top: 0; margin-bottom: auto; }
#overlayerEquipment02Contents .content .text .img { width: 100%; margin-top: auto; }
_:-ms-lang(x)::-ms-backdrop, #overlayerEquipment02Contents .content .text .img { height: 175px; }

#overlayerEquipment02Contents .content .text .btn_contact { width: 100%; background-color: #00743f; color: #fff; display: block; text-align: center; font-size: 18px; padding: .5em 0; margin-bottom: 15px; letter-spacing: .2em; }
#overlayerPlanContents .content .text .btn_contact span { display: inline-block; position: relative; }

#overlayerEquipment02 h3 span { font-size: 22.5px; display: block; }

@media only screen and (max-width: 768px) {
	#overlayerEquipment02Inner { height: 90%; max-height: 100%; }
	#overlayerEquipment02Inner .slick-slider { height: 100%; max-height: 100%; }
	#overlayerEquipment02Contents { height: 100%; }
	#overlayerEquipment02Contents ul { margin-top: 0; }
	#overlayerEquipment02Contents .content { height: 90%; max-height: 100%; padding: 8vw 10.6vw; }
	#overlayerEquipment02Contents .content .scroll-area { display: block; }
	#overlayerEquipment02Contents .content .text { width: 100%; margin: 0 auto; padding-left: 0; }
	#overlayerEquipment02Contents .content .img { width: 100%; margin-top: 2vw; margin-bottom: 3vw; }
	#overlayerEquipment02Contents .content .img img { width: 100%; }
	#overlayerEquipment02Contents .content .text h3 { margin-top: 0; font-size: 10.6vw; }
	#overlayerEquipment02Contents .content .text span { font-size: 4.2vw; margin-top: 2vw; line-height: 1.4; }
	#overlayerEquipment02Contents .content .text p { font-size: 4.2vw; line-height: 1.6; margin-top: 0; }
	_:-ms-lang(x)::-ms-backdrop, #overlayerEquipment02Contents .content .text .img { height: auto; }
	#overlayerEquipment02Prev { display: none; }
	#overlayerEquipment02Next { display: none; }
	#overlayerEquipment02 h3 span { font-size: 4.53vw; }
}
/* @media all and (-ms-high-contrast:none){
#overlayerEquipmentContents ul { bottom: 0; }
} */


.slick-slide { width: 100%; display: flex; }

.btn_contact span { position: relative; }
.btn_contact span:after { content: ""; display: block; width: 14px; height: 14px; border-top: #fff solid 3px; border-right: #fff solid 3px; position: absolute; top: 50%; right: -20px; transform: rotate(45deg) translateY(-12px); }
@media only screen and (max-width: 768px) {
	.btn_contact span:after { content: ""; display: block; width: 12px; height: 12px; border-top: #FFF solid 1px; border-right: #FFF solid 1px; position: absolute; top: 50%; right: -2vw; transform: rotate(45deg) translateY(-2.7vw); }
}

.btn_cls { width: 17px; height: 17px; position: absolute; top: 17px; right: 17px; display: block; }
.btn_cls:before { content: ""; width: 17px; height: 1px; display: block; background-color: #00743f; position: absolute; top: 8px; transform: rotate(45deg); }
.btn_cls:after { content: ""; width: 17px; height: 1px; display: block; background-color: #00743f; position: absolute; top: 8px; transform: rotate(-45deg); }

.slide_btns { width: 100%; position: absolute; bottom: 17px; left: 0; }
.slide_btns ul { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; }
.slide_btns li { width: 8px; margin: 0 5px; }
.slide_btns li a { width: 8px; height: 8px; background-color: #fff; display: block; border-radius: 100%; transition: .5s ease; }
.slide_btns li.js__on a { background-color: #00743f; }

@keyframes fade-in {
	0% { display: none; opacity: 0; }
	1% { display: block; opacity: 0; }
	100% { display: block; opacity: 1; }
}

@keyframes fade-out {
	0% { display: block; opacity: 1; }
	991% { display: block; opacity: 0; }
	100% { display: block; opacity: 0; }
}

.slick-slider { max-width:100%; margin-top: 0; position: relative; height: 100%; }
.slick-slide { position: relative; }

.slick-arrow { z-index: 1; }
@media only screen and (max-width: 768px) {
	.slick-arrow { display: none !important; }
}

.slide-dots { width: 100%; position: absolute; bottom: 18px; left: 0; display: flex; flex-wrap: wrap; justify-content: center; }
.slide-dots button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
.slide-dots button:before { content: ""; width: 8px; height: 8px; background-color: #fff; display: block; border-radius: 100%; transition: .5s ease; }
.slide-dots li.slick-active button:before { background-color: #00743f; }
@media only screen and (max-width: 768px) {
	.slide-dots { bottom: 3vw; }
}
.scroll-area { width: 100%; display: flex; }
@media only screen and (max-width: 768px) {
	.scroll-area { width: 100%; overflow: auto; -webkit-overflow-scrolling: touch; }
}

#pageContainer { margin-top: 137px; }
#pageContainer .is__pc { display: block; }
#pageContainer .is__sp { display: none; }

@media only screen and (max-width: 768px) {
	#pageContainer { margin-top: 0; }
	#pageContainer .is__pc { display: none; }
	#pageContainer .is__sp { display: block; }
}