@charset "UTF-8";
/*
	BASIC Style	Responsive - Mobile first
*/
/* ========================================================
	Base
======================================================== */
/* Reset */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;font-style: normal;font-weight: normal;vertical-align:baseline;background:transparent;}
body {line-height:1;-webkit-text-size-adjust: 100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
ul,ol {list-style:none;}
img {border: 0;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration: none;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
textarea {resize: vertical;}

html {
	overflow-y: scroll;
	font-size: calc(100vw / 3.75);
}
body {
	color: #333;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",YuGothic,"游ゴシック",sans-serif;
	position: relative;
	text-align: center;
	width: 100%;
	font-feature-settings:'palt';
	overflow-x: hidden;
}
a {
	color: inherit;
	outline: none;
	word-wrap: break-word;
}
img {
	width: auto;
	max-width: 100%;
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
}
h1,h2,h3,h4,h5,h6 {
	line-height: 1;
}
p,ul,ol,table {
	line-height: 1.6;
}
table {
	width: 100%;
	margin: 0 auto .8em;
}

/* ========================================================
	Utility
======================================================== */
.clearfix::after,
.wrap::after {
	content: "";
	display: block;
	clear: both;
}
.clearfix::before,
.wrap::before {
	content: "";
	display: block;
	clear: both;
}
.clearfix,
.wrap {
	display: block;
}
.wrapban::after,
.wrapban::before {
	display: none;
}
.clear { clear: both;}

.gf-sm {
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  font-style: normal;
}
.gf-nt {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}
.filter {
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1);
	position: relative;
	z-index: 1;
}

.mb0 {margin-bottom: 0 !important;}
.mt0 {margin-top: 0 !important;}

.tac { text-align: center !important;}

.ls03 { letter-spacing: -.03em;}
.ls05 { letter-spacing: -.05em;}

.fs50 { font-size: 0.5em !important;}
.fs70 { font-size: 0.7em !important;}
.fs75 { font-size: 0.75em !important;}
.fs80 { font-size: 0.8em !important;}
.fs85 { font-size: 0.85em !important;}
.fs90 { font-size: 0.9em !important;}
.fs95 { font-size: 0.95em !important;}
.fs110 { font-size: 1.1em !important;}
.fs120 { font-size: 1.2em !important;}

.wd50 {width: 50%;}
.wd60 {width: 60%;}
.wd70 {width: 70%;}
.wd80 {width: 80%;}
.wd85 {width: 85%;}

.dib {display: inline-block;}

@media screen and (min-width : 768px) {
.pcflex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
}


/* ========================================================
	Layout
======================================================== */
body {
	font-size: 0.16rem;
}
header {
	background: #6E3D66;
}
header h1 {
	display: flex;
	align-items: center;
	text-align: left;
}
header h1 img {
	height: 1.8em;
}
header h1 span {
	font-size: .7em;
	margin-left: .5em;
}
footer {
	margin-top: 3em;
}
footer small {
	display: block;
	color: #fff;
	background: #6E3D66;
	padding: 1em 0;
	font-size: 0.8em;
}
footer small span {
	font-size: 1.7em;
	vertical-align: middle;
}
footer p {
	position: fixed;
	right: 3%;
	text-indent: -9999px;
	outline: none;
	width: 2.6em;
	height: 2.6em;
	background: rgba(255,255,255,.4);
}
footer p a {
	display: block;	
	width: 100%;
	height: 100%;
}
footer p::before,
footer p a::before,
footer p a::after {
	content: "";
	display: inline-block;
	width: 2em;
	position: absolute;
	left: .3em;
	background: rgba(0,0,0,.1);
}
footer .tomenu {
	bottom: 6.5em;
}
footer .tomenu::before,
footer .tomenu a::before,
footer .tomenu a::after {
	height: .2em;
	border-radius: .2em;
}
footer .tomenu::before {
	top: .5em;
}
footer .tomenu a::before {
	top: 1.1em;
}
footer .tomenu a::after {
	top: 1.7em;
}
footer .pagetop {
	bottom: 3.5em;
	border-radius: 50%;
}
footer .pagetop a::after {
	height: 1.5em;
	clip-path: polygon(0 100%, 50% 0, 100% 100%);
	top: .3em;
}

.wrap {
	margin-left: auto;
	margin-right: auto;
	width: 94%;
}
.cont section p {
	text-align: justify;
	margin-bottom: .8em;
}

@media screen and (min-width : 600px) {
html {
	font-size: 62.5%;
}
body {
	font-size: 1.8rem;
}
}

@media screen and (max-width : 767px) {
.pc { display: none !important;}
body {
	padding: 2.3em 0 3.5em;
}
header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
}
header h1 {
	height: 2.3em;
}
header .ctc li {
	width: 25%;
	text-indent: -9999px;
	position: fixed;
	bottom: 0;
	z-index: 100;
}
header .ctc li.ctc_mail { left: 0;}
header .ctc li.ctc_reserve { left: 25%;}
header .ctc li.ctc_line { left: 50%;}
header .ctc li.ctc_tel { left: 75%;}
header .ctc li a {
	background: #6E3D66;
	height: 3.15em;
	display: flex;
	outline: none;
	background-size: auto 78%;
	background-position: 50%;
	background-repeat: no-repeat;
	border-right: 1px solid #FFF;
}
header .ctc li.ctc_mail a {
	background-image: url(../img/ctc_mail.png);
}
header .ctc li.ctc_reserve a {
	background-image: url(../img/ctc_reserve.png);
}
header .ctc li.ctc_line a {
	background-image: url(../img/ctc_line.png);
}
header .ctc li.ctc_tel a {
	background-image: url(../img/ctc_tel.png);
	border-right: none;
}
header .gnav button {
	position: fixed;
	right: 0;
	top: 0;
	background: #8D6588;
	display: block;
	font-size: 1em;
	width: 3.2em;
	height: 2.3em;
	cursor: pointer;
	color: #fff;
	border: none;
	outline: none;
	z-index: 100;
}
header .gnav button span {
	display: block;
}
header .gnav button::before,
header .gnav button::after,
header .gnav button span::before {
	position: absolute;
	content: "";
	display: block;
	width: 1.3em;
	height: 1.5px;
	background: #fff;
	left: calc(50% - 0.65em);
}
header .gnav button::before {top: 0.65em;}
header .gnav button::after {top: 1.1em;}
header .gnav button span::before {top: 1.55em;}
header .gnav button.active::before {
	transform: rotate(45deg);
	top: 1.1em;
}
header .gnav button.active::after {
	transform: rotate(-45deg);
	top: 1.1em;
}
header .gnav button.active span::before {
	display: none;
}
header .gnav .gnavmenu {
	text-align: left;
	display: none;
	width: 100%;
	position: fixed;
	top: 2.3em;
	left: 0;
	background: rgba(141,101,136,.9);
}
header .gnav li:nth-of-type(n + 2) {
	border-top: 1px solid rgba(255,255,255.3);
}
header .gnav li a {
	display: block;
	padding: .7em 3%;
	color: #FFF;
}
header .gnav li a::before {
	content: "・";
	display: inline-block;
	vertical-align: middle;
	margin-right: .5em;
}
.wdful {
	margin-left: -3.1%;
	margin-right: -3.1%;
	width: 106.2%;
}
}

