﻿/* RESET
======================================== */
a, abbr, acronym, address, applet, article, aside, audio, 
b, big, blockquote, body, caption, canvas, center, cite, code,
dd, del, details, dfn, dialog, div, dl, dt, em, embed, 
fieldset, figcaption, figure, form, footer, 
header, hgroup, h1, h2, h3, h4, h5, h6, html, 
i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav,
object, ol, output, p, pre, q, ruby, 
s, samp, section, main, small, span, strike, strong, sub, summary, sup, 
tt, table, tbody, textarea, tfoot, thead, time, tr, th, td,
u, ul, var, video { 
 font-family: inherit; 
 font-size: 100%; 
 font-weight: inherit; 
 font-style: inherit; 
 vertical-align: baseline; 
 white-space: normal;
 margin: 0; 
 padding: 0; 
 border: 0; 
 outline: 0;
 background: transparent;
 box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section, main { display: block; box-sizing: border-box; }
ol, ul { list-style: none;box-sizing: border-box; }
blockquote, q { quotes: none;box-sizing: border-box; }
table { 
 border-collapse: collapse; 
 border-spacing: 0; 
 box-sizing: border-box;
}
td,th{text-align: left;}

/* デフォルトデザインリセット */
input[type="submit"],
input[type="image"],
input[type="button"],
input[type="search"]
{
 border: solid 1px #F5F5F5;
 outline: none;
 -webkit-appearance: none;
}

button {
 background-color: transparent;
 border: none;
 cursor: pointer;
 outline: none;
 padding: 0;
 appearance: none;
}

img:not(.normal){
 vertical-align:bottom;
 max-width: 100%;
 height: auto;
}
a img:not(.normal):hover { opacity: 0.6;}


@media screen and (min-width: 769px){
 .sp_ver { display: none; }
}
@media screen and (max-width: 768px){
 .pc_ver { display: none; }
}

/* カスタムプロパティ
======================================== */
:root {
 --color-black: #34291D;
 --color-green: #468100;
 --color-mossgreen: #99CA5E;
}


/* 共通要素
======================================== */
body {
 position: relative;
 text-align:center;
 font-family: 'Noto Sans JP', sans-serif;
 font-weight:400;
 line-height:2em;
 color: var(--color-black);
 background: linear-gradient(107.37deg, #FFFAF5 -2.34%, #FDF8F2 106.06%);
 -webkit-text-size-adjust: 100%;
}

@media screen and (min-width: 769px){
 body { font-size: 16px; }
}
@media screen and (max-width: 768px){
 body { font-size: 14px; }
}


h1, h2 , h3 , h4 , h5 {
 font-weight: 700;	
}

.notoserif {
 font-family: 'Noto Serif JP', serif;
 font-weight: 700;
}
.phones , a[href^="tel:"] {
 color:var(--color-black);
 text-decoration: none;
} 

@media screen and (min-width: 769px){
.phones , a[href^="tel:"] {
 pointer-events: none;
} 
}

.debug {
 position: fixed;
 top:0;
 left: 0;
 font-size: 12px;
 z-index: 1000;
 color: #F00;
}


.button {
 position: relative;
 display: table;
 text-align: center;
 text-decoration: none;
 padding: .75em 3em;
 margin-left: auto;
 margin-right: auto;
 border-radius: 10px;
 font-weight: 700;
 line-height: 1;
 white-space: nowrap;
 letter-spacing: .005em;
}
.button.-green , .button.-border:hover {
 border: solid 2px var(--color-mossgreen);
 background-color: var(--color-mossgreen);
 color: #FFF;
 transition : all 0.25s ease 0s;
}
.button.-border , .button.-green:hover {
 color: var(--color-mossgreen);
 border: solid 2px var(--color-mossgreen);
 background-color: #FFF;
 transition : all 0.25s ease 0s;
}


.button.-green:before , .button.-border:hover:before {
 content: "";
 display: block;
 width: 1.25em;
 height: 1.25em;
 border-radius : 50%;
 background-color: #FFF;
 border:solid 2px #FFF;
 position: absolute;
 top:50%;
 right: 1em;
 transform: translateY(-50%);
 box-shadow: 0 5px 5px 0 rgba(000, 000, 000, 0.05);
}

.button.-green:after , .button.-border:after {
 content: "";
 display: block;
 width: 12px;
 height: 12px;
 border-top:solid 2px var(--color-mossgreen);
 border-right:solid 2px var(--color-mossgreen);
 position: absolute;
 right: 1.5em;
 top:50%;
 transform: translateY(-50%) rotate(45deg);
}

.button.-border:before , .button.-green:hover:before  {
 content: "";
 display: block;
 width: 1.25em;
 height: 1.25em;
 border-radius : 50%;
 border:solid 2px var(--color-mossgreen);
 position: absolute;
 top:50%;
 right: 1em;
 transform: translateY(-50%);
 box-shadow: 0 5px 5px 0 rgba(000, 000, 000, 0.05);
}
.button.-border:after {
 content: "";
 display: block;
 width: 12px;
 height: 12px;
 border-top:solid 2px var(--color-mossgreen);
 border-right:solid 2px var(--color-mossgreen);
 position: absolute;
}

@media screen and (min-width: 769px){
.button {
 font-size: 24px;
 min-width: 400px;
}
}
@media screen and (max-width: 768px){
.button {
 font-size: 18px;
}
}


/* ヘッダ
======================================== */
.header__wrapper {
 position: fixed;
 top:0;
 left:0;
 z-index: 100;
 width: 100%;
 display: flex;
 justify-content: space-between;
 text-align: left;
 transition : all 0.5s ease 0s;
}
.header__wrapper:after {
 position: absolute;
 z-index: 1;
 left: 0;
 top:0;
 content: "";
 display: block;
 width: 100%;
 height: 100%;
 opacity: 0;
 background: linear-gradient(180deg, rgba(254, 249, 243, 0.00) 25%, rgba(254, 249, 243, 0.00) 100%);

}
.header__sitename {
 position: relative;
 z-index: 2;
}

.header__wrapper.active:after {
 opacity: 1;
 background: linear-gradient(180deg, #FEF9F3 25%, rgba(254, 249, 243, 0.00) 100%);
 transition : all 0.5s ease 0s;
}

header a { text-decoration:none; color: var(--color-black); }

@media screen and (min-width: 1440px){
 header { padding: 20px 9%; min-height: 100px; }
 .header__sitename { width: 140px; }
 .header__sitename img {height: 60px; }
}
@media screen and (max-width: 1439px) and (min-width: 769px){
 header { padding: 20px 5%; min-height: 80px; }
 .header__sitename { width: 140px; }
 .header__sitename img { height: 60px; }
}
@media screen and (max-width: 768px){
 header { padding: 20px 5%; min-height: 80px; }
 .header__sitename { width: 115px; }
 .header__sitename img { height: 50px; }
}


/*
グローバルメニュー
================================= */
 #gmenu {
  z-index: 2;
 }


#gmenu ul a {
 display: block;
}

.gmenu__contact {
 line-height: 1;
 box-shadow: 0px 2px 8px #FCFDE8;
 background-color: var(--color-mossgreen);
 text-align: center;
 letter-spacing: .15em;
}
.gmenu__contact span {
 display: table; 
 margin: 0 auto; 
 line-height: 1.25;
 font-weight: 700;
 color: #FFF;
}


@media screen and (min-width: 1025px){
 #gmenu {
 display: flex; justify-content: flex-end; align-items: center;
 }
 #gmenu ul { display: flex; justify-content: flex-end; align-items: center; }
 #gmenu li {
  line-height: 1.75;
 }
 #gmenu li:not(:first-child) {
  margin-left: 1em;
  padding-left: 1em;
  border-left :solid 1px var(--color-black);
 }
 #gmenu a { font-size: clamp(10px, 16px, 1vw); }
