@charset "utf-8";
/*

/************************************
** ALL PAGE TMP
************************************/

/* base */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body {
	font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
	background-color: #E7DDC3;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: 700;
}



.ptitle {
	font-size: 1.125rem;
	font-weight: bold;
	margin: 1.5em 0 .5em 0;
	padding: .5em;
	background: #fce2c4;
}

p.tpms2 {
	font-size: 1.125rem;
	font-weight: bold;
	margin: 1em 0 .5em;
}
p.midashi {
	font-weight: 700;
	font-size: 1.125rem;
    margin: 1em 0 .5em;
}

h4 {
	font-size: 1.125rem;
	margin-bottom: .5em;
}
h4.bargojuon {
	background: #dcdddd;
	margin: 1em 0 .5em;
	padding: .5em;
	font-size: 0.9375rem;
	font-weight: bold;
}
h5.p1 {
	margin: 1em 0 .5em;
}
p {
	margin-bottom: 1em;
}
/* p:last-of-type {
	margin-bottom: 0;
} */
p a {
	text-decoration: underline !important;
}
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
color:#0066ff;
}
a:hover, a:active{
outline: none;
color:#80bfff;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}


/* common */
.pc {
	display: none !important;
}
hr.style1 {
    border-top: dotted 1px #664f26;
    margin: 30px 0;
}
.arrow_l_w {
  position: relative;
}
.arrow_l_w::after {
	background: url(../images/common/arrow_l__w.svg) no-repeat center/contain;
	content: "";
	position: absolute;
	height: 16px;
	width: 16px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
#wrapper {
	padding-inline: 4.1vw;
}
p.cmg3 {
	color: #664f26;
	font-weight: bold;
	margin-block: .125em;
}
.link_bnr {
	margin-top: 4em;
}
.link_bnr .fade {
	display: block;
	margin-bottom: 1em;
}
.link_bnr .fade:last-child {
	margin-bottom: 0;
}
.item_link {
	display: flex;
}
.item_link a {
	display: flex;
	flex-grow: 1;
}
.sidebar-title {
	font-size: 1.25rem;
	text-align: center;
	color: white;
	background-color: #4C0000;
	padding: .5em 1em;
}
h2 + .basic_title,
h3 + .basic_title {
	margin-top: 2em;
}
.page1 > .basic_title {
	margin-top: 2em;
}
.basic_title {
	font-size: 1.25rem;
	color: white;
	background-color: #654E26;
	padding: .5em 1em;
	margin-top: 3em;
	margin-bottom: 1em;
}

/* side-bar */
#sidebar1 {
	margin-top: 2em;
}
#smenu .sidebar-item,
#smenu .sidebar-group {
	border: 1px solid #4C0000; border-top: 0;
	background-color: white;
	padding-inline: 1em;
	transition: margin-bottom .3s ease;
}
#smenu .sidebar-group.open {
	margin-bottom: 1em;
}
#smenu .sidebar-group.open .side-title {
	border-bottom: 1px solid #4C0000;
}
#smenu .sidebar-item .side-title,
#smenu .sidebar-group .side-title {
	position: relative;
	cursor: pointer;
	margin: 0;
	padding-block: 1em;
	border-bottom: 1px solid transparent;
	transition: border-color .3s ease;
}
#smenu .sidebar-item .side-title a {
	display: block;
	color: #151515;
	text-decoration: none !important;
}
#smenu .sidebar-group.open .side-title {
	border-bottom-color: #4C0000;
}

#smenu .sidebar-group .sidebar-submenu {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}
#smenu .sidebar-group .sidebar-submenu li {
	border-bottom: 1px dashed #4C0000;
}
#smenu .sidebar-group .sidebar-submenu li:last-child {
	border-bottom: none;
}
#smenu .sidebar-group .sidebar-submenu li a {
	display: block;
	padding-block: 1em;
	color: #151515;
}
#smenu .sidebar-group .sidebar-submenu li .arrow_l_w::after {
	background: transparent;

    -webkit-mask-image: url(../images/common/arrow_l__w.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 100% 100%;

	mask-image: url(../images/common/arrow_l__w.svg);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 100% 100%;

	background-color: #4C0000;
}
#smenu .sidebar-item .side-title a.arrow_l_w::after {
	background: transparent;

    -webkit-mask-image: url(../images/common/arrow_l__w.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 100% 100%;

	mask-image: url(../images/common/arrow_l__w.svg);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 100% 100%;

	background-color: #4C0000;
}
#smenu .sidebar-group .sidebar-submenu.open {
    max-height: 500px;
}