@media screen and (min-width : 768px) {
.sp { display: none !important; }
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	z-index: 100;
}
body {
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
}
header h1 {
	font-size: 1.4em;
	float: left;
	line-height: 1.5em;
}
header .wrap {
	padding: .5em 0;
}
header .ctc {
	margin-top: .2em;
}
header .ctc li a {
	color: #fff;
	float: right;
}
header .ctc li.ctc_mail a,
header .ctc li.ctc_reserve a {
	display: block;
	margin-left: 1%;
	padding: 0.5em 0.7%;
	font-size: 12pt;
	border-radius: 3px;
	background: #BCAF93;
}
header .ctc li.ctc_line {
	display: none;
}
header .ctc li.ctc_tel {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 2.2em;
}
header .ctc li.ctc_tel a {
	font-size: 1.5em;
	letter-spacing: -.01em;
	font-family: sans-serif;
	font-weight: bold;
	line-height: 1.5em;	
	text-indent: -9999px;
	padding-left: 1.6em;
	background: url("../img/header_freetel_icon.png") no-repeat 0 50%;
	background-size: auto 60%;
}
header .gnav button {
	display: none;
}
header .gnav .gnavmenu {
	display:table !important;
	width: 100%;
	clear: both;
	margin: .7em auto .3em;
}
header .gnav li {
	display: table-cell;
	font-size: .8em;
	border-right: 1px solid #FFF;
}
header .gnav li:first-of-type {
	border-left: 1px solid #FFF;
}
header .gnav li a {
	display: block;
	color: #FFF;
	padding: .5em 0;
}
footer p {
	font-size: 1.3em;
}
.wrap {
	max-width: 1000px;
}
.wdful {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
}

@media screen and (min-width : 1000px) {
header .ctc li.ctc_tel a {
	text-indent: 0;
	padding-left: 1.5em;
	background-size: auto 50%;
}
}