.gmenu__contact {
 padding: .75em 1em;
 max-width: 33.3%;
 margin-left: 20px;
 border-radius: 10px;
}	
.gmenu__contact span { font-size: 16px; }
	
.gmenu__contact + .gmenu__contact {display: none; }
	
}

@media screen and (max-width: 1024px){
.gmenu__contact {
 display: block;
 padding: .4em .5em;
 margin:0px auto 0;
 border-radius: 5px;
}
 .gmenu__contact span { font-size: 12px; }
}

@media screen and (max-width: 1024px){
 #gmenu { position: absolute; left:-100vw; top:0; background-color: #FFFAF5; width: 100%; height: 100vh; transition : all 0.25s ease 0s; }
 #gmenu.active { left:0; transition : all 0.25s ease 0s; }	
	
 #gmenu ul { width: 100%; padding: 80px 10% 0; }
 #gmenu li a {padding:1em 0; font-size: 16px; text-align: center; border-bottom: solid 1px #fdead6; }
.gmenu__contact {
 padding: 1.5em 1em;
 width: 80%;
 margin:30px auto 0;
 border-radius: 5px;
}
.gmenu__contact + .gmenu__contact {
 margin:10px auto 0;
}	
	
 .gmenu__contact span { font-size: 14px; }	
}