/* side-bar-hide--sp */
#smenu .sidebar-group.is-hidden-sp,
#smenu .sidebar-item.is-hidden-sp {
	max-height: 0;
	opacity: 0;
	border: none;
	overflow: hidden;
	transition: max-height .3s ease, opacity .3s ease;
}
#smenu .sidebar-group .side-title::before,
#smenu .sidebar-group .side-title::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 2px;
	background-color: #4C0000;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition: opacity 1s;
}
#smenu .sidebar-group .side-title::after {
	transform: translateY(-50%) rotate(90deg);
	transition: transform 1s;
}
#smenu .sidebar-group.open .side-title::before {
	opacity: 0;
}
#smenu .sidebar-group.open .side-title::after {
	transform: translateY(-50%) rotate(180deg);
}
#smenu.expanded .sidebar-group.is-hidden-sp,
#smenu.expanded .sidebar-item.is-hidden-sp {
	max-height: 500px;
	opacity: 1;
	border: 1px solid #4C0000; border-top: 0;
}
#smenu .sidebar-more-wrapper {
	margin-top: .5em;
	list-style: none;
}

.sidebar-more-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.8em 1.8em 0.8em 0.8em;
	font-size: 0.9rem;
	background: #f5f5f5;
	border: 1px solid #ddd;
	cursor: pointer;
}
.sidebar-more-btn::before,
.sidebar-more-btn::after {
	content: "";
	position: absolute;
	right: 0.6em;
	top: 50%;
	width: 12px;
	height: 2px;
	background: #4C0000;
	border-radius: 2px;
	transition: transform .3s ease;
}
.sidebar-more-btn::before {
	transform: translateY(-50%) rotate(90deg);
}
.sidebar-more-btn::after {
	transform: translateY(-50%);
}
.sidebar-more-btn.is-open::before {
	transform: translateY(-50%) rotate(45deg);
}
.sidebar-more-btn.is-open::after {
	transform: translateY(-50%) rotate(-45deg);
}

/* header */
.nav-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	top: 0;
	right: 0;
	width: 64px;
	height: 64px;
	background: #4C0000;
	border: none;
	padding: 0;
	cursor: pointer;
	z-index: 1100;
}
.nav-toggle__line,
.nav-toggle__line::before,
.nav-toggle__line::after {
	content: "";
	position: absolute;
	width: 40px;
	height: 2px;
	background: #fff;
	transition: .3s ease;
}
.nav-toggle__line {
	top: 50%;
	transform: translateY(-50%);
}
.nav-toggle__line::before {
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
}
.nav-toggle__line::after {
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
}
.nav-toggle.is-open .nav-toggle__line {
	transform: translateY(-50%) rotate(45deg);
}
.nav-toggle.is-open .nav-toggle__line::before {
	top: 0;
}
.nav-toggle.is-open .nav-toggle__line::after {
	bottom: 0;
	transform: translateX(-50%) rotate(-90deg);
}
.nav-drawer {
	position: fixed;
	top: 0;
	right: 0;
	width: 80%;
	height: 100vh;
	background: #4C0000;
	transform: translateX(100%);
	transition: transform .3s ease;
	z-index: 1000;
	padding: 5rem 1.5rem 2rem;
}
#navigation2 {
	display: flex;
	flex-direction: column;
}
#navigation2 a {
	display: block;
	padding: .8em 0;
	border-bottom: 1px solid #eee;
	color: white;
}
#navigation2 li .contact {
	background-color: white;
	color: #4C0000;
	border-radius: 4px;
	text-align: center;
	margin-top: 1.5em;
}
#navigation2 li .contact::after {
	background: transparent;
		-webkit-mask-image: url(../images/common/arrow_l__w.svg);
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		-webkit-mask-size: 100% 100%;
	mask-image: url(../images/common/arrow_l__w.svg);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 100% 100%;
	background-color: #4C0000;
	right: 1em;
}
.nav-drawer.is-open {
	transform: translateX(0);
}
#header2 .inner {
	display: flex;
	align-items: center;
	height: 64px;
	padding: 0 80px 0 4.1vw;
}
#header2 .inner .logo2 {
	padding-right: 80px;
}
#header2 .inner .logo2 a {
	display: block;
}

/* footer */
footer {
	margin-top: 4em;
	background-image: none;
	background-color: #6F2615;
}
footer .inner {
	padding: 8.2vw;
}
footer .inner .footerlogo a {
	display: block;
	text-align: center;
}
footer .inner .footerlogo a img {
	width: 80%;
}
footer .inner #footer-nav {
	margin-top: 16px;
}
footer .inner #footer-nav ul li {
	border-bottom: 1px solid white;
}
footer .inner #footer-nav ul li a {
	display: block;
	color: white;
	padding-block: 16px;
}
footer .inner #copyright { 
	color: white;
	margin-top: 32px;
}


/************************************
************************************/