/* ========================================================
	Style
======================================================== */
.cv {
	margin: 1em auto 3em;
}
.cv img {
	width: auto;
}
.cv .cv_info {
	position: relative;
	padding: 1em 0 3.5em;
}
.cv .cv_info::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	background: url(../img/cv_info_bg.png) no-repeat calc(100% + 3em) 100%;
	background-size: auto 11em;
	height: 100%;
	left: 0;
	top: 0;
}
.cv .cv_info p {
	text-align: center;
	line-height: 1;
}
.cv .cv_info img {
	height: 1.3em;
}
.cv .cv_info .cv_info_txt {
	display: grid;
	place-items: end center;
	height: 3.5em;
	padding-right: 4.5em;
}
.cv .cv_info .cv_info_idt {
	background: #D2AF8A;
	background: linear-gradient(180deg, #865E80 0%, #865E80 50%, #6E3D66 50%, #6E3D66 100%);
	padding: 0.65em 2.5em 0.75em 0;
	margin: 1em 2.5em 0 0;
}
.cv .cv_ctc {
	background: #F9F7F3;
	padding: 1em 0 1.5em;
	color: #85623F; 
	font-weight: 500;
	margin-bottom: 1em;
	overflow-x: hidden;
}
.cv .cv_ctc p {
	line-height: 1.4;
	font-size: 1.15em;
	letter-spacing: -.03em;
	margin-right: -.5em;
}
.cv .cv_ctc p img {
	height: 1.6em;
	margin: .8em auto .3em;
}
.cv .cv_ctc ul {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	margin: 1em auto 0;
}
.cv .cv_ctc li {
	width: 49%;
	line-height: 1.4;
}
.cv .cv_ctc li a {
	display: block;
	border-radius: 2px;
	padding: 0.3em 0;
	text-decoration: none;
	color: #FFF;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.3);
	font-size: 1.42em;
	background: rgba(171,139,90,1);
	background : linear-gradient(0deg, rgba(168,129,85, .7) 12.6%, rgba(162,128,84, .7) 26.21%, rgba(180,148,97, .7) 69.18%, rgba(190,159,106, .7) 90.93%, rgba(192,161,108, .7) 94%, rgba(224,198,156, .7) 96%, rgba(211,183,137, .7) 96.44%, rgba(192,161,108, .7) 97%, rgba(144,112,74, .7) 100%);
}
.cv .cv_ctc li span {
	display: block;
	font-size: 0.68em;
}
.cv .cv_line {
	margin: 1em auto;
	width: min(94%, 600px);
}
.cv .cv_line img {
	height: 1.2em;
}
.cv .cv_line dt {
	border: 1px solid #68AE37;
	background: #68AE37;
	padding: .7em 0;
	font-size: .9em;
}
.cv .cv_line dd {
	border: 1px solid #68AE37;
	text-align: center;
	padding: .8em 0;
}
.cv .cv_line dd a {
	display: block;
	background: url(../img/cv_line_icon.png) no-repeat calc(50% - 2.5em) 50% #68AE37;
	background-size: auto 1.5em;
	padding: .6em .5em .6em 2.5em;
	font-size: 1.3em;
	color: #FFF;
	border-radius: .2em;
	margin: .6em auto;
	width: 5.5em;
}
.cmnimg {
	margin-top: 2em;
	margin-bottom: 1.2em;
}
.cmnimg h3 {
	color: #876239;
	font-size: 1.3em;
	line-height: 1.4;
	margin: 1em auto;
}
.cmnimg figcaption {
	background: #6C3C66;
	padding: .5em 0;
	color: #FFF;
	font-size: .85em;
}

@media screen and (min-width : 768px) {
.cv .cv_info::after {
	background-position: 100% 100%;
}
.cv .cv_info .cv_info_txt {
	padding-right: 0;
}
.cv .cv_info .cv_info_idt {
	margin-right: 5.5em;
	padding: 0.65em 0 0.75em 5.5em;
}

.cmnimg .pcflex {
	align-items: flex-end;
}
.cmnimg figure {
	width: 48.5%;
}
.cmnimg figure:first-of-type img {
	width: 85%;
}
.cmnimg figcaption {
	font-size: min(1.8vw,.85em);
}
}

.cont > section {
	margin-bottom: 3em;
}
.cont section p {
	text-align: justify;
	margin-bottom: .8em;
}
.cont figure {
	margin: 1em auto;
}
.cont h2.wdful.gf-nt {
	background: #6E3D66;
	color: #FFF;
	font-size: 1.6em;
	padding: 1.3em 0;
	position: relative;
	margin-bottom: .5em;
}
.cont h2.wdful.gf-nt::before,
.cont h2.wdful.gf-nt::after {
	content: "";
	position: absolute;
	display: block;
	width: 90%;
	height: 1px;
	background: #FFF;
}
.cont h2.wdful.gf-nt::before {
	right: 0;
	top: .8em;
}
.cont h2.wdful.gf-nt::after {
	left: 0;
	bottom: .8em;
}

.cont h2.hlimg.wdful {
	background: url(../img/hl_bg.jpg) no-repeat 100% 50%;
	background-size: cover;
	padding: 1.2em 0 1em;
	margin-bottom: 1em;
}
.cont h2.hlimg.wdful img {
	width: min(90%, 400px);
}

.cont .sec_tx_hl {
	background: #6E3D66;
	color: #FFF;
	margin-bottom: 0.5em;
	position: relative;
	overflow: hidden;
	text-align: left;
	position: relative;
	font-size: .95em;
	height: 3.2em;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
}
.cont .sec_tx_hl span.sec_tx_hl_no {
	width: 7em;
	padding-top: .2em;
	position: relative;
	z-index: 1;
	text-align: center;
}
.cont .sec_tx_hl span.sec_tx_hl_no span {
	font-size: 1.5em;
	margin: 0 0 .2em .1em;
}
.cont .sec_tx_hl strong {
	width: calc(96% - 5.5em);
	padding-left: 4%;
	font-size: 1.4em;
}
.cont .sec_tx_hl span.dib {
	vertical-align: middle;
	letter-spacing: -.03em;
	margin-left: 1%;
	font-size: .55em;
}
.cont .sec_tx_hl::before {
	content: "";
	position: absolute;
	top 0;
	left: -1em;
	display: block;
	width: calc(7.7em + 1.5%);
	height: 100%;
	transform: skewX(25deg);
	background: #CDB29F;
}
@media screen and (max-width : 599px) {
.cont dt.sec_tx_hl span.sec_tx_hl_no {
	width: 6em;
}
.cont dt.sec_tx_hl strong {
	width: calc(96% - 4.5em);
	padding-left: 4%;
}
.cont dt.sec_tx_hl::before {
	width: calc(6.7em + 1.5%);
}
}

.cont .cstbtn {
	background: url("../img/cstbtn.png") no-repeat calc(50% - 5.7em) 50%;
	background-size: auto 1.4em;
	display: block;
	margin: .5em auto;
	color: #FFF;
	position: relative;
	border-radius: .1em;
	background-color: #D6BCA1;
	padding: 1em 0;	
	width: min(84%,400px);
	font-size: 1.2em;
}
.cont .cstbtn::before,
.cont .cstbtn::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: calc(50% - .65em);
	right: calc(50% - 6.5em);
}
.cont .cstbtn::before {
	width: 1.3em;
	height: 1.3em;
	border-radius: 50%;
	background: #FFF;
}
.cont .cstbtn::after {
	background: #D6BCA1;
	width: .8em;
	height: .7em;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	margin: .4em .25em 0 0;
}
.cont .txtlink {
	text-align: right;
}
.cont .txtlink a {
	color: #876239;
}
.cont .txtlink a::after {
	content: "＞＞";
	display: inline-block;
	letter-spacing: -.3em;
	transform: scale(.7, .8);
}

.cont .msg {
	background: url(../img/msg_bg.jpg) no-repeat calc(100% + .5em) 100% #faf9f7;
	background-size: auto 15.3em;
	padding: 1.8em 0 .8em;
	text-align: right;
	margin-bottom: 1em;
}
.cont .msg h3 {
	color: #876239;
	font-size: 1.1em;
	line-height: 1.5;
	text-align: center;
	padding-right: 5em;
	margin: auto;
	max-width: 500px;
}
.cont .msg h3 strong {
	display: block;
	margin: -.3em 0 .5em;
	font-size: 1.45em;
}
.cont .msg h3 span:not(.dib) {
	display: block;
	margin-top: 1em;
}
.cont .msg img {
	height: 2em;
	margin: 1em .5em 0 0;
}