#spmenubt {
 position: relative;
 z-index:300;
}

#spmenu-no {
 display: none;
}

.menu-trigger,
.menu-trigger span {
 display: inline-block;
 transition: all .4s;
 box-sizing: border-box;
}
.menu-trigger {
 position: relative;
 width: 25px;
 height: 22px;
}
.menu-trigger span {
 position: absolute;
 left: 0;
 width: 100%;
 height: 2px;
 background-color: #444;
}
.menu-trigger span:nth-of-type(1) { top: 0; }
.menu-trigger span:nth-of-type(3) { bottom: 0; }

.menu-trigger.active span:nth-of-type(1) {
 background-color: #444;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
 background-color: #444;
}


@media screen and (min-width: 1025px){
 #spmenubt { display: none; }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
.menu-trigger {
 width: 32px;
 height: 26px;
}
.menu-trigger span:nth-of-type(2) { top: 12px; }
.menu-trigger.active span:nth-of-type(1) {
 -webkit-transform: translateY(12px) rotate(-315deg);
 transform: translateY(12px) rotate(-315deg);
}	
.menu-trigger.active span:nth-of-type(3) {
 -webkit-transform: translateY(-11px) rotate(315deg);
 transform: translateY(-11px) rotate(315deg);
}
}
@media screen and (max-width: 768px){
.menu-trigger {
 width: 25px;
 height: 22px;
}
.menu-trigger span:nth-of-type(2) { top: 10px; }
.menu-trigger.active span:nth-of-type(1) {
 -webkit-transform: translateY(10px) rotate(-315deg);
 transform: translateY(10px) rotate(-315deg);
}	
.menu-trigger.active span:nth-of-type(3) {
 -webkit-transform: translateY(-10px) rotate(315deg);
 transform: translateY(-10px) rotate(315deg);
}
	
}


/* ページタイトル
======================================== */
.pagetitle__wrapepr {
 position: relative;
 width: 100%;
 overflow: hidden;
}

.pagetitle__wrapepr:not(.-normal) .pagetitle__inner {
 border-radius: 10px;
 background: rgba(255, 255, 255, 0.85);
 padding: 20px 6%;
}

.pagetitle__wrapepr:not(.-normal):before {
 content: "";
 position: absolute;
 left: 0;
 top:0;
 z-index: 3;
 width: 100%;
 height: 100%;
}

.pagetitle__headline {
 font-weight: 700;
 line-height: 1;
}

.pagetitle__inner p {
 margin-top: .5em;
 color: var(--color-mossgreen);
 font-size: 24px;
 font-weight: 700;
 line-height: 1;
}

@media screen and (min-width: 1440px){
.pagetitle__wrapepr:not(.-normal) {
 border-radius : 0 0 200px 200px;
}
}
@media screen and (max-width: 1439px) and (min-width: 769px) {
.pagetitle__wrapepr {
 border-radius : 0 0 100px 100px;
}
}
@media screen and (min-width: 768px) {
.pagetitle__wrapepr {
 border-radius : 0 0 50px 50px;
}
}

@media screen and (min-width: 1025px){
 .pagetitle__wrapepr:not(.-normal) { height: 650px; }
 .pagetitle__wrapepr.-normal { padding-top: 250px; }
	
	
.pagetitle__wrapepr:not(.-normal):before {
 background: linear-gradient(135deg, rgba(252, 253, 230, 0.30) 0%, rgba(243, 244, 200, 0.29) 100%);
}
.pagetitle__headline {
 font-size: 40px;
}
.pagetitle__inner p {
 font-size: 24px;
}
}
@media screen and (max-width: 1024px){
 .pagetitle__wrapepr:not(.-normal) { height: 400px; border-radius : 0 0 50px 50px;  }
 .pagetitle__wrapepr.-normal { padding-top: 125px; }
.pagetitle__wrapepr:not(.-normal):before {
 opacity: .75;
 background: linear-gradient(360deg, #F5F9F0 0%, rgba(255, 255, 255, 0.00) 100%);
}
.pagetitle__inner {
  width: 84%;
}
.pagetitle__headline {
 font-size: clamp(18px,24px,8vw);
}
.pagetitle__inner p {
  font-size: clamp(10px,13px,3vw);
}
}

.pagetitle__photo {
 position: relative;
 z-index: 2;
 width: 100%;
 height: 100%;
}
.pagetitle__photo img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
 .pagetitle__wrapepr:not(.-normal) .pagetitle__inner {
 position: absolute;
 z-index: 5;
 bottom:50px;
 left: 50%;
 transform: translateX(-50%);
}
 .pagetitle__wrapepr.-normal .pagetitle__inner {
  margin:0 auto;
}




/* ページの先頭に戻る
======================================== */
.pagetop__button {
 display: block;
 position: absolute;
 overflow: hidden;
 z-index: 10;
}
.pagetop__button a {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #FFF;
  border-radius : 50%;
 }
.pagetop__button a:before {
  content: "";
  display: block;
  width: 20%;
  height: 20%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-30%) rotate(-45deg);
 }