/************************************
** TOP PAGE
************************************/
.mv {
	margin-top: 2em;
}
/************************************
************************************/

/************************************
** PAGE
************************************/
.sidebar_wrapp + #content1 {
	margin-top: 4em;
}
.sidebar_wrapp.pc + #content1 {
	margin-top: 2em;
}
.item_link {
	display: flex;
	flex-direction: column;
	gap: 1em;
	margin-top: 1.5em;
}
.item_link a {
    display: block;
    background: #654E26;
    color: #fff;
    padding: 1em;
    text-decoration: none;
    position: relative;
		text-align: center;
}
.item_link a::before {
    content: "▶";
    position: absolute;
    left: 1em;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
}
p.motto {
    margin: 1.5em 0 1em 0;
}
.plan_links {
	display: flex;
	gap: 16px;
}
.chishikilink {
    display: flex;
    align-items: center;
    gap: 0.4em;
    margin: 0.6em 0;
}
.chishikilink::before {
    content: "";
    width: 14px;
    height: 14px;
    flex-shrink: 0; 
    background: url(../images/common/hin_arrow.gif)
                no-repeat center / contain;
}
.chishikilink a {
    color: #0066ff;
    text-decoration: underline;
    font-size: 1rem;
    line-height: 1.6;
}
.hinmoku1 {
	display: flex;
	flex-direction: column-reverse;
	margin-bottom: 3em;
}
.hinmoku1 table {
	width: 100%;
}
.hinmoku1right {
	width: 70%;
	margin: 0 auto;
}
.hinmoku1title,
.kinka1title {
	display: block;
  font-size: 1.125rem;
  font-weight: bold;
	text-align: center;
	margin: 1em 0;
	padding-bottom: .5em;
	border-bottom: solid 1px #000000;
}
.kinka {
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom: dotted 1px #664f26;
}
.kinka .kinkaright {
	margin-top: 2em;
}
.kinka .kinkaright img {
	display: block;
	width: 70%;
  margin: 0 auto;
}
.kinka .kinkaleft {
	width: 100%;
}
.kinka .kinkaleft table {
	width: 100%;
	border-collapse: collapse;
	border: 1px #000000 solid;
	margin: 10px 0 20px;
}
.kinka .kinkaleft table td {
	padding: 5px 0 2px 5px;
	border: 1px #000000 solid;
}
.kinka .kinkaleft table td.kinkamidashi{
	width: 124px;
	font-weight: bold;
	padding: 5px 0 2px 5px;
	background: #dcdddd;
	border: 1px #000000 solid;
}
.kinka .kinkaleft table td.kinkatantou{
	font-size: .875rem;
	padding: 5px;
	border: 1px #000000 solid;
}

.blm {
	color: #fff;
	background: #775c2f;
	margin: 2em 0 1em;
	padding: .5em 1em;
}
.blm + ul {
	margin-bottom: 2em;
}
.bll1,
.bll2 {
	background: url(../images/bl-o.png) no-repeat .8em .8em;
	padding: .5em 0 .5em 1.8em;
	border-bottom: 1px #000 dashed;
}
.bll1 {
	border-top: 1px #000 dashed;	
}
.kinentable {
	width: 100%;
	border-collapse: collapse;
	border: 1px #000000 solid;
	margin: .8em 0;
}
.kinentable td.kinentdmidashi {
	font-weight: bold;
	text-align: center;
	padding: .5em 0;
	background: #dcdddd;
	border: 1px #000000 solid; /* セルの枠線（太さ・色・スタイル） */ 
	vertical-align: middle;
}
.kinentable td.kinentdmeisho {
	width: 78px;
	margin: 0;
	padding: 0;
}
.kinentable td {
	border: 1px #000000 solid; /* セルの枠線（太さ・色・スタイル） */ 
	padding: .5em; /* セル内の余白 */ 
	vertical-align: middle;
}
.kinentable td.kinentdkakaku {
	width: 90px;
	color: #ff0000;
	text-align: right;
	vertical-align: middle;
	padding: .5em;
	border: 1px #000000 solid;
}
.hinmoku2 .hinmoku2content {
	margin-bottom: 2em;
}
.hinmoku2 .hinmoku2content p img {
	display: block;
	width: 70%;
  	margin: 0 auto;
}
.hinmoku2 .hinmoku2content .hinmoku2midashi {
	display: block;
	font-size: 1.125rem;
	font-weight: bold;
	text-align: center;
	margin: 1em 0;
	padding-bottom: .5em;
	border-bottom: solid 1px #000000;
}
td.ckittemerit {
	font-weight: bold;
	width: 80px;
	text-align: center;
}
table td.chukitemerit {
	font-weight: bold;
	padding: 0 0 1.5em 0;
}

.comtable {
    width: 100%;
    border-collapse: collapse;
}
.comtable th,
.comtable td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.75em;
}