@media screen and (min-width : 768px) {
.cont .msg {
	background: url(../img/msg_bg.jpg) no-repeat 100% 100% #faf9f7;
	background-size: auto 14.8em;
	padding: 2.5em 0 1.3em;
}
.cont .msg h3 {
	max-width: none;
	font-size: 1.2em;
	max-width: 800px;
}
.cont .msg h3 span:not(.dib) {
	margin-top: .5em;
}

}

#mv {
	background: url(../img/mv_bg.jpg) no-repeat calc(100% + 8em) 30% #F1F0F5;
	background-size: auto 23.5em;
	padding: .5em 0 .7em;
	margin-bottom: 0;
}
#mv h1,
#mv .mv_list {
	text-align: left;
	margin: auto;
	width: min(80%,600px);
	padding-right: 10%;
}
#mv h1 img {
	width: min(75%,400px);
}
#mv h1 strong {
	display: inline-block;
	margin: -.2em 0 0 -2%;
	width: 92%;
}
#mv .mv_list li {
	display: inline-block;
	margin: .3em .1%;
	background : rgba(92, 35, 85, 0.75);
	text-align: center;
	color: #FFF;
	padding: .1em .5em;
	border-radius: 2em;
	position: relative;
	z-index: 1;
	min-width: 5em;
}
#mv .mv_list li:nth-of-type(n + 7) {
	min-width: 4em;
}
#mv .mv_list li::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 2px;
	left: 1px;
	background : rgba(92, 35, 85, 0.6);
	border-radius: 2em;
	z-index: -1;
}

@media screen and (max-width : 599px) {
#mv .mv_list li:nth-of-type(2),
#mv .mv_list li:nth-of-type(4),
#mv .mv_list li:nth-of-type(6) {
	margin-right: 30%;
}
}

@media screen and (min-width : 600px) {
#mv {
	background-position: 75% 20%;
}
}

@media screen and (min-width : 768px) {
#mv {
	padding: 1em 0 1.5em;
	background-position: 50% 20%;
}
}

.movie {
    margin: 1.5em auto 0;
    width: min(100%,640px);
    height: min(53vw,360px);
}
.movie video {
    width: 100%;
}
.rsvbtn {
	display: block;
	margin: 1.5em auto;
	width: min(100%, 600px);
	padding: 1em 0;
	border-radius: .4em;
	background : url(../img/btn_bg.png) no-repeat calc(50% + 9.6em) 100%, linear-gradient(0deg, rgba(144, 103, 49, .5) 12.6%, rgba(136, 101, 46, .5) 26.21%, rgba(160, 124, 66, .5) 72.3%, rgba(173, 137, 77, .5) 94%, rgba(215, 183, 134, .5) 96%, rgba(197, 164, 110, .5) 96.46%, rgba(173, 137, 77, .5) 97%, rgba(118, 81, 34, .5) 100%);
	background-size: 2.8em auto, auto;
}
.rsvbtn img {
	height: 1.25em;
	margin-right: 2.3em;
}
.menu {
    width: min(70%,400px);
    margin: 2.5em auto 2em;
}
.menu dt {
    background: #FEFDFB;
    padding: 0.5em 0;
    color: #707070;
    border: solid 1px #E7E7E7;
    font-size: 1.1em;
	cursor: pointer;
}
.menu dt::before {
    content: "";
    display: inline-block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: #707070 transparent transparent transparent;
    border-width: 0.7em 0.6em 0 0.6em;
    margin: 0 0.2em 0.2em 0;
    vertical-align: middle;
}
.menu dt.close::before {
    border-color: transparent transparent #707070 transparent;
    border-width: 0 0.6em 0.7em 0.6em;
}
.menu dd {
	display: none;
}
.menu li {
    border-bottom: 1px dotted #7E7E7E;
    text-align: left;
}
.menu li a {
    display: block;
    padding: 0.6em 3%;
    font-size: 0.9em;
}
.menu li a::before {
    content: "・";
    display: inline-block;
    margin-right: .3em;
}

.introcap {
	background: #64315E;
	padding: 1em 0;
}
.introcap img {
	height: 1.2em;
}

.introcatch {
	margin: 1.2em auto;
	display: flex;
	justify-content: space-between;
}
.introcatch li {
	position: relative;
	width: 32%;
	background: #6E3D67;
	color: #FFF;
	font-size: .93em;
	line-height: 1.3;
	padding-top: .3em;
}
.introcatch li::after {
	content: "";
	display: block;
	width: calc(100% - 2px);
	height: 4.3em;
	border: 1px solid #BFBFC2;
	border-top: none;
	margin-top: .3em;
	background-size: 5em auto !important;
}
.introcatch li:nth-of-type(1)::after {
	background: url(../img/introcatch01.png) no-repeat 50% 50% #FFF;
}
.introcatch li:nth-of-type(2)::after {
	background: url(../img/introcatch02.png) no-repeat 50% 50% #FFF;
}
.introcatch li:nth-of-type(3)::after {
	background: url(../img/introcatch03.png) no-repeat 50% 50% #FFF;
}