.pagetop__button span {
 display: block;
 text-indent: -999px;
}

@media screen and (min-width: 769px){
 .pagetop__button { width: 90px; height: 90px; right: 5%; top: 0; transform: translateY(calc(-50% - 3px)); }
 .pagetop__button a { border: solid 6px var(--color-green); }
 .pagetop__button a:before { border-top:solid 6px var(--color-green); border-right: solid 6px var(--color-green); }
}
@media screen and (max-width: 768px){
 .pagetop__button { width: 50px; height: 50px; left: 50%; top: 0; transform: translate(-50% , -50%); }
 .pagetop__button a { border: solid 3px var(--color-green); }
 .pagetop__button a:before { border-top:solid 3px var(--color-green); border-right: solid 3px var(--color-green); }
}


/* お問い合わせブロック
======================================== */
.contactblock__wrapper {
 position: relative;
 width: 90%;
 max-width: 1200px;
 background: url("../img/mark_bg.png") center center no-repeat #FFF;
 background-size: auto 90%;
 box-shadow: 0px 0px 15px rgba(161, 165, 79, 0.25), 0px 0px 30px #FAFCD5;
 border-radius: 50px;
}
.contactblock__wrapper > .button {
 margin: 30px auto 0;
}
.appointment__button span {
 display: table;
 margin: 0 auto;
}


@media screen and (min-width: 769px){
.contactblock__message {
 position: absolute;
 left: 50%;
 bottom: 1.25em;
 transform: translateX(-50%);
 width: 90%;
 text-align: center;
 font-size: 14px;
 font-weight: 600;
 line-height: 1.1;
}
	
	
}
@media screen and (max-width: 768px){
.contactblock__message {
 margin-top: 30px;
 width: 100%;
 text-align: center;
 font-size: 12px;
 font-weight: 600;
 line-height: 1.1;
} 
	
	
}


.appointment__button.-bg {
 border: solid 2px var(--color-mossgreen);
 background-color: var(--color-mossgreen);
 color: #FFF;
}
.appointment__button.-border {
 border: solid 2px var(--color-mossgreen);
 background-color: #FFF;
 color: var(--color-mossgreen);
}

.appointment__button.-bg:hover {
 color: var(--color-mossgreen);
 border: solid 2px var(--color-mossgreen);
 background-color: #FFF;
  transition : all 0.25s ease 0s;
}
.appointment__button.-border:hover {
 border: solid 2px #FFF;
 color: #FFF;
 background-color: var(--color-mossgreen);
 transition : all 0.25s ease 0s;
}

.appointment__button.-bg:before , .appointment__button.-border:hover:before {
 content: "";
 display: block;
 border-radius : 50%;
 background-color: #FFF;
 border:solid 2px #FFF;
 position: absolute;
 top:50%;
 right: 1em;
 transform: translateY(-50%);
 box-shadow: 0 5px 5px 0 rgba(000, 000, 000, 0.05);
}
.appointment__button.-bg:after {
 content: "";
 display: block;
 width: 8px;
 height: 8px;
 border-top:solid 3px var(--color-mossgreen);
 border-right:solid 3px var(--color-mossgreen);
 position: absolute;
}

.appointment__button.-border:before , .appointment__button.-bg:hover:before  {
 content: "";
 display: block;
 border-radius : 50%;
 border:solid 2px var(--color-mossgreen);
 position: absolute;
 top:50%;
 right: 1em;
 transform: translateY(-50%);
 box-shadow: 0 5px 5px 0 rgba(000, 000, 000, 0.05);
}
.appointment__button.-border:after {
 content: "";
 display: block;
 width: 8px;
 height: 8px;
 border-top:solid 3px var(--color-mossgreen);
 border-right:solid 3px var(--color-mossgreen);
 position: absolute;
}


.appointment__button.-tel {
 letter-spacing: 0.15em;
 line-height: 1.25;
}