.comtable th {
    font-weight: 600;
	background-color: #AB9C83;
}
.comtable td {
	background-color: white;
}

p[class^="sq"] {
  color: #664f26;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 1em 0;
  padding: 0.75em 0.75em 0.75em 2.8em;
  position: relative;
}

p[class^="sq"]::before {
  content: "Q";
  position: absolute;
  left: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  width: 1.8em;
  height: 1.8em;
  border-radius: 50%;
  color: #fff;
  background-color: #17902D;
  display: flex;
  align-items: center;
  justify-content: center;
}

p.sa {
	background-color: #f4eae4;
	padding: 0.75em 0.75em 0.75em 3.2em;
	margin: 0;
	position: relative;
}

p.sa::before {
  content: "A";
  position: absolute;
  left: 0.5em;
  top: 0.75em;
  width: 1.8em;
  height: 1.8em;
  border-radius: 50%;
  background: #C5332C;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.2rem;
}

.sabg{
	margin-bottom: 1.5em;
	padding-bottom: 1.5em;
	border-bottom: 1px #7d6e46 dotted;
}


/************************************
************************************/

/* cf7 */

/* ------------------------------
   共通
------------------------------ */
.wpcf7 form {
    max-width: 910px;
    margin: 0 auto;
}
.wpcf7 form * {
    box-sizing: border-box;
}
.CF7_req {
    color: #A00F17;
}
.contact_title {
	color: #A00F17;
	font-size: 18px;
	text-align: center;
	font-weight: 700;
	margin-bottom: 1.5em;
}
.wpcf7-select option:first-child {
  color: gray;
}

/* ------------------------------
   フォームレイアウト
------------------------------ */
.form-wrapp {
    margin-top: 2em;
}

.form-item.l-flex {
    display: flex;
	flex-direction: column;
    gap: 1.5em;
    border-top: 1px solid #664f26;
    padding-block: 2.5em;

}
.confirm_area .form-item.l-flex {
	justify-content: start;
}

.form-item.l-flex:last-child {
    border-bottom: 1px solid #664f26;
}

/* ラベル側 */
.form-item.l-flex label {
    width: 100%;
    font-weight: 600;
    line-height: 1.6;
}

/* 入力側 */
.form-item.l-flex input[type="text"],
.form-item.l-flex input[type="email"],
.form-item.l-flex textarea {
    width: 100%;
    padding: 0.8em 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font: inherit;
    background-color: #fff;
}
.form-item.l-flex select {
    padding: 0.8em 1em;
    border: 1px solid #ccc;
    border-radius: 4px;
    font: inherit;
    background-color: #fff;
}

/* textarea の高さ */
.form-item.l-flex textarea {
    min-height: 180px;
    resize: vertical;
}

/* フォーカス時 */
.form-item.l-flex input[type="text"]:focus,
.form-item.l-flex input[type="email"]:focus,
.form-item.l-flex textarea:focus {
    outline: none;
    border-color: #A00F17;
}

/* ------------------------------
   ボタン
------------------------------ */
.contact-submit {
    margin-top: 2.5em;
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: center;
}

.submit-btn-wrapper {
    min-width: 180px;
}

/* 共通ボタンスタイル */
.btn_basic,
.confirm_button,
.back_button,
.submit-btn input[type="submit"] {
    width: 100%;
    padding: 1em;
    border: none;
    background-color: #A00F17;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    transition: opacity 0.2s ease, transform 0.1s ease;
}
.btn_basic {
	width: 320px;
	margin: 1.5em auto 0;
}
.btn_basic a {
	color: white;
}
.confirm_button:hover,
.back_button:hover,
.submit-btn input[type="submit"]:hover {
    opacity: 0.9;
}

.confirm_button:active,
.back_button:active,
.submit-btn input[type="submit"]:active {
    transform: translateY(1px);
}
.confirm_button:disabled {
    background-color: #ccc;
    color: #fff;
    cursor: not-allowed;
    opacity: 1;
}
.back_button {
    background-color: #666;
    color: white;
}
.back_button:hover {
	opacity: .7;
}

.confirm_area,
.thanks_area {
    display: none;
}

/* ------------------------------
   CF7のエラーメッセージ類の調整
------------------------------ */
.wpcf7-form-control-wrap {
	position: relative;
    flex: 1;
    display: block;
}
.error-message {
    position: absolute;
    left: 0;
    bottom: -1.8em;
    font-size: 0.85em;
    color: #A00F17;
    white-space: nowrap;
    pointer-events: none;
    background: none;
    padding: 0;
    margin: 0;
}
.wpcf7-not-valid-tip,
.wpcf7-spinner,
.wpcf7-response-output {
	display: none !important;
}