.sec_tx_box {
	border: 1px solid #E9DDD5;
	margin-bottom: 1em;
}
.sec_tx_box dd {
	padding: 0 3%;
}
.sec_tx_box dd a.gf-nt {
	display: block;
	width: min(50%,400px);
	padding: .5em 0 .7em;
	margin: .5em auto 1.3em;
	color: #FFF;
	font-size: 1.1em;
	background : linear-gradient(0deg, rgba(130, 103, 60, .7) 7.18%, rgba(128, 101, 57, .7) 21.47%, rgba(151, 125, 78, .7) 37.15%, rgba(160, 134, 86, .7) 42.28%, rgba(203, 180, 137, .7) 49.95%, rgba(183, 158, 113, .7) 67.92%, rgba(160, 134, 86, .7) 85.16%, rgba(108, 82, 45, .7) 100%, rgba(219, 207, 175, .7) 100%);
	border-radius: .1em;
	position: relative;
}
.sec_tx_box dd a.gf-nt::after {
	content: "";
	position: absolute;
	bottom: -.75em;
	right: 0;
	left: 0;
	margin: auto;
	display: inline-block;
	width: 2em;
	height: .8em;
	background: #A79576;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

.worrylist h3 {
    background: url(../img/worrylist_bg.jpg) no-repeat calc(100% + 1.8em) 0;
    background-size: auto 100%;
    color: #A28063;
    padding: 2em 0;
    line-height: 1.1;
	margin-top: 2em;
}
.worrylist h3 strong,
.worrylist h3 span {
	display: block;
	margin-right: 25%;
	margin-right: .8rem;
}
.worrylist h3 strong {
	font-size: 1.4em;
	margin-bottom: 1.5em;
}
.worrylist ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: min(100%, 500px);
	margin: 1em auto;
}
.worrylist li {
	display: inline-block;	
	border: 1px solid #5C305F;
	border-radius: .5em;
	padding: .4em 3%;
	margin-bottom: .8em;
	line-height: 1;
}
.worrylist li:nth-of-type(odd) {
	margin-right: auto;
}
.worrylist li:nth-of-type(even) {
	margin-left: auto;
}
.worrylist li img {
	height: 1.3em;
}
.worrylist .sec_tx_txt figure {
	width: 80%;
}
.worrylist .sec_tx_txt p {
	color: #A27C52;
}

@media screen and (min-width : 768px) {
.worrylist h3 {
	max-width: 700px;
	font-size: 1.1em;
}
.worrylist .sec_tx_txt {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.worrylist .sec_tx_txt figure {
	margin: 0 0 1em 0;
	width: 30%;
}
.worrylist .sec_tx_txt p {
	width: 70%;
}
}

#sec_reason .sec_reason_list {
	text-align: left;
	border-radius: 6px;
	border: 1px solid #BDAA82;
	box-shadow: 2px 2px 0px #D8CCB6;
	padding: 0.5em 3% 0.3em 0;
	margin: 0 auto 0px;
	counter-reset: counter-name;
}
#sec_reason .sec_reason_list li {
	margin: 0.5em 0;
	position: relative;
	padding: 0 0 0 3.8em;
	line-height: 1;
}
#sec_reason .sec_reason_list strong {
	border-bottom: 1px solid #BDAA82;
	display: block;
	padding-bottom: 10px;
	padding-top: 7px;
	margin-bottom: 7px;
	font-weight: 600;
	color: #5C2655;
	font-size: 1.3em;
}
#sec_reason .sec_reason_list li::before,
#sec_reason .sec_reason_list li::after,
#sec_reason .sec_reason_list li strong::before,
#sec_reason .sec_reason_list li strong::after {
	content: "";
	position: absolute;
	display: inline-block;
	top: .5em;
	left: -5px;
}
#sec_reason .sec_reason_list li::before {
	width: 3.5em;
	height: 2em;
	background: #6B4075;
}
#sec_reason .sec_reason_list li::after {
	border-right: 3.5em solid transparent;
	border-top: 2em solid rgba(255,255,255,.2);
}
#sec_reason .sec_reason_list li strong::before {
	border-left: 5px solid transparent;
	border-top: .3em solid #6B4075;
	margin-top: 1.4em;
  }
#sec_reason .sec_reason_list li strong::after {
	width: 2.7em;
	height: 1.3em;
	background-size: auto 70% !important;
	z-index: 10;
}
#sec_reason .sec_reason_list li:nth-of-type(1) strong::after {background: url(../img/sec_reason_list01.png) no-repeat 50%;}
#sec_reason .sec_reason_list li:nth-of-type(2) strong::after {background: url(../img/sec_reason_list02.png) no-repeat 50%;}
#sec_reason .sec_reason_list li:nth-of-type(3) strong::after {background: url(../img/sec_reason_list03.png) no-repeat 50%;}
#sec_reason .sec_reason_list li:nth-of-type(4) strong::after {background: url(../img/sec_reason_list04.png) no-repeat 50%;}
#sec_reason .sec_reason_list li:nth-of-type(5) strong::after {background: url(../img/sec_reason_list05.png) no-repeat 50%;}
#sec_reason .sec_reason_list li:nth-of-type(6) strong::after {background: url(../img/sec_reason_list06.png) no-repeat 50%;}

#sec_tx section {
	margin-bottom: 3em;
}

#sec_tx section .sec_tx_sx {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1em;
}
#sec_tx section .sec_tx_sx dt {
	width: calc(4em + 5%);
	color: #8D0E27;
}
#sec_tx section .sec_tx_sx dd {
	width: calc(95% - 4em);
	text-align: left;
}
#sec_tx section .sec_tx_sx ul {
	display: flex;
	flex-wrap: wrap;
}
#sec_tx section .sec_tx_sx li {
	font-size: .9em;
	background: #D4BDAB;
	color: #FFF;
	padding: .1em 1%;
	border-radius: .2em;
	margin: .2em 0 .2em .3em;
	text-align: center;
	justify-content: space-between;
	flex-grow: 1;
	flex-shrink: 1;
}
#sec_tx section .sec_tx_sx li:nth-of-type(1) {
	flex-basis: 42%;
}
#sec_tx section .sec_tx_sx li:nth-of-type(3) {
	flex-basis: 36%;
}
#sec_tx #sec_tx05 .sec_tx_sx li {
	flex: none;
	width: 9em;
}
#sec_tx section h4 {
	background: #D4BCAC;
	color: #FFF;
	border-radius: 2em;
	padding: .5em 3%;
	width: 8em;
	margin: 1.5em 0 .5em;
}
#sec_tx section .sec_tx_tbl {
	width: 100%;
	margin: 1em auto;
	font-size: .86em;
}
#sec_tx section .sec_tx_tbl th,
#sec_tx section .sec_tx_tbl td {
	padding: .3em 2%;
	text-align: left;
	vertical-align: top;
}
#sec_tx section .sec_tx_tbl th {
	background: #D4BCAC;
	color: #FFF;
	width: 22%;
}
#sec_tx section .sec_tx_tbl tr:nth-of-type(n + 2) th {
	border-top: 1px solid #FFF;
}
#sec_tx section .sec_tx_tbl td {
	border: 1px solid #D4BCAC;
}