@media screen and (min-width: 1025px){
.contactblock__wrapper {
 width: 1200px;
 max-width: 90%;
 position: relative;
 margin: 150px auto 0;
 padding: 75px 5% 120px;
 background: url("../img/mark_bg.png") center center no-repeat #FFF;
 background-size: auto 90%;
 border-radius: 50px;
}
.contactblock__buttons {
 display: flex;
 justify-content: center;
}
.contactblock__buttons li {
 margin: 30px 2% 0;
}
.contactblock__buttons a {
 margin-top: 0;
 width: 400px;
 max-width: 100%;
}
.appointment__button { font-size: clamp(16px,24px,2vw); }
.appointment__button:before { width: 30px; height: 30px; }
	
.appointment__button:before {
 width: 38px;
 height: 38px;
}
.appointment__button:after {
 top:50%;
 right: 11.5%;
 transform: rotate(45deg) translateY(-56%);
}
}
@media screen and (max-width: 1024px){
.contactblock__wrapper {
 margin: 75px auto 0;
 padding: 32px 5% 18px;
 background: url("../img/mark_bg.png") top 10% center no-repeat #FFF;
 background-size: 75% auto;
 border-radius: 25px;
}
.contactblock__buttons {
 width: 100%;
 margin: 30px auto 0;
 font-size: 0;
 line-height: 1;
}
.contactblock__buttons li + li {
  margin-top: 15px;
}
.contactblock__buttons a {
 margin-top: 0;
 width: 100%;
}
.appointment__button { font-size: 18px; width: 100%; }
.appointment__button:before { width: 20px; height: 20px; }

.appointment__button:before {
 width: 32px;
 height: 32px;
}
.appointment__button:after {
 top:50%;
 right: 2em;
 transform: rotate(45deg) translateY(-56%);
}
}

.appointment__button.-tel:before , .appointment__button.-tel:after {
 display: none !important;
}




/* フッター
======================================== */
.footer__wrapper {
 position: relative;
 border-top: 5px solid var(--color-green);
 background: radial-gradient(40.26% 187.62% at 50% 82.4%, #FFFBF7 0%, #FCF1E7 100%, #FCF1E7 100%);
}

.footer__wrapper:before {
 content: "";
 position: absolute;
 z-index: 1;
 bottom: 0;
 left: 0;
 display: block;
 background: url("https://xs151203.xsrv.jp/sub8/wp-content/uploads/2025/12/footer_bg1.png") no-repeat;
 background-position: left bottom;
 background-size: contain;
}
.footer__wrapper:after {
 content: "";
 position: absolute;
 z-index: 2;
 bottom: 0;
 right: 0;
 display: block;
 background: url("https://xs151203.xsrv.jp/sub8/wp-content/uploads/2025/12/footer_bg2.png") no-repeat;
 background-position: right bottom;
 background-size: contain;
}

.footer__inner {
 position: relative;
 z-index: 5;
}

.footer__logo {
 display: table;
}

.footer__adress {
 display: table;
 line-height: 1.75;
}

.footer__copyright {
 position: relative;
 padding: 1em 0;
 font-weight: 700;
 color: #66893D;
 z-index: 4;
 }

.footer__inner a  {
 text-decoration: none;
 color: var(--color-black);
}

@media screen and (min-width: 769px){
 .footer__wrapper {
  margin-top:195px;
 }
	
	
.footer__wrapper:before {
 width: 48%;
 max-width: 720px;
 height: 270px;
}	
	
.footer__wrapper:after {
 width: 48%;
 max-width: 780px;
 height: 270px;
}
	
.footer__wrapper:before {
 background-position: right bottom;
 background-size: contain;
}
.footer__wrapper:after {
 background-position: left bottom;
 background-size: auto 100%;
}
 .footer__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 125px 5% 65px;
 }
.footer__logo { padding-right: 75px; }
.footer__adress { text-align: left; font-size: 18px; }
.footer__copyright { font-size:12px; }
}
@media screen and (max-width: 768px){
 .footer__wrapper {
  margin-top:125px;
 }
.footer__wrapper:before {
 background-position: right bottom;
 background-size: auto 100%;
}
.footer__wrapper:after {
 background-position: left bottom;
 background-size: auto 100%;
}
.footer__wrapper:before , .footer__wrapper:after {
 width: 48%;
 height: 122px;
}	
	
 .footer__inner {
  margin: 0 auto;
  padding: 50px 0 75px; 
 text-align: center;
  }
 .footer__logo { max-width: 40%; margin: 50px auto 0; }
.footer__adress { margin: 2em auto 0; text-align: center; font-size: 14px; }
.footer__copyright { font-size:10px; }
}




.headline__style1--main {
 font-weight: 700;
 text-align: center;
}
 .headline__style1--sub {
 margin-top: 1em;
 color: var(--color-mossgreen);
 font-weight: 500;
 line-height: 1;
 text-align: center;
}

