@charset "utf-8";
/*-----------------------------------------------
 * common.css
 * レスポンシブは基本スタイルを引き継ぐ（PCファースト）
 * @media screen and (max-width:767px)
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
 * Bace
 * Modal
 * Header
 * Footer
 * Parts
-------------------------------------------------*/
/*-----------------------------------------------
 * Reset, root
-------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#FFF}hr{display:none}img{vertical-align:bottom}select,input,button,textarea{font-size:99%}table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}.hd{display:block;width:0;height:0;overflow:hidden}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{*zoom:1}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none;}*:focus{outline: none;}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;}

:root {
	min-width: 100%;
	min-height: 640px;
	--vw-min: 1366;
	/* メインで使用するサイズやカラー */
	--main-font-size: min(calc(16 / var(--vw-min) * 100vw),16px);
	--main-font-family: "Shippori Mincho", "メイリオ", Meiryo, sans-serif;

	--f-en: "Cinzel", serif;

	/* COLOR */
	--color-main:#fac03d;
	--color-sub:#ea6d8d;

	--color-pink:#ea6d8d;
	--color-orange:#f07c63;
	--color-purple:#9d5b99;
	--color-blue:#5084c4;
	--color-green:#3db270;
	--color-lightblue:#21a4da;
	--color-emerald:#00aca8;

	/* easing */
	--easing-outquart: cubic-bezier(0.25, 1, 0.5, 1);
}
@media screen and (max-width:767px){
	:root {
	    min-width: 100%;
		min-height: auto;
		--main-font-size: 12px;
		--vw-min: 750;
		--vh-min: 1334;
	}
}


/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: #000;
	font-family: var(--main-font-family);
	font-size: var(--main-font-size);
	font-weight: normal;
	letter-spacing: 0.07em;
	line-height: 1.8;
	word-wrap: break-word;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: #222; }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
	background: #B7D4F9;
	color: #000;
}
::-moz-selection{
	background: #B7D4F9;
	color: #000;
}
@media screen and (max-width:767px){
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
}

/**
 * scroll bar
 */
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
	background: #fff;
}
::-webkit-scrollbar-thumb {
	background: #000;
	margin: 2px;
	box-shadow: none;
}


/**
 * Wrap
 * 大枠のwrap指定
 */
/* fullWrap */
#fullWrap {
	position: relative;
	z-index: 1;
}


/*-----------------------------------------------
 * Modal
-------------------------------------------------*/
/**
 * modalBox
 * 基盤のモーダル
 */