#sec_tx section .sec_tx_rcmd {
	text-align: left;
	margin: .7em 0;
}
#sec_tx section .sec_tx_rcmd li::before {
	content: "";
	display: inline-block;
	width: .4em;
	height: .4em;
	border-radius: 50%;
	margin: 0 .3em .2em 0;
	background: #D4BCAC;
}
#sec_tx section h4.fs110 {
	border-radius: 0;
	padding: .6em 3%;
	width: auto;
	text-align: left;
}
#sec_tx  p.tac.wdful {
	margin-top: 3em;
}

@media screen and (min-width : 768px) {
#sec_tx section figure.wd80:first-of-type {
	width: 30%;
	float: right;
	margin: 0 0 1em 3%;
}
#sec_tx section .sec_tx_rcmd li {
	display: inline-block;
	width: 22em;
}
#sec_tx section .sec_tx_sx li {
	flex-basis: auto !important;
	font-size: min(1.8vw,.9em);
}
#sec_tx #sec_tx05 figure.wd60 {
	width: 30%;
	float: right;
	margin: 0 0 1em 3%;
}
}

#sec_flow .sec_flow_chart {
	counter-reset: my-counter;
	text-align: left;
	position: relative;
}
#sec_flow .sec_flow_chart::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 10%;
	width: 1px;
	height: 90%;
	background: #6E3D66;
	z-index: -1;
}
#sec_flow .sec_flow_chart li strong::before {
	content: counter(my-counter);
	counter-increment: my-counter;
	display: inline-block;
	height: 1.3em;
	width: 1.3em;
	line-height: 1.3em;
	font-size: .8em;
	border-radius: 50%;
	background: #FFF;
	color: #6E3D66;
	vertical-align: middle;
	margin: 0 .1em .25em 0;
	text-align: center;
}
#sec_flow .sec_flow_chart li strong {
	display: block;
	font-size: 1.1em;
	background: #6E3D66;
	border-radius: 0 2em 2em 0;
	color: #FFF;
	padding: .2em 0 .2em 3%;
	float: right;
	width: 62%;	
}
#sec_flow .sec_flow_chart li figure {
	width: 35%;
	float: left;
	margin: 0 0 1.5em;
}
#sec_flow .sec_flow_chart li p {
	float: right;
	margin: .3em 0 1.5em;
	width: 62%;
	line-height: 1.4;
}
#sec_flow .sec_flow_txt {
	background: url(../img/sec_flow_txt_bg.jpg) no-repeat calc(50% + .6em) 0;
	background-size: auto 15em;
	padding-top: 10em;
}
#sec_flow .sec_flow_txt img {
	height: 4em;
}
#sec_flow .sec_flow_txt p {
	background: #6C3C66;
	border-radius: .2em;
	color: #FFF;
	padding: 1.2em 5%;
	position: relative;
	margin: 1em auto 0;
	width: min(80%, 500px);
}
#sec_flow .sec_flow_txt p::after {
	content: "";
	display: block;
	width: calc(100% - 1.4em);
	height: calc(100% - 1.4em);
	position: absolute;
	left: .6em;
	top: .6em;
	border: 1px solid #FFF;
	border-radius: .2em;
}

#sec_price .sec_price_catch {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto 1em;
}
#sec_price .sec_price_catch li {
	width: 49%;
	padding: .5em 0;
	background: #FAF6F4;
	color: #990D2E;
	font-size: 1.05em;
	line-height: 1.3;
	border-radius: .3em;
}
#sec_price .sec_price_catch li strong {
	display: block;
	font-size: 1.5em;
	letter-spacing: .1em;
	padding-left: .1em;
}
#sec_price .sec_price_tbl {
	border-top: 1px solid #B1B1B1;
}
#sec_price .sec_price_tbl tr {
	border-bottom: 1px solid #B1B1B1;
}
#sec_price .sec_price_tbl th {
	padding: .5em 0 .5em 3%;
	vertical-align: middle;
	text-align: left;
}
#sec_price .sec_price_tbl td {
	padding: .5em 3% .5em 0;
	vertical-align: middle;
	text-align: right;
	font-size: 1.15em;
	border-left: 1px solid #B1B1B1;
	width: 25%;
	letter-spacing: -.05em;
}
#sec_price .sec_price_ex {
	border-bottom: 1px solid #B1B1B1;
	padding-bottom: 1em;
	margin-bottom: 1em;
}
#sec_price .sec_price_ex p {
	margin-bottom: .3em;
}
#sec_price .rdbox {
	border: 1px solid #D1B8A6;
	border-radius: .5em;
	margin: 1em auto;
}
#sec_price .rdbox dt {
	background: #D1B8A6;
	color: #FFF;
	font-size: 1.1em;
	padding: .6em 0 calc(.6em + 1px);
	border-radius: .4em .4em 0 0;
}
#sec_price .rdbox dd {
	padding: 2% 3%;
}
#sec_price .rdbox dd ul {
	text-align: left;
}
#sec_price .rdbox dd li {
	display: inline-block;
}
#sec_price .rdbox dd li:nth-last-of-type(n + 2) {
	margin-right: 1em;
}
#sec_price .rdbox dd li::before {
	background: #D1B8A6;
	content: "";
	width: .8em;
	height: .8em;
	border-radius: 50%;
	display: inline-block;
	margin-right: .1em;
}
#sec_price .rdbox.minor {
	border: 1px solid #F3A7C2;
}
#sec_price .rdbox.minor dt {
	background: #F3A7C2;
}
#sec_price .rdbox .cstbtn {
	font-size: 1.1em;
	border-radius: .3em;
	background-color: #F3A7C2;
	padding: .7em 0;	
	width: min(80%,400px);
}
#sec_price .rdbox .cstbtn::after {
	background: #F3A7C2;
}
#sec_price .credit {
	text-align: left;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: min(100%,20.5em);
	margin-top: .2em;
}
#sec_price .credit img {
	height: 1.57em;
	margin: 1% 0;
}
#sec_price .sec_price_loan strong {
	display: block;
	background: #D1B8A6;
	color: #FFF;
	font-size: 1.1em;
	padding: .2em 0;
	text-align: center;
	border-radius: 2em;
	margin: .5em auto;
}