@media screen and (min-width: 769px){
 .headline__style1--main { font-size: 36px; line-height: 1; }
 .headline__style1--sub { font-size: 16px; }
}
@media screen and (max-width: 768px){
 .headline__style1--main { font-size: 24px; line-height: 1.25; }
 .headline__style1--sub { font-size: 12px; }
}


.button__defult {
 border: solid 3px var(--color-mossgreen);
 background-color: var(--color-mossgreen);
 color: #FFF;
 transition : all 0.25s ease 0s;
}
.button__defult:hover {
 border: solid 3px var(--color-mossgreen);
 background-color: #FFF;
 color: var(--color-mossgreen) !important;
 transition : all 0.25s ease 0s;
}
.button__defult:hover span {
 color: var(--color-mossgreen);
}


ul.notice li {
 position: relative;
 margin-top: .25em;
 padding-left: 1.25em;
 line-height: 1.5;
}
ul.notice li:before {
 position: absolute;
 left: 0;
 top:0;
 content: "※";
}
p.notice {
 position: relative;
 margin-top: .25em;
 padding-left: 1.25em;
 line-height: 1.5;
}
p.notice:before {
 position: absolute;
 left: 0;
 top:0;
 content: "※";
}


.faq__list {
 text-align: left;
 margin-left: auto;
 margin-right: auto;
 width: 1000px;
 max-width: 90%;
 z-index: 10;
 border-bottom: 1px solid rgba(52, 41, 29, 0.25);
}


.faq__list dt {
  position: relative;
  pointer-events: all;
  cursor: pointer;
  font-weight: 700;
  line-height: 1.75;
 }

.faq__list dt:not(:nth-of-type(1)) {
 border-top: 1px solid rgba(52, 41, 29, 0.25);
}

.faq__list dt:before {
 display: block;
 border-radius : 50%;
 position: absolute;
 left: 0;
 content: "Q";
 font-weight: 700;
 color: #FFF;
 background-color: var(--color-black);
 text-align: center;
}

.faq__list dt:after {
 content: "";
 display: block;
 width: 14px;
 height: 14px;
 position: absolute;
 right:0;
 top:50%;
 border-bottom: solid 3px var(--color-black);
 border-right: solid 3px var(--color-black);
 transform: translateY(-50%) rotate(45deg);
 }
.faq__list dt.active:after {
 transform: translateY(-50%) rotate(-135deg);
 }

.faq__list dd {
 position: relative;
 overflow: hidden;
 height: 0;
 font-weight: 500;
 line-height: 1.75;
 padding-left: 2.5em;
 transition : all .25s ease 0s;
 }
.faq__list dd.opened {
 height: auto;
 transition : all .25s ease 0s;
 padding-bottom: 2em;
 }
.faq__list dd:before {
 display: block;
 border-radius : 50%;
 position: absolute;
 top:.25em;
 left: 0;
 content: "A";
 font-weight: 700;
 color: #FFF;
 background-color: var(--color-mossgreen);
 text-align: center;
}


@media screen and (min-width: 769px){
.faq__list:not(.-faqpage) {
  margin: 50px auto;
}
.faq__list.-faqpage {
  margin: 20px auto 80px;
}
	
.faq__list dt {
  padding: 2em 1.5em 2em 2.5em;
 }
.faq__list dt:before , .faq__list dd:before {
 width: 28px;
 height: 28px;
 font-size: 20px;
 line-height: 24px;
}
.faq__list dt:before  { top:1.8em; }
.faq__list dt:after {
 width: 14px;
 height: 14px;
 border-bottom: solid 3px var(--color-black);
 border-right: solid 3px var(--color-black);
 transform: translateY(-50%) rotate(45deg);
 }
}
@media screen and (max-width: 768px){
.faq__list:not(.-faqpage) {
  margin: 10px auto 25px;
}	
.faq__list.-faqpage {
  margin: 40px auto;
}	
	
.faq__list dt {
  padding: 1.5em 1.5em 1.5em 2.5em;
 }
.faq__list dt:before , .faq__list dd:before {
 width: 25px;
 height: 25px;
 font-size: 16px;
 line-height: 20px;
}
.faq__list dt:before  { top:1.5em; }
.faq__list dt:after {
 width: 8px;
 height: 8px;
 border-bottom: solid 2px var(--color-black);
 border-right: solid 2px var(--color-black);
 transform: translateY(-50%) rotate(45deg);
 }
}

.overview__table {
 margin-top: 30px;	
 width: 100%;
}
.overview__table th, .overview__table td {
 padding: 1.75em;
 font-weight: 500;
 line-height: 1.75;
}
.overview__table tr:nth-child(odd) {
 background-color: #FFF;
}