.modalBox{
	-webkit-overflow-scrolling: touch;
	background: linear-gradient(90deg, rgba(21, 116, 147, .8) 0%, rgba(57, 150, 115, .8) 100%);
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.oneModal{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.oneModal.is-show {
	display: block;
}

/* oneModalIn */
.oneModalIn{
	display: flex;
	justify-content: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.oneModalIn__cont{
	padding: 50px 0;
}
@media screen and (max-width:767px){
	.oneModalIn{
		min-width: 100%;
	}
	.oneModalIn__cont{
		width: 100%;
		padding: 0;
	}
}

/**
 * closeBtn
 */
.closeBtn{
	width: min(calc(36 / var(--vw-min) * 100vw), 36px);
	height: min(calc(28 / var(--vw-min) * 100vw), 28px);
	position: absolute;
	top: min(calc(46 / var(--vw-min) * 100vw), 46px);
	right: min(calc(43 / var(--vw-min) * 100vw), 43px);
	z-index: 2;
}
@media screen and (max-width:767px){
	.closeBtn{
		width:calc(42 / var(--vw-min) * 100vw);
		height:calc(32 / var(--vw-min) * 100vw);
		top: calc(65 / var(--vw-min) * 100vw);
		right: calc(60 / var(--vw-min) * 100vw);
	}
}

.closeBtn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* img */
.closeBtn a:before {
	content: "";
	background: url(../img/common/icon/icon_close.png) no-repeat center / contain;
	width: 100%;
	height: 100%;
}

/**
 * iframe
 */
/* common */
.commonIframe{
	width: 100%;
	height: 100%;
	display: block;
}

/* youtube */
.youtubeIframeWrap {
	width: 70%;
	max-width: 159.993vh;
	position: relative;
}
@media screen and (max-width:767px){
	.youtubeIframeWrap {
		width: 100%;
		max-width: 100%;
		margin: 50px 0;
	}
}
.youtubeIframeWrap:before{
	content: "";
	display: block;
	padding-top: 56.25%;
	z-index: 0;
}
.youtubeIframe{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/* comment */
.comment__cont {
	background-color: #fff;
	width: min(calc(850 / var(--vw-min) * 100vw), 850px);
	padding: min(calc(90 / var(--vw-min) * 100vw), 90px);
	position: relative;
}
.comment__cont:before {
	content: "";
	border: 2px solid #916e49;
	box-sizing: border-box;
	width: calc(100% - min(calc(4 / var(--vw-min) * 100vw), 4px));
	height: calc(100% - min(calc(4 / var(--vw-min) * 100vw), 4px));
	margin: auto;
	pointer-events: none;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
.comment__cont:after{
	content: "";
	border: 1px solid #916e49;
	box-sizing: border-box;
	width: calc(100% - min(calc(12 / var(--vw-min) * 100vw), 12px));
	height: calc(100% - min(calc(12 / var(--vw-min) * 100vw), 12px));
	margin: auto;
	pointer-events: none;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
@media screen and (max-width:767px){
	.comment__cont {
		width: calc(670 / var(--vw-min) * 100vw);
		padding: calc(96 / var(--vw-min) * 100vw) calc(80 / var(--vw-min) * 100vw);
		margin: calc(140 / var(--vw-min) * 100vw) auto;
	}
	.comment__cont:before {
		width: calc(100% - calc(8 / var(--vw-min) * 100vw));
		height: calc(100% - calc(8 / var(--vw-min) * 100vw));
	}
	.comment__cont:after {
		width: calc(100% - calc(20 / var(--vw-min) * 100vw));
		height: calc(100% - calc(20 / var(--vw-min) * 100vw));
	}
}

.comment__cont--deco {
	background: url() no-repeat center / contain;
	width: min(calc(236 / var(--vw-min) * 100vw), 236px);
	height: min(calc(204 / var(--vw-min) * 100vw), 204px);
	pointer-events: none;
	position: absolute;
	z-index: 3;
}
.comment__cont--deco.is-top {
	background-image: url(../img/deco/deco_modal_frame_top.png);
	top: max(-20px, -1.497vw);
	right: max(-20px, -1.497vw);
}
.comment__cont--deco.is-bottom {
	background-image: url(../img/deco/deco_modal_frame_bottom.png);
	bottom: max(-20px, -1.497vw);
	left: max(-20px, -1.497vw);
}
.comment__cont--title {
	background: url(../img/ttl/title_comment.png) no-repeat center / contain;
	width: min(calc(138 / var(--vw-min) * 100vw), 138px);
	height: min(calc(107 / var(--vw-min) * 100vw), 107px);
	position: absolute;
	top: max(-20px, -1.497vw);
	left: min(calc(30 / var(--vw-min) * 100vw), 30px);
	z-index: 2;
}
@media screen and (max-width:767px){
	.comment__cont--title {
		width: calc(198 / var(--vw-min) * 100vw);
		height: calc(154 / var(--vw-min) * 100vw);
		top: calc(-28 / var(--vw-min) * 100vw);
		left: calc(-28 / var(--vw-min) * 100vw);
	}
}

.comment__cont__inner {
	display: flex;
	position: relative;
	z-index: 1;
}
.comment__cont--img {
	width: min(calc(300 / var(--vw-min) * 100vw), 300px);
	flex-shrink: 0;
	padding-right: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.comment__cont--img img {
	width: 100%;
}
@media screen and (max-width:767px){
	.comment__cont__inner {
		flex-direction: column;
	}
	.comment__cont--img {
		width: calc(420 / var(--vw-min) * 100vw);
		margin: 0 auto calc(40 / var(--vw-min) * 100vw);
		padding-right: 0;
	}
}

.comment__cont__right {
	width: 100%;
}
.comment__cont__pos {
	display: flex;
	align-items: center;
	color: #399196;
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.1em;
	margin-bottom: 0.5em;
}
.comment__cont__pos:before {
	content: "";
	background-color: #399196;
	-webkit-mask: url(../img/common/icon/icon_nav_hone1.png) no-repeat center / contain;
	mask: url(../img/common/icon/icon_nav_hone1.png) no-repeat center / contain;
	display: block;
	width: min(calc(34 / var(--vw-min) * 100vw), 34px);
	height: min(calc(15 / var(--vw-min) * 100vw), 15px);
	margin-right: 0.4em;
}
.comment__cont__name {
	color: #513c35;
	font-size: min(calc(28 / var(--vw-min) * 100vw), 28px);
	line-height: 1;
}
.comment__cont__textWrap {
	margin-top: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.comment__cont__textWrap p {
	font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
	line-height: 1.6;
	letter-spacing: 0.01em;
}
@media screen and (max-width:767px){
	.comment__cont__pos {
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
	.comment__cont__pos:before {
		width: calc(48 / var(--vw-min) * 100vw);
		height: calc(48 / var(--vw-min) * 100vw);
	}
	.comment__cont__name {
		font-size: calc(40 / var(--vw-min) * 100vw);
	}
	.comment__cont__textWrap p {
		font-size: calc(24 / var(--vw-min) * 100vw);
	}
}

/*-----------------------------------------------
 * Header
-------------------------------------------------*/
.header {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 999;
}

/* inner */
.header__inner {
	background-color: #3b231c;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	overscroll-behavior: contain;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
}

/**
 * headerNav
 */
.headerNav {
	width: 100%;
	height: calc(100% + 1px);
	position: relative;
	z-index: 1;
}
.headerNav__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.headerNav__cont {
	width: 100%;
	margin: 100px 0;
	position: relative;
}
.headerNav__inner:before {
	content: "";
	border: 2px solid #a89266;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.headerNav__inner:after {
	content: "";
	border: 1px solid #a89266;
	width: calc(100% - 60px);
	height: calc(100% - 60px);
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.header__frame {
	background-image: url(../img/common/menu/menu_frame1.png),url(../img/common/menu/menu_frame2.png),url(../img/common/menu/menu_frame3.png),url(../img/common/menu/menu_frame4.png);
	background-size: 40px 40px;
	background-position: top left,top right,bottom right,bottom left;
	background-repeat: no-repeat;
	width: calc(100% - 40px);
	height: calc(100% - 40px);
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	pointer-events: none;
}
@media screen and (max-width:767px){
	.headerNav__cont {
		margin: calc(80 / var(--vw-min) * 100vw) 0;
	}
	.headerNav__inner:before {
        width: calc(100% - calc(56 / var(--vw-min) * 100vw));
        height: calc(100% - calc(56 / var(--vw-min) * 100vw));
    }
    .headerNav__inner:after {
        width: calc(100% - calc(72 / var(--vw-min) * 100vw));
        height: calc(100% - calc(72 / var(--vw-min) * 100vw));
    }
    .header__frame {
		background-size: calc(56 / var(--vw-min) * 100vw) calc(56 / var(--vw-min) * 100vw);
        width: calc(100% - calc(56 / var(--vw-min) * 100vw));
        height: calc(100% - calc(56 / var(--vw-min) * 100vw));
    }
}

/* logo */
.header__logo {
	width: min(calc(359 / var(--vw-min) * 100vw), 359px);
	margin: 0 auto min(calc(100 / var(--vw-min) * 100vw), 100px);
}
.header__logo img {
	width: 100%;
}
@media screen and (max-width:767px){
	.header__logo {
		width: calc(431 / var(--vw-min) * 100vw);
		margin-bottom: calc(60 / var(--vw-min) * 100vw);
	}
}

/**
 * headerNavLists
 */
.headerNavLists {
	width: min(calc(960 / var(--vw-min) * 100vw), 960px);
	margin: 0 auto;
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 1fr;
	row-gap: min(calc(40 / var(--vw-min) * 100vw), 40px);
}
.headerNavLists__item {
	display: flex;
	align-items: center;
}
.headerNavLists__item a {
	display: inline-flex;
	align-items: center;
	color: #fff;
	font-size: min(calc(28 / var(--vw-min) * 100vw), 28px);
	font-weight: 800;
	line-height: 1;
	position: relative;
	text-decoration: none;
}
@media screen and (max-width:767px){
	.headerNavLists {
		width: calc(520 / var(--vw-min) * 100vw);
		grid-template-columns: repeat(1, 1fr);
		row-gap: calc(40 / var(--vw-min) * 100vw);
	}
	.headerNavLists__item a {
		font-size: calc(40 / var(--vw-min) * 100vw);
	}
}

/* sns */
.headerNavLists__x {
	background-color: #fff;
	-webkit-mask: url(../img/common/sns/icon_x.svg) no-repeat center / contain;
	mask: url(../img/common/sns/icon_x.svg) no-repeat center / contain;
	display: block;
	width: min(calc(24 / var(--vw-min) * 100vw), 24px);
	height: min(calc(24 / var(--vw-min) * 100vw), 24px);
	margin-left: 0.3em;
	margin-top: -0.2em;
}
@media screen and (max-width:767px){
	.headerNavLists__x {
		width: calc(36 / var(--vw-min) * 100vw);
		height: calc(36 / var(--vw-min) * 100vw);
	}
}

/* share */
.header__navShare {
	display: flex;
	align-items: center;
}
.header__navShare > dt {
	color: #fff;
    font-size: min(calc(16 / var(--vw-min) * 100vw), 16px);
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1;
	margin-right: min(calc(34 / var(--vw-min) * 100vw), 34px);
}
@media screen and (max-width:767px){
	.header__navShare {
		margin-top: calc(20 / var(--vw-min) * 100vw);
	}
	.header__navShare > dt {
		font-size: calc(24 / var(--vw-min) * 100vw);
		margin-right: 1em;
	}
}

/* header__shareLists */
.header__shareLists {
	display: flex;
    gap: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.header__shareLists__item {
	width: min(calc(22 / var(--vw-min) * 100vw), 22px);
	height: min(calc(22 / var(--vw-min) * 100vw), 22px);
}
@media screen and (max-width:767px){
	.header__shareLists {
		gap: calc(30 / var(--vw-min) * 100vw);
	}
	.header__shareLists__item {
        width: calc(45 / var(--vw-min) * 100vw);
        height: calc(45 / var(--vw-min) * 100vw);
    }
}

/* link */
.header__shareLists__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: relative;
	text-decoration: none;
}
.header__shareLists__link:before {
	content: "";
	background-color: #a89266;
	display: block;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 100%;
	mask-size: 100%;
    width: 100%;
    height: 100%;
}

/* 各SNSパーツ */
.header__shareLists__item.is-x .header__shareLists__link:before {
	-webkit-mask-image: url(../img/common/sns/icon_x.svg);
	mask-image: url(../img/common/sns/icon_x.svg);
}
.header__shareLists__item.is-facebook .header__shareLists__link:before {
	-webkit-mask-image: url(../img/common/sns/icon_fb.svg);
	mask-image: url(../img/common/sns/icon_fb.svg);
}
.header__shareLists__item.is-line .header__shareLists__link:before {
	-webkit-mask-image: url(../img/common/sns/icon_line.svg);
	mask-image: url(../img/common/sns/icon_line.svg);
}

/* deco */
.header__deco {    
	width: 100%;
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
	pointer-events: none;
}
.header__deco span {
	background: url(../img/common/menu/menu_hane1.png) no-repeat center / contain;
	display: block;
	position: absolute;
}
.header__deco span:nth-of-type(1) {
	background-image: url(../img/common/menu/menu_hane1.png);
	width: min(calc(187 / var(--vw-min) * 100vw), 187px);
	height: min(calc(186 / var(--vw-min) * 100vw), 186px);
	top: 10%;
	left: 5%;
}
.header__deco span:nth-of-type(2) {
	background-image: url(../img/common/menu/menu_hane2.png);
	width: min(calc(185 / var(--vw-min) * 100vw), 185px);
	height: min(calc(98 / var(--vw-min) * 100vw), 98px);
	top: 25%;
	right: 8%;
}
.header__deco span:nth-of-type(3) {
	background-image: url(../img/common/menu/menu_hane3.png);
	width: min(calc(129 / var(--vw-min) * 100vw), 129px);
	height: min(calc(71 / var(--vw-min) * 100vw), 71px);
	bottom: 6%;
	right: 14%;
}
@media screen and (max-width:767px){
	.header__deco span:nth-of-type(1) {
		top: 4%;
		left: 9%;
	}
}

/**
 * navBtn
 */
.header__navBtnWrap {
	width: 100px;
	height: 100px;
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
}
.header__navBtn {
	background-color: #3b231c;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	width: 100%;
	height: 100%;
	position: relative;
}
.header__navBtn:before {
	content: "";
	background: url(../img/common/menu/menu_deco.png) no-repeat center / contain;
	width: 82px;
	height: 82px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.header__navBtn:after {
	content: "";
	border: 2px solid #6b5b3a;
	border-radius: 50%;
	width: 90px;
	height: 90px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.header__navBtn__lineWrap {
	width: 41px;
	height: 31px;
	position: relative;
}
.header__navBtn--line {
	background: url(../img/common/menu/menu_hone_1.png) no-repeat center / contain;
	display: block;
	width: 100%;
	height: 7px;
	margin: auto;
	position: absolute;
}
.header__navBtn--line:nth-child(1) {
	top: 0;
}
.header__navBtn--line:nth-child(2) {
	background-image: url(../img/common/menu/menu_hone_2.png);
	top: 0;
	bottom: 0;
}
.header__navBtn--line:nth-child(3) {
	bottom: 0;
}
@media screen and (max-width:767px){
	.header__navBtnWrap {
		width: 50px;
		height: 50px;
		top: 10px;
		right: 10px;
	}
	.header__navBtn:before {
		width: 40px;
		height: 40px;
	}
	.header__navBtn:after {
		width: 45px;
		height: 45px;
	}
	.header__navBtn__lineWrap {
		width: 20px;
		height: 16px;
	}
	.header__navBtn--line {
		height: 4px;
	}
}

/**
 * active
 */
.header__inner {
	transform: translateX(100%);
	transition: transform .5s var(--easing-outquart);
}
.header__inner {
	transform: translateX(100%);
	transition: transform .5s var(--easing-outquart);
}
.header.is-active .header__inner {
	transform: translateX(0);
}
.header__navBtn--line {
	transition: transform .3s ease,
				opacity .3s ease;
}
.header__navBtn.is-active .header__navBtn--line:nth-child(1) {
	transform: rotate(35deg);
	top: 11px;
}
.header__navBtn.is-active .header__navBtn--line:nth-child(3) {
	transform: rotate(-35deg);
	bottom: 11px;
}
.header__navBtn.is-active .header__navBtn--line:nth-child(2) {
	transform: translateX(20%);
	opacity: 0;
}
@media screen and (max-width:767px){
	.header__navBtn.is-active .header__navBtn--line:nth-child(1) {
		top: 6px;
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(3) {
		bottom: 6px;
	}
}