#sec_faq h3 {
	text-align: left;
	color: #6E3D67;
	font-size: 1.15em;
	margin: 2em 0 .8em;
}
#sec_faq h3::before {
	content: "";
	display: inline-block;
	width: .6em;
	height: .6em;
	background: #6E3D67;
	border-radius: 50%;
	vertical-align: middle;
	margin: 0 .1em .2em 0;
}
#sec_faq .sec_faq_list {
	line-height: 1.6;
	text-align: left;
}
#sec_faq .sec_faq_list dt {
	background: url(../img/sec_faq_list.png) no-repeat 2% .5em #D1B8A6;
	background-size: 1.4em auto;
	color: #FFF;
	padding: .4em calc(2% + 1.5em) .4em calc(2% + 1.8em);
	margin-bottom: .5em;
	position: relative;
}
#sec_faq .sec_faq_list dt::before,
#sec_faq .sec_faq_list dt span::before,
#sec_faq .sec_faq_list dt span::after {
	content: "";
	display: inline-block;
	position: absolute;
	right: 3%;
	top: .5em;
}
#sec_faq .sec_faq_list dt::before {
	width: 1.3em;
	height: 1.3em;
	background: #FFF;
	border-radius: 50%;
}
#sec_faq .sec_faq_list dt span::before,
#sec_faq .sec_faq_list dt span::after {
	width: .8em;
	height: 2px;
	background: #D1B8A6;
	margin: .6em .25em 0 0;
}
#sec_faq .sec_faq_list dt span::after {
	transform: rotate(90deg)
}
#sec_faq .sec_faq_list dt.close span::after {
	display: none;
}
#sec_faq .sec_faq_list dd:nth-last-of-type(n + 2) {
	padding-bottom: 1.5em;
}
#sec_faq p {
	border-top: 1px solid #929292;
	margin-top: 1.5em;
	padding-top: 1.5em;
}

#sec_info h3:not(.gf-nt) {
	background: #6E3D66;
	color: #FFF;
	font-size: 1.5em;
	padding: .5em 0;
	margin: 2em 0 .5em;
}
#sec_info h4 {
	color: #5C305F;
	text-align: left;
	margin: 2em -1em .5em 0;
	padding-left: 1em;
	font-size: 1.03em;
	background: url(../img/cap_bg.png) no-repeat 0 .1em;
	background-size: .8em auto;
}
#sec_info strong.fs110 {
	display: block;
	color: #5C2655;
	margin: 1em 0 1em;
}
#sec_info .noteln {
  background-color: #fff;
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%),
                    linear-gradient(180deg, #D4D4D4 1px, transparent 1px);
  background-size: .4em 100%,100% 2.2em;
  line-height: 2.2em;
  padding-bottom: 1px;
}
#sec_info .sec_info_gbtn {
    display: block;
    background: url(../img/sec_info_gbtn.png) no-repeat calc(50% - 5.2em) 50% #634166;
    background-size: auto 1.2em;
    color: #FFF;
    text-decoration: none;
    padding: 0.8em 0;
    border: 1px solid #FFF;
    border-radius: 0.8em;
    font-size: 1.2em;
    box-shadow: 0px 3px 3px rgba(0,0,0,0.3);
    position: relative;
    width: min(85%, 600px);
    margin: 1.5em auto 2em;
}
#sec_info .sec_info_gbtn::before,.sec_info_gbtn::after {
    content: "";
    position: absolute;
    display: inline-block;
}
#sec_info .sec_info_gbtn::before {
    width: 1.2em;
    height: 1.2em;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    top: calc(50% - 0.6em);
    right: calc(50% - 6em);
}
#sec_info .sec_info_gbtn::after {
    width: 0px;
    height: 0px;
    border-style: solid;
    border-color: transparent transparent transparent #FFF;
    border-width: 0.4em 0 0.4em 0.6em;
    top: calc(50% - 0.4em);
    right: calc(50% - 5.8em);
}
#sec_info .sec_info_tbl {
	width: 100%;
	border-bottom: 1px solid #919191;
	font-size: 0.95em;
}
#sec_info .sec_info_tbl caption img {
	width: 15em;
	margin: .2em auto 1.5em;
}
#sec_info .sec_info_tbl th,
#sec_info .sec_info_tbl td {
	text-align: left;
	vertical-align: middle;
	padding-top: 0.7em;
	padding-bottom: 0.7em;
	border-top: 1px solid #919191;
}
#sec_info .sec_info_tbl th {
	padding-left: 3%;
	width: 14%;
	min-width: 6em;
	position: relative;
}
#sec_info .sec_info_tbl th::after {
	content: "：";
	letter-spacing: 0;
	position: absolute;
	right: 7%;
}
#sec_info .sec_info_tbl tr:nth-last-of-type(2) th {
	letter-spacing: 0.5em;
}
#sec_info .sec_info_tbl tr:last-of-type th {
	letter-spacing: 2em;
}
#sec_info .sec_info_tbl tr:last-of-type th span {
	margin-right: -1em;
}
#sec_info .sec_info_ph {
	margin: 1em auto;
	position: relative;
	max-width: 600px;
}
.slick-list {
	padding: 0 !important;
	margin: 0 2.5em;
}
.slick-arrow {
	position: absolute;
	font-size: 1em;
	line-height: 1.6;
	text-indent: -9999px;
	display: block;
	border-radius: 50%;
	outline: none;
	border: none;
	cursor: pointer;
	z-index: 10;
	width: 1.8em;
	height: 1.8em;
	padding: 0;
	top: calc(50% - 0.9em);
	letter-spacing: 0;
	background: #F3F3F3;
}
.slick-prev {
	left: 0;
}
.slick-next {
	right: 0;
}
.slick-arrow::after {
	content: "";
	position: absolute;
	top: .3em;
	display: inline-block;
	width: 1em;
	height: 1.2em;
	background: #949494;
}
.slick-prev::after {
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	left: .3em;
}
.slick-next::after {
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	right: .3em;
}