@media screen and (min-width: 769px){
.overview__wrapper { margin: 150px auto 0; }
.overview__table th, .overview__table td {
 padding: 1.75em;
}
}
@media screen and (max-width: 768px){
.overview__wrapper { margin: 75px auto 0; }
.overview__table th {
 width: 8em;
}
.overview__table th, .overview__table td {
 padding: 1em;
}
}

.access__wrapper {
 width: 90%;
 max-width: 1200px;
 margin: 150px auto 0;
}
.access__wrapper iframe {
 margin: 30px auto 0;
filter: drop-shadow(0px 0px 10px rgba(161, 165, 79, 0.25)) drop-shadow(0px 0px 30px #FCFDE8);
}

.access__adress , .access__station li {
 font-weight: 500;
}


.access__station dt {
 padding: .75em .25em;
 line-height: 1;
 color: #FFF;
 border-radius : 5px;
 text-align: center;
}

.access__notice {
 position: relative;
 display: table;
 margin: .5em auto 0;
 padding-left: 1.5em;
 line-height: 1.5;
}
.access__notice:before {
 position: absolute;
 top: 0;
 left: 0;
 content: "※";
}



.access__station li:first-child dt {
 background-color: #BDA577;
}
.access__station li:nth-child(2) dt {
 background-color: #F19A38;
}
.access__station li:last-child dt {
 background-color: #D04E3C;
}

@media screen and (min-width: 1025px){
 .access__wrapper { margin: 150px auto 0; }
 .access__wrapper iframe { border-radius: 30px; }
 .access__adress { margin-top: 35px; font-size: 18px; text-align: center; }
 .access__notice { font-size: 14px; }
.access__station {
 display: flex;
 justify-content: space-between;
 width: 94%;
 max-width: 780px;
 margin: 35px auto 0;
}
.access__station li { font-size: 18px; width: 31.3%; }
.access__station dd { margin-top: .75em; text-align: center; }
}
@media screen and (max-width: 1024px) and (min-width: 769px){
 .access__wrapper { margin: 150px auto 0; }
 .access__wrapper iframe { border-radius: 30px; }
 .access__adress { margin-top: 35px; font-size: 18px; text-align: center; }
 .access__notice { font-size: 14px; }
.access__station {
 display: flex;
 justify-content:flex-start;
 flex-wrap: wrap;
 width: 94%;
 max-width: 780px;
 margin: 35px auto 0;
}
.access__station li { font-size: 18px; width: 48%; margin-top: 20px; margin-right: 4%; }
.access__station li:nth-child(2n) { margin-right:0%; }
.access__station dd { margin-top: .75em; text-align: center; }
}

@media screen and (max-width: 768px){
 .access__wrapper { margin: 75px auto 0; }
 .access__wrapper iframe { border-radius: 15px; }
 .access__adress { margin-top: 15px; text-align: left; }
 .access__notice { font-size: 12px; text-align: left;}
.access__station {
display : flex;
flex-direction : column;
 margin: 35px auto 0;
}
.access__station dt {
 display: table;
 min-width: 12em;
 padding: .75em .25em;
 line-height: 1;
 color: #FFF;
 border-radius : 5px;
}
.access__station li + li {
 margin-top: 1.25em;
}
.access__station dd {
 margin-top: .5em;
 text-align: left;
}
}



/*
お知らせ一覧
======================*/
.news__list {
 width: 90%;
 max-width: 1000px;
}

.news__list > li {
  border-bottom: solid 1px #e5dfd9;
}
.news__list a {
 display: block;
 text-decoration: none;
 color: var(--color-black);
 padding: 25px 0;
}

.news__head {
 text-align: left;
}
.news__headline + p {
 margin-top: .5em;
 line-height: 1.5;
}



@media screen and (min-width: 769px){
.news__list {
 margin: 25px auto;
}
.news__list a {
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.news__date { width: 9em; text-align: center; font-size: 20px; }
.news__head { width: calc(100% - 9em); font-size: 20px;  }
.news__headline {
 font-size: 20px;
 line-height: 1.5;
}
.news__headline + p {
 font-size: 16px;
 margin-top: .5em;
}
}
@media screen and (max-width: 768px){
.news__list {
 margin: 5px auto;
}
.news__date { font-size: 12px; text-align: left; }
.news__headline { font-size: 16px; line-height: 1.5; margin-top: .5em; }
.news__headline + p { font-size: 12px; margin-top: .5em; }
}



/*
ページ送り
======================*/
.pagination {
 display: flex;
 justify-content: center;
 align-items: center;
}
.pagination .page_num {
 padding-right: 20px;
}

.pagination .prev , .pagination .next {
 position: relative;
 display: inline-block;
 width: 30px;
 height: 30px;
}
.pagination .prev {
 border-radius : 5px 0 0 5px;
}
.pagination .next {
 border-radius : 0 5px 5px 0;
 margin-left: 3px;
}


.pagination .prev:after {
 display: block;
 width: 8px;
 height: 8px;
 content: "";
 position: absolute;
 top:6px;
 left:calc(50% + 2px);
 transform: rotate(-45deg) translateX(-50%);
}

.pagination .next:after {
 display: block;
 width: 8px;
 height: 8px;
 content: "";
 position: absolute;
 top:6px;
 left:calc(50% - 4px);
 transform: rotate(-45deg) translateX(-50%);
}

.pagination .prev.-active , .pagination .next.-active {
 border: solid 1px var(--color-mossgreen);
}
.pagination .prev.-active:after {
 border-left: solid 2px var(--color-mossgreen);
 border-top: solid 2px var(--color-mossgreen);
}
.pagination .next.-active:after {
 border-right: solid 2px var(--color-mossgreen);
 border-bottom: solid 2px var(--color-mossgreen);
}
.pagination .prev.-halftone:after {
 border-left: solid 2px #E1E1E1;
 border-top: solid 2px #E1E1E1;
}

.pagination .next.-halftone:after {
 border-right: solid 2px #E1E1E1;
 border-bottom: solid 2px #E1E1E1;
}

.pagination .prev.-active:hover , .pagination .next.-active:hover {
 background-color: var(--color-mossgreen);
}

.pagination .prev.-active:hover:after {
 border-left: solid 2px #FFF;
 border-top: solid 2px #FFF;
}
.pagination .next.-active:hover:after {
 border-right: solid 2px #FFF;
 border-bottom: solid 2px #FFF;
}

.pagination .prev.-halftone , .pagination .next.-halftone {
 border: solid 1px #E1E1E1;
}


/* プライバシーポリシー
======================================== */
.policy__inner {
 text-align: left;
 width: 90%;
 max-width: 1000px;
 margin: 50px auto;
}

@media screen and (min-width: 769px){
.policy__inner {
 margin-top: 24px;
}
	
}
@media screen and (max-width: 768px){
.policy__wrapper {
 max-width: 86%;
 padding: 110px 0 245px;
}
.policy__inner {
 margin-top: 24px;
}
}
.policy__wrapper .pagetitle__wrapper + p {
 margin-top: 24px;
}


.policy__inner h2:not(.rule) {
 padding-bottom: .25em;
 font-weight: 500;
 border-bottom: solid 1px #102D3F;
}

.policy__inner .rule {
 text-align: center;
}

.policy__inner * + p {
 margin-top: 1.5em;
}

.policy__inner h2 + p {
 margin-top: 1em;
}

@media screen and (min-width: 769px){
.policy__inner .toptext { margin-bottom: 100px; }
.policy__inner h2:not(.rule) { font-size: 24px; margin-top: 50px; }
.policy__inner .rule {
 margin-top: 200px;
}
 .policy__inner .pagetitle__wrapper {
  margin-bottom: 24px;
 }	
}
@media screen and (max-width: 768px){
.policy__inner .toptext { margin-bottom: 50px; }
.policy__inner h2:not(.rule) { font-size: 16px; margin-top: 50px; }
.policy__inner .rule {
 margin-top: 200px;
}
}

.numberlist__wrapper {
 counter-reset: item;
 text-align: left;
 line-height: 1.7;
 margin-top: 1em;
 margin-left: 1.25em;
}
.numberlist__wrapper li {
  position: relative;
  margin-top: .5rem;
  padding-left: 1.5rem;
 }
.numberlist__wrapper li:before {
  position: absolute;
  left: 0;
  top:0;
 }

.numberlist__wrapper {
 counter-reset: item;
}
.numberlist__wrapper > li:before {
 counter-increment: item;
 content: counter(item)'.';
}

.numberlist__wrapper > li > .numberlist__wrapper {
 counter-reset: item-child;
 padding-bottom: .5em;
}
.numberlist__wrapper > li > .numberlist__wrapper > li:before {
 counter-increment: item-child;
 content: counter(item-child)'.';
}

.numberlist__wrapper > li > .numberlist__wrapper > li > .numberlist__wrapper {
 counter-reset: item-child2;
 padding-bottom: .5em;
}
.numberlist__wrapper > li > .numberlist__wrapper > li > .numberlist__wrapper > li:before {
 counter-increment: item-child2;
 content: counter(item-child2)'.';
}
