@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Klee+One:wght@400;600&display=swap');
html{
	font-size: 62.5%;
/*16px*62.5%=10px*/
}
body{
	font-size: 1.6rem;
	font-family: "Cormorant Garamond","Klee One", cursive, YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	line-height: 1.7;
	font-weight: 700;
	letter-spacing: 1.2px;
	background-color: #fff;
	color: #37210e;
}
p{
	line-height: 2;
}
.digit {
	font-size: 1.8rem;
	font-family: "EB Garamond", serif;
	font-weight: 400;
	display: contents;
}
/*pc_tab(横)のみ*/
.d_tab {
	display: none !important;
}
/*SP(481～767px)のみ*/
.d_sp {
	display: none !important;
}
/*SSP(～480px)のみ*/
.d_ssp {
	display: none !important;
}
/*SP以外*/
.d_pc_but{
	display: none !important;
}
/*縦長*/
.d_heigt{
	display: none;
}
@media screen and (max-width: 1366px) and (orientation: landscape)/*横長の場合*/{
	.d_width{
		display: block;
	}
	.d_heigt{
		display: none;
	}
}
@media screen and (max-width: 1024px) and (orientation: portrait)/*縦長の場合*/{
	.d_width{
		display: none;
	}
	.d_heigt{
		display: block;
	}
}
@media print, screen and (max-width: 999px) {
	.d_pc_tab{
		display: block !important;
	}
	.d_pc {
		display: none !important;
	}
	.d_tab{
		display: block !important;
	}
	.d_sp {
		display: none !important;
	}
	.d_ssp {
		display: none !important;
	}
	.d_pc_but{
		display: block !important;
	}
}
@media print, screen and (max-width: 767px) {
	/*PC,tab*/
	.d_pc_tab{
		display: none !important;
	}
	.d_pc {
		display: none !important;
	}
	.d_tab{
		display: none !important;
	}
	.d_sp {
		display: block!important;
	}
	.d_ssp {
		display: none!important;
	}
	.d_pc_but{
		display: block !important;
	}
}
@media print, screen and (max-width: 480px) {
	.d_pc {
		display: none !important;
	}
	.d_tab{
		display: none !important;
	}
	.d_sp {
		display: none !important;
	}
	.d_ssp {
		display: block!important;
	}
	/*SP以外*/
	.d_sp_but{
		display: none !important;
	}
	/*PC以外*/
	.d_pc_but{
		display: block !important;
	}
}
/* ===== * reset * =====*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,figure {
	margin: 0;
	padding: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
section{
	padding: 10rem 0;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
q:before,q:after {
	content: '';
}
object,embed {
	vertical-align: top;
}
hr,legend {
	display: none;
}
img,abbr,acronym,fieldset {
	border: 0;
}
ol,ul {
	list-style-type: none;
}
img{
	width: 100%;
	height: auto;
}
*, *:before, *:after {
	margin: 0;
	padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
*:before,
*:after {
	font-family: "Font Awesome 5 free";
	font-weight: bold;
}
section{
/*	max-width: 1400px;
	margin: 0 auto;*/
	overflow: hidden;
}
/*.main_wrap{
	max-width: 1000px;
	margin: 0 auto;
	padding: 5rem 0;
}*/
.te_left {
	text-align: left !important;
}
.te_right {
	text-align: right !important;
}
.te_center {
	text-align: center !important;
}
.inb{
	display: inline-block;
}
.flex {
	display: flex !important;
	flex-wrap: wrap;
}
.reverse {
	flex-flow: row-reverse;
}
.a_center {
	align-items: center;
}
.j_center {
	justify-content: center;
}
.j_sb{
	justify-content: space-between;
}
small {
	font-size: 90%;
	font-weight: normal;
}
a {
	outline: none;
	text-decoration: none;
	color: #37210e;
	transition: .4s;
}
a:hover {
	opacity: 0.8;
/*	color: #ff7d00;*/
	filter: alpha(opacity=80);
/* ie lt 8 */
	-ms-filter: alpha(opacity=80);
/* ie 8 */
	-moz-opacity: 0.8;
/* FF lt 1.5, Netscape */
	-khtml-opacity: 0.8;
/* Safari 1.x */
}
.button{
	position: relative;
	width: 100%;
	max-width: 150px;
}
.button::before{
	display: block;
	content: "";
	position: absolute;
	width: 40px;
	height: 1px;
	background-color: #91744c;
	left: 60%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 110;
}
.button::after{
	display: block;
	content: "";
	position: absolute;
	width: 10px;
	height: 1px;
	background-color: #91744c;
	left: 70.6%;
	top: 45%;
	transform: translate(-50%,-50%) rotate(45deg);
	z-index: 110;
}
.button:hover::before, .button:hover::after{
	animation: buttony1 .5s forwards;
}
.button:hover::after{
	animation: buttony2 .5s forwards;
}
@keyframes buttony1{
	0%{
		left: 60%;
	}
	100%{
		left: 65%;
	}
}
@keyframes buttony2{
	0%{
		left: 70.6%;
	}
	100%{
		left: 75.6%;
	}
}
.button a{
    position: relative;
    cursor: pointer;
    text-decoration: none;
    line-height: 2rem;
    display: inline-block;
	z-index: 100;
	padding: 1.5rem 0;
	width: 100%;
	max-width: 150px;
	text-align: left;
	margin: 1.5rem auto;
	font-size: 2rem;
}
.button a::before{
	display: block;
	content: "";
	position: absolute;
	top: -6%;
	transform: rotate(-16deg);
    right: 2%;
    width: 50px;
    height: 50px;
	background-color: #f0ece0;
}
.button:hover a::before{
	animation: buttons 1s forwards;
	
}
@keyframes buttons{
	0%{
		transform: rotate(-16deg);
	}
	100%{
		transform: rotate(254deg);
		background-color: #cfc9b7;
	}
}
span.anchorlink {
	position: relative;
	top: -40px;
	display: block;
}
span#STYLEINDEX.anchorlink{
	top: 3500px;
}
.b{
	font-weight: bold;
}
.im_txt{
	font-size: 2rem;
	font-weight: 800;
}
.im_line{
	background-image: -webkit-gradient(linear,left top,right top,color-stop(rgba(255,229,97, .7), #d8c383));
    background-image: linear-gradient(90deg, rgba(255,229,97, .7), #d8c383);
    background-repeat: no-repeat;
    background-size: 200% 40%;
    background-position: 0 bottom;
    -webkit-animation: marker 5s ease 0s;
    animation: marker 5s ease 0s;
    font-weight: 800;
}
/* ぼかしから出現 */
.blur{
	animation: blurAnime 1.2s forwards;
}
@keyframes blurAnime{
  from {
	  filter: blur(10px);
	  transform: scale(1.02);
	  opacity: 0;
  }
  to {
	  filter: blur(0);
	  transform: scale(1);
	  opacity: 1;
  }
}
.blurTrigger_l{
    opacity: 0;
}
/*color*/
.black{
	color: #000;
}
.red{
	color: #ff0000;
}
.blue {
	color: #34698d;
}
.pink {
	color: #e52167;
}
.green{
	color: #268600;
}
.yellow {
	color: #ffff00;
}
.gray{
	color: #888;
}
.white {
	color: #fff !important;
}
.brown {
	color: #411700;
}
.gold {
	color: #927700;
}
.gold_l {
	color: #d7b77d;
}
.orange {
	color: #ff6200;
}
/*size*/
.small{
	font-size: 80%;
}
.big{
	font-size: 130%;
}
.w-300 {
	max-width: 300px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95% !important;
}
.w-400 {
	max-width: 400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95% !important;
}
.w-500 {
	max-width: 500px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95% !important;
}
.w-600 {
	max-width: 600px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95% !important;
}
.w-700 {
	max-width: 700px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95% !important;
}
.w-800 {
	max-width: 800px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95% !important;
}
.w-900 {
	max-width: 900px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95%;
}
.w-1000 {
	max-width: 1000px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95% !important;
}
.w-1200 {
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
	width: 95% !important;
}
/*--size--*/
.w1 {
	width: 8.3333% !important;
}
.w2 {
	width: 16.6666% !important;
}
.w3 {
	width: 25% !important;
}
.w4 {
	width: 33.3333% !important;
}
.w5 {
	width: 41.6666% !important;
}
.w6 {
	width: 50% !important;
}
.w7 {
	width: 58.3333% !important;
}
.w8 {
	width: 66.6666% !important;
}
.w9 {
	width: 75% !important;
}
.w10 {
	width: 83.333% !important;
}
.w11 {
	width: 91.6666% !important;
}
.w12 {
	width: 100% !important;
}
/* ===== * fadeIn * =====*/
.fade {
	opacity : 0;
	transition: 1s;
}
.fadein{
	animation: fadeIn 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
	opacity: 1;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 画面内に入った状態 */
.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}
/* 2つ目の要素に200msのdelayをかける */
.fadein:nth-of-type(2) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
	}
/* 3つ目の要素に400msのdelayをかける */
.fadein:nth-of-type(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
	}

/*--===アコーディオン===--*/
/*ラベル*/
.accbox label {
	display: block;
	cursor :pointer;
	transition: all 0.5s;
}
/*チェックは隠す*/
.accbox input {
	display: none;
}
/*中身を非表示にしておく*/
.accbox .accshow {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	transition: 0.8s;
}
/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
	height: auto;
	padding: 5px;
	/*background: #fff5eb;*/
	opacity: 1;
}
.accbox .accshow p {
	margin: 15px 10px
}
/*チェックマークがついているリスト*/
ul.list01 li {
	display: flex;
	border-bottom: 1px dashed #aaa;
	padding-bottom: 0.2rem;
	padding-top: 0.5rem;
}
ul.list01 li:before {
	content: "\f00c";
	display: block;
	font-size: 1.2rem;
	position: relative;
	top: 3px;
	margin: 0 0.5rem;
	color: #e52167;
}
/*青丸がついているリスト*/
ul.list02 li,

.format ul li {
	display: flex;
	padding-bottom: 0.2rem;
	padding-top: 0.5rem;
}
ul.list02 li:before,
.format ul li:before {
	content: "\f111";
	color: #34698d;
	display: block;
	font-size: 0.9rem;
	position: relative;
	top: 5px;
	margin: 0 0.5rem;
}
/* 数字がついているリスト */
ol.list03,
.format ol {
	margin: 3rem;
}
ol.list03 li,
.format ol li {
	list-style-type: decimal;
	border-bottom: 1px dashed #aaa;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
}
ol.list03 li::marker,
.format ol li {
	font-size: 2.5rem;
	color: #385674;
	font-weight: bold;
}
/* box01 */
.box01 {
	box-shadow: 0px 0px 3px #2d4b69;
	margin: 2rem 0.5rem;
	padding: 2rem ;
	border-radius: 1rem;
}
.box02 {
	background: rgba(0,0,0,.7);
	margin: 0.5rem 0.5rem;
	padding: 2rem 3rem;;
	border-radius: 0.5rem;
}
/*--== タブ切替 ==--*/
.tab-wrap {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	margin-top: 1rem;
}
.tab-label {
	color: #fff;
	cursor: pointer;
	flex: 1;
	font-weight: bold;
	order: -1;
	padding: 12px 24px;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
	background: rgba(0,0,0,.7);
/*	border-radius: 3rem;*/
	margin: 0 1rem;
	font-size: 2rem;
}
.tab-switch:checked + .tab-label.honin {
	background: rgb(207 201 183);
}
.tab-label:hover {
	opacity: .7;
}
.tab-switch:checked + .tab-label {
	color: #fff;
	background: rgba(207,201,183,1);
	overflow: hidden;
}
.tab-label::after {
	background: #355064;
	bottom: 0;
	content: '';
	display: block;
	height: 3px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(100%);
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
	width: 100%;
	z-index: 1;
}
.tab-switch:checked ~ .tab-label::after {
	transform: translateX(-100%);
}

.tab-switch:checked + .tab-label::after {
	opacity: 1;
	transform: translateX(0);
}
.tab-content {
	height:0;
	opacity:0;
	pointer-events:none;
	transform: translateX(-30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
	width: 100%;
	margin-top: .5rem;
	}
.tab-switch:checked ~ .tab-content {
	nsform: translateX(30%);
}
.tab-switch:checked + .tab-label + .tab-content {
	height: auto;
	opacity: 1;
	order: 1;
	pointer-events:auto;
	transform: translateX(0);
	min-height: 30vh;
	margin-bottom: 1rem;
}
.tab-wrap::after {
	content: '';
	height: 20px;
	order: -1;
	width: 100%;
}
.tab-switch {
	display: none;
}
/*--==== CONTACT ====--*/
/*input,textarea {
  -webkit-appearance: none;
}*/
.form-wrap.contact .sec-contact dl{
	margin: 1rem 0;
	padding: 1rem 0;
	border-top: 1px dashed;
	border-bottom: 1px dashed;
}
.form-wrap.contact .sec-contact .headline04{
	color: #de0909;
}
.form-wrap.contact .sec-contact ul {
	line-height: 2rem;
	letter-spacing: 1px;
	margin: 0 1rem;
	padding-left: 1rem;
}
.form-wrap.contact .sec-contact ul li {
	list-style: disc;
}
.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"] ,
.form-wrap select,
.form-wrap input[type="date"] ,
.form-wrap textarea {
	font-family: acumin-pro,heisei-kaku-gothic-std,"ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    height: 41px;
    font-size: 15px;
    letter-spacing: .05em;
    padding: 0 1em;
}

.form-wrap input:-internal-autofill-selected {
	background: #aaa;
}
.form-wrap textarea {
	min-height: 200px;
	padding: 1rem;
}
.form-wrap input[type="radio"] {
	min-height: 20px;
	width: 20px;
	display: inline-block;
	content: "";
	position: relative;
	top: 3px;
	margin: 7px 5px 0 10px;
}
.mwform-radio-field input {
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}
.form-wrap input[type="checkbox"] {
	vertical-align: middle;
	min-height: 22px;
	width: 22px;
	display: inline;
	margin: 7px 5px 10px 10px;
}
.form-wrap option {
	font-weight: 300;
}

.form-wrap input[type="submit"] {
	text-align: center;
	display: block;
	margin: 2rem auto 4rem;
	font-size: 1.2rem;
	padding: 0.5rem 1.5rem 0.3rem;
	background: #9b1c25;
	color: #fff;
	border: none;
	transition: .3s;
}
.form-wrap input[type="submit"]:hover {
	opacity: .7;
}
input:active {
    border-color: #355064;
}
.form-wrap .required:before {
	content: "※";
	color: #cf000f;
}
.form-wrap label p {
	margin-top: 0.8rem;
}
.form-wrap input.submit:hover {
    background: #355064;
}
.form-wrap input.submit {
    padding: 1rem !important;
    display: block;
    width: 250px;
    background: #010101;
    border: none;
    color: #fff;
    font-weight: bold;
    font-size: 1.5rem;
    cursor: pointer;
}
.form-wrap dt {
    margin-bottom: 0.5rem;
}
.form-wrap dl {
    margin-bottom: 1.5rem;
	font-size: .9rem;
}
#footer, #footer a, #footer p, #footer nav p, #footer nav a{
	color: #fff;
	background-color: transparent;
}
@media print, screen and (max-width: 1199px) {
	body{
		font-size: 1.4rem;
	}
}
@media print, screen and (max-width: 767px) {
	.button a::before{
		width: 40px;
		height: 40px;
		top: 0;
		right: 12%;
	}
}
@media print, screen and (max-width: 480px) {
	section{
		padding: 5rem 0;
	}
	.digit{
		font-size: 1.6rem;
	}
}