@media screen and (min-width : 600px) {
#sec_price .credit {
	display: block;
	width: auto;
}
#sec_price .credit img {
	height: min(3.3vw,2em);
}
}


@media screen and (min-width : 768px) {
#sec_flow .sec_flow_chart li strong,
#sec_flow .sec_flow_chart li p {
	width: calc(97% - 200px);	
}
#sec_flow .sec_flow_chart li figure {
	width: 200px;
}
#sec_flow .sec_flow_chart li strong {
	padding: .5em 0 .5em 3%;
	margin-bottom: 1em;
}
}

.form .cont {
	padding-top: 1em;
}
.form .cont p {
	text-align: left;
}
.form .cont p span {
	white-space: nowrap;
}
.form_tbl {
	width: 100%;
	margin: 1em auto;
	font-size: .9em;
}
.form_tbl caption  {
	width: 80%;
	margin: 1em auto;
	background: #BCAF93;
	color: #FFF;
	padding: 0.2em 0;
	border-radius: 1.5em;
	font-size: 1.2em;
}
.form_tbl th,
.form_tbl td {
	display: block;
	line-height: 1.6;
	text-align: left;
	padding-bottom: 1em;
}
.form_tbl th {
	position: relative;
    border-top: 1px solid #ccc;
	padding: 1em 0 .5em;
}
.form_tbl th::before {
	content: "必須";
    background: #6E3D66;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    font-size: .6em;
	padding: .1em .7em;
}
.form_tbl th::before {
	margin: 0 .7em .3em 0;
}
.form_tbl th.any::before {
	content: "任意";
    background: #999;
}
.form_tbl input[type="text"],
.form_tbl input[type="number"],
.form_tbl input[type="tel"],
.form_tbl input[type="email"],
.form_tbl select,
.form_tbl textarea {
	border: solid 1px #4D4D4D;
	border-radius: 0;
	box-shadow: none !important;
	padding: .7em;
	margin: .3em 0;
	vertical-align: middle;
	font-size: 16px;
    -webkit-appearance: none;
	font-family: sans-serif;
}
.form_tbl input[type="number"] {
	width: 4.5em;
}
.form_tbl input[type="text"],
.form_tbl input[type="email"] {
	width: 90%;
}
.form_tbl input[type="tel"] {
	width: 50%;
}
.form_tbl input[type="radio"],
.form_tbl input[type="checkbox"] {
	vertical-align: middle;
	line-height: 1;
	margin: 0;
	width: 1em;
	height: 1em;
}
.form_tbl ::placeholder {
	color: #ccc;
}
.form_tbl textarea {
	width: 90% !important;
	height: 10em !important;
}
.form_tbl label {
	display: block !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 1em 0 0 !important;
}

.form_btn {
	display: block;
	width: min(70%, 400px);
	text-align: center;
	margin: 2em auto 4em;
	border-radius: .2em; 
	background: #BCAF93;
	position: relative;
}
.form_btn::after {
	content: "";
	position: absolute;
	right: calc(50% - 4.8em);
	top: calc(50% - .5em);
	display: inline-block;
	width: .7em;
	height: 1em;
	background: #FFF;
	clip-path: polygon(0 0, 0 100%, 100% 50%);
}
.form_btn input,
.form_btn input:hover,
.form_btn a,
.form_btn a:hover {
	border: none;
	border-radius: 0; 
	background: none;
	color: #fff;
	font-size: 1.1em;
	line-height: 1;
	outline: none;
	cursor: pointer;
    -webkit-appearance: none;
	position: relative;
	z-index: 1;
	padding: 1em 0;
	display: block;
	width: 100%;
	margin: 0;
	text-indent: -.5em;
}
.pp_list {
	margin-bottom: 3em;
}
.pp_list h3 {
	text-align: left;
	margin: 1.5em 0 .5em;
	font-size: 1.1em;
}

/* default customize */
.mfp_ok {
    background-color: #FFF;
}
div.mfp_ok {
	display: none !important;
}
:focus {
	outline-color: #000;
}
form#mailformpro label.mfp_checked {
    padding: 0 !important;
    border: none !important;
    background-color: #FFF !important;
    box-shadow: none !important;
}
.mfp_element_submit {
	text-shadow: none;
}
button.mfp_element_submit, button.mfp_element_reset, button.mfp_element_button {
	background-color: #BCAF93 !important;
	border: none !important;
}
