@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 {
	--common-min-width: 1200px;
	--common-min-height: 640px;

	/* メインで使用するサイズやカラー */
	--main-font-size: 16px;
	--main-font-family: 'Noto Serif JP', "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	--main-color: 67,103,107; /* 山南カラー（御召茶色）#43676b */
	--main-color-black: 0,0,0;
	--main-color-white: 255,255,255;
	--main-color-red: 225,69,10;
	--main-color-dark-red: 139,3,3;
	--main-color-gold: 239,215,141;
	--main-color-dark-gold: 203,174,84;

	/* 曜日カラー */
	--day-color-sat: 65,96,171;
	--day-color-sun: 219,114,114;

	/* ヘッダーの高さ */
	--common-header-height: 80px;

	/* 横幅1200px */
	--common-in-width: 1200px;
}
@media screen and (max-width:767px){
	:root {
		--common-min-width: 100%;
		--common-min-height: auto;
		--main-font-size: 12px;

		/* ヘッダーの高さ */
		--common-header-height: 50px;

		/* 横幅1200px */
		--common-in-width: 100%;
	}
}

/*-----------------------------------------------
 * Bace
-------------------------------------------------*/
body{
	background: #fff url(../img/common/bg_ptn.jpg) repeat;
	-webkit-text-size-adjust: 100%;
	background-color: rgb(var(--main-color-white));
	color: rgb(var(--main-color-black));
	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: rgb(var(--main-color)); }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
    background: #B7D4F9;
    color: rgb(var(--main-color-black));
}
::-moz-selection{
    background: #B7D4F9;
    color: rgb(var(--main-color-black));
}
@media screen and (max-width:767px){
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
}

::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
	background: rgb(var(--main-color-gold));
}
::-webkit-scrollbar-thumb {
	background: rgb(var(--main-color));
	margin: 2px;
	box-shadow: none;
}

/**
 * Wrap
 * 大枠のwrap指定
 */
/* fullWrap */
#fullWrap {
	min-width: var(--common-min-width);
	padding-top: var(--common-header-height);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	z-index: 1;
}


/*-----------------------------------------------
 * Modal
-------------------------------------------------*/

/**
 * modalBox
 * 基盤のモーダル
 */
 .modalBox{
	-webkit-overflow-scrolling: touch;
	background: rgba(0,0,0,.85);
	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;
}

/* 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%;
    }
}

/**
 * closeBtn
 */
.closeBtn{
	width: 80px;
	height: 80px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}
@media screen and (max-width:767px){
	.closeBtn{
		width:50px;
		height:50px;
	}
}

.closeBtn a {
	background-color: rgb(var(--main-color));
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* img */
.closeBtn a:before {
	content: "";
	background: url(../img/common/close.svg) no-repeat 0 0 / 100%;
	width: 40%;
	height: 40%;
}

/**
 * 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;
}

/**
 * imgModal
 */
 .imgModal__imgWrap {
	max-width: 1200px;
}
.imgModal__imgWrap img {
	width: 100%;
}
@media screen and (max-width:767px){
	.imgModal__imgWrap {
		width: 100%;
	}
}

/**
 * galleryImgModal
 */
 .galleryImgModal__cont {
	position: relative;
}
.galleryImgModal__imgWrap {
    width: 800px;
	opacity: 0;
	position: relative;
	z-index: 1;
	transition: opacity .3s ease;
}
.galleryImgModal__imgWrap.is-w500 {
	width: 500px;
}
.galleryImgModal__imgWrap.is-active {
	opacity: 1;
}
@media screen and (max-width:767px){
	.galleryImgModal__imgWrap {
		width: calc(100% - 40px);
    	margin: 0 auto;
	}
	.galleryImgModal__imgWrap.is-w500 {
		width: calc(100% - 40px);
	}
}

/* img */
.galleryImgModal__imgWrap img {
	width: 100%;
}

/**
 * galleryLists__pagerWrap
 */
.galleryLists__pagerWrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 60px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
    pointer-events: none;
	z-index: 2;
}
@media screen and (max-width:767px){
	.galleryLists__pagerWrap {
		width: 100%;
		height: 40px;
	}
}

/* pager */
.galleryLists__pager {
	width: 80px;
	height: 80px;
	pointer-events: auto;
}
@media screen and (max-width:767px){
	.galleryLists__pager {
		width: 40px;
		height: 40px;
		pointer-events: auto;
	}
}

/* prev, next */
.galleryLists__pager.is-prev {
	margin-left: -80px;
}
.galleryLists__pager.is-next {
	margin-right: -80px;
}
@media screen and (max-width:767px){
	.galleryLists__pager.is-prev {
		margin-left: 0;
	}
	.galleryLists__pager.is-next {
		margin-right: 0;
	}
}

/* a */
.galleryLists__pager > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* arrow */
.galleryLists__pager > a:before {
	content: "";
	background-color: #fff;
	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: 40px;
    height: 80px;
	transition: transform .3s ease;
}
@media screen and (max-width:767px){
	.galleryLists__pager > a:before {
		width: 18px;
    	height: 38px;
	}
}

/* hover */
.galleryLists__pager.is-prev > a:hover:before {
	transform: translateX(-10px);
}
.galleryLists__pager.is-next > a:hover:before {
	transform: translateX(10px);
}
@media screen and (max-width:767px){
	.galleryLists__pager.is-prev > a:hover:before {
		transform: translateX(0);
	}
	.galleryLists__pager.is-next > a:hover:before {
		transform: translateX(0);
	}
}

.galleryLists__pager.is-prev > a:before {
	-webkit-mask-image: url(../img/common/arrow_prev.svg);
    mask-image: url(../img/common/arrow_prev.svg);
}
.galleryLists__pager.is-next > a:before {
	-webkit-mask-image: url(../img/common/arrow_next.svg);
    mask-image: url(../img/common/arrow_next.svg);
}

.galleryImgModalContents {
	opacity: 0;
	transition: opacity .3s ease;
}
.galleryImgModalContents.is-active {
    opacity: 1;
}


/*-----------------------------------------------
 * Header
-------------------------------------------------*/
.header {
	width: 100%;
	min-width: var(--common-min-width);
	position: fixed;
	top: 0;
	z-index: 999;
}

/* inner */
.header__inner {
	display: flex;
	width: 100%;
	height: var(--common-header-height);
	position: relative;
	z-index: 2;
}
@media screen and (max-width:767px){
	.header__inner {
		align-items: center;
		justify-content: center;
	}
}

/* bg */
.header__inner:before {
	content: "";
	background-color: rgb(var(--main-color));
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
@media screen and (max-width:767px){
	.header__inner:before {
		background-color: rgb(var(--main-color-black));
		z-index: 10;
	}
}


/**
 * title
 */
.header__title {
	display: flex;
	align-items: center;
	height: 100%;
	margin-right: 10px;
	padding-left: 40px;
	z-index: 1;
}
@media screen and (max-width:767px){
	.header__title {
		justify-content: center;
		margin-right: 0;
		margin-left: auto;
		padding-left: 0;
		position: relative;
		z-index: 11;
	}
}

/* link */
.header__title__link {
	background: url(../img/common/logo_w.png) no-repeat 0 0 / 100%;
	display: block;
	width: 103px;
	height: 62px;
}
@media screen and (max-width:767px){
	.header__title__link {
		width: 64px;
		height: 41px;
	}
}

/**
 * headerNavWrap
 */
.header__navWrap {
	height: 100%;
	margin-right: 40px;
	margin-left: auto;
	position: relative;
	z-index: 3;
}
@media screen and (max-width:767px){
	.header__navWrap {
		-webkit-overflow-scrolling: touch;
		background-color: rgb(var(--main-color));
		width:100vw;
		overflow: auto;
		margin-right: 0;
		padding: 80px 0;
		position: fixed;
		top: 0;
		right: 0;
		z-index:1;
		transform: translateX(100%);
		transition: transform .6s cubic-bezier(0.25, 1, 0.5, 1);;
	}
	.header.is-active .header__navWrap {
		transform: translateX(0);
	}
}

/**
 * headerNav
 */
.header__nav {
	height: 100%;
}
@media screen and (max-width:767px){
	.header__nav {
		height: auto;
		position: relative;
		z-index: 1;
	}
}

/**
 * headerNavLists
 */
.header__navLists {
	height: 100%;
	display: flex;
}
@media screen and (max-width:767px){
	.header__navLists {
		height: auto;
		display: flex;
		flex-wrap: wrap;
	}
}

/* item */
.header__navLists__item {
	position: relative;
}
.header__navLists__item:not(:last-child) {
	margin-right: 2vw;
}
@media screen and (max-width:767px){
	.header__navLists__item {
		width: 50%;
		transform: scale(0.8, 1);
		transform-origin: center;
		margin-bottom: 16px;
	}
	.header__navLists__item:not(:last-child) {
		margin-right: 0;
	}
}

/* link */
.header__navLists__link {
	color: rgb(var(--main-color-gold));
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	font-size: 14px;
	letter-spacing: 0.01em;
	height: 100%;
	position: relative;
	text-decoration: none;
}
@media screen and (max-width:767px){
	.header__navLists__link {
		align-items: flex-end;
		height: auto;
	}
}

/* inner */
.header__navLists__link__inner {
	display: block;
	position: relative;
}
@media screen and (max-width:767px){
	.header__navLists__link__inner {
		transform: scaleX(1) !important;
	}
}

/* line */
.header__navLists__link__inner:before {
	content: "";
	background-color: rgb(var(--main-color-gold));
	width: 0;
	height: 2px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	transition: width .3s ease-in-out;
}
.header__navLists__link:hover .header__navLists__link__inner:before,
.header__navLists__link.is-active .header__navLists__link__inner:before {
	width:100%;
}

/* navBtn */
@media screen and (max-width:767px){
	.header__navBtnWrap {
		width: 50px;
		height: 50px;
		margin-left: auto;
		position: relative;
		z-index: 11;
	}
	.header__navBtn {
		background-color: rgb(var(--main-color-white));
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		position: relative;
	}
	.header__navBtn__lineWrap {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 22px;
		height: 18px;
		position: relative;
	}
	.header__navBtn--line {
		background-color: rgb(var(--main-color-black));
		border-radius: 3px;
		display: block;
		width: 100%;
		height: 2px;
		margin: auto;
		transition: all .3s ease;
		position: relative;
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(1) {
		top:6px;
		transform: rotate(45deg);
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(2) {
		opacity: 0;
		transform: translateX(10px);
	}
	.header__navBtn.is-active .header__navBtn--line:nth-child(3) {
		bottom:6px;
		transform: rotate(-45deg);
	}
}


/*-----------------------------------------------
 * Footer
-------------------------------------------------*/
.footer {
	background-color: rgb(var(--main-color));
	background-image: url(../img/common/bg_ptn2.png);
    background-repeat: repeat;
    background-position: center;
	margin-top: auto;
	padding: 80px 0;
	position: relative;
	z-index: 1;
}
@media screen and (max-width:767px){
	.footer {
		background-size: 10%;
		padding: 60px 0;
	}
}

/* a */
.footer a {
	color: rgb(var(--main-color-gold));
}

/* sakura */
.footer:after {
	content: "";
	background: url(../img/common/sakura_shita.png) no-repeat 0 0 / 100%;
	width: 366px;
    height: 287px;
	position: absolute;
	left: 0;
	top: -250px;
	pointer-events: none;
}
@media screen and (max-width:767px){
	.footer:after {
		width: 204px;
		height: 160px;
		top: -106px;
	}
}

/**
 * footer__dl
 */
/* wrap */
.footer__dlWrap {
	display: flex;
	justify-content: center;
}
@media screen and (max-width:767px){
	.footer__dlWrap {
		display: block;
	}
}

.footer__dl {
	color: #fff;
	font-size: 14px;
	display: flex;
}
@media screen and (max-width:767px){
	.footer__dl {
		display: block;
		font-size: 12px;
		padding: 0 20px;
		text-align: center;
	}
}

/* dt */
.footer__dl > dt {
	white-space: nowrap;
}

/* a */
.footer__dl a {
	color: rgb(var(--main-color-gold));
}

/**
 * copyrightWrap
 */
.footer__copyrightWrap {
	margin-top: 80px;
}
.footer__copyright {
	color: rgb(var(--main-color-white));
	display: block;
	text-align: center;
	font-size: 12px;
}
@media screen and (max-width:767px){
	.footer__copyrightWrap {
		margin-top: 60px;
		padding: 0 20px;
	}
	.footer__copyright {
		font-size: 10px;
	}
}

/**
 * pagetop
 */
.footer__pagetop {
	position: absolute;
	width: 80px;
	top: 40px;
	right: 40px;
}
@media screen and (max-width:767px){
	.footer__pagetop {
		top: 20px;
		right: 20px;
		width: 40px;
	}
}

.footer__pagetop a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	top: 0;
	width: 100%;
	text-decoration: none;
}
@media screen and (max-width:767px){
}

.footer__pagetop a:before {
	content: '';
	position: relative;
	width: 80px;
	height: 40px;
	background: url(../img/common/arrow.svg) no-repeat 0 0 / 100%;
	transform: rotate(180deg);
	transition: all .3s ease;
}
@media screen and (max-width:767px){
	.footer__pagetop a:before {
		width: 40px;
		height: 20px;
	}
}

.footer__pagetop a:hover:before {
	transform: rotate(180deg) translateY(8px);
}
@media screen and (max-width:767px){
	.footer__pagetop a:hover:before {
		transform: rotate(180deg) translateY(0);
	}
}

.footer__pagetop a span {
	display: inline-block;
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	text-align: center;
	margin-top: 8px;
	white-space: nowrap;
}
@media screen and (max-width:767px){
	.footer__pagetop a span {
		font-size: 10px;
		margin-top: 4px;
		margin-left: -11px;
	}
}

/**
 * privacy
 */
.footer__privacy {
	font-size: 14px;
	font-weight: 700;
	margin-top: 30px;
	text-align: center;
}
@media screen and (max-width:767px){
	.footer__privacy {
		font-size: 10px;
		margin-top: 20px;
	}
}


/*-----------------------------------------------
 * Parts
-------------------------------------------------*/

/**
 * font
 */
/* bold */
.font-bold {
	font-weight: 700;
}

/* scale */
.font-scale {
	display: block;
	transform: scaleX(0.8);
}
.font-scale.is-w125 {
	width: 125%;
	transform-origin: top left;
}

/* backTF */
.backTF {
	transform: scaleX(1.2);
}

/* color */
 .font-color-gold {
	color: rgb(var(--main-color-gold));
}
.font-color-red {
	color: rgb(var(--main-color-red));
}
.font-color-darkred {
	color: rgb(var(--main-color-dark-red));
}
.font-color-white {
	color: rgb(var(--main-color-white));
}
.font-color-black {
	color: rgb(var(--main-color-black));
}

/* underline */
.font-underline {
	text-decoration: underline;
}

/* center */
.font-center {
	text-align: center;
}

/* indent */
.indent-1 {
	display: block;
	padding-left:1em;
	text-indent:-1em;
}
.indent-5{
	display: inline-block;
	padding-left: 5.5em;
	text-indent: -5.5em;
}
.indent-6{
	display: inline-block;
	padding-left: 6.5em;
	text-indent: -6.5em;
}
.indent-7{
	display: inline-block;
	padding-left: 7.5em;
	text-indent: -7.5em;
}

/**
 * font-size
 * PCのサイズを基準
 */
/* size 13 */
.fontsize-13 {
	font-size: 13px;
}
@media screen and (max-width:767px){
	.fontsize-13 {
		font-size: 10px;
	}
}

/* size 14 */
.fontsize-14 {
	font-size: 14px;
}
@media screen and (max-width:767px){
	.fontsize-14 {
		font-size: 10px;
	}
}

/* size 16 */
.fontsize-16 {
	font-size: 16px;
}
@media screen and (max-width:767px){
	.fontsize-16 {
		font-size: 12px;
	}
}

/* size 18 */
.fontsize-18 {
	font-size: 18px;
}
@media screen and (max-width:767px){
	.fontsize-18 {
		font-size: 14px;
	}
}

/* size 20 */
.fontsize-20 {
	font-size: 20px;
}
@media screen and (max-width:767px){
	.fontsize-20 {
		font-size: 16px;
	}
}

/* 親のサイズに依存 */
.fontsize-80per {
	font-size: 80%;
}
.fontsize-88per {
	font-size: 88%;
}


/**
 * margin
 * PCのサイズを基準
 */
.mt-20 {
	margin-top: 20px;
}
.mb-20 {
	margin-bottom: 20px;
}
.ml-20 {
	margin-left: 20px;
}
.mr-20 {
	margin-right: 20px;
}
@media screen and (max-width:767px){
	.mt-20 {
		margin-top: 10px;
	}
	.mb-20 {
		margin-bottom: 10px;
	}
	.ml-20 {
		margin-left:10px;
	}
	.mr-20 {
		margin-right:10px;
	}
}

/* 30px */
.mt-30 {
	margin-top: 30px;
}
.mb-30 {
	margin-bottom: 30px;
}
.ml-30 {
	margin-left: 30px;
}
.mr-30 {
	margin-right: 30px;
}
@media screen and (max-width:767px){
	.mt-30 {
		margin-top: 20px;
	}
	.mb-30 {
		margin-bottom: 20px;
	}
	.ml-30 {
		margin-left: 20px;
	}
	.mr-30 {
		margin-right: 20px;
	}
}

/* 40px */
.mt-40 {
	margin-top: 40px;
}
.mb-40 {
	margin-bottom: 40px;
}
@media screen and (max-width:767px){
	.mt-40 {
		margin-top: 30px;
	}
	.mb-40 {
		margin-bottom: 30px;
	}
}

/* 50px */
.mt-50 {
	margin-top: 50px;
}
.mb-50 {
	margin-bottom: 50px;
}
@media screen and (max-width:767px){
	.mt-50 {
		margin-top: 40px;
	}
	.mb-50 {
		margin-bottom: 40px;
	}
}

/* 60px */
.mt-60 {
	margin-top: 60px;
}
.mb-60 {
	margin-bottom: 60px;
}
@media screen and (max-width:767px){
	.mt-60 {
		margin-top: 50px;
	}
	.mb-60 {
		margin-bottom: 50px;
	}
}

/* 70px */
.mt-70 {
	margin-top: 70px;
}
.mb-70 {
	margin-bottom: 70px;
}
@media screen and (max-width:767px){
	.mt-70 {
		margin-top: 60px;
	}
	.mb-70 {
		margin-bottom: 60px;
	}
}


/**
 * sakuraBg
 */
 .sakuraBg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
}
.sakuraBg:after {
	content: "";
	background: url(../img/common/sakura_ue.png) no-repeat 0 0 / 100%;
	width: 391px;
	height: 280px;
	position: absolute;
	top: 40px;
	right: 0;
}

/**
 * linkAwrap
 */
.linkAwrap {
	width: 100%;
	height: 48px;
	margin: 0 auto;
}
@media screen and (max-width:767px){
	.linkAwrap {
		height: 40px;
	}
}

/* is-width-middle */
.linkAwrap.is-width-middle {
	width: 320px;
}
@media screen and (max-width:767px){
	.linkAwrap.is-width-middle {
		width: 200px;
	}
}

/* linkA */
.linkA {
	background-color: rgb(var(--main-color-black));
	color: rgb(var(--main-color-white));
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	width: 100%;
	height: 100%;
	position: relative;
	text-decoration: none;
}
@media screen and (max-width:767px){
	.linkA {
		font-size: 14px;
	}
}

/* color */
.linkA.is-red {
	background-color: rgb(var(--main-color));
	color: rgb(var(--main-color-white));
}
.linkA.is-gold {
	background-color: rgb(var(--main-color-gold));
	color: rgb(var(--main-color-black));
}
.linkA.is-white {
	background-color: rgb(var(--main-color-white));
	color: rgb(var(--main-color-black));
}

/* line */
.linkA:before,
.linkA:after {
	content: "";
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: .4;
	pointer-events: none;
}
.linkA:before {
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	width: calc(100% - 10px);
	height: 100%;
}
.linkA:after {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	width: 100%;
	height: calc(100% - 10px);
}

.linkA__arrow {
	background-color: rgb(var(--main-color));
	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%;
    -webkit-mask-image: url(../img/common/arrow.svg);
    mask-image: url(../img/common/arrow.svg);
    width: 24px;
    height: 12px;
	transition: transform .3s ease;
}

/* color */
.linkA.is-red .linkA__arrow {
	background-color: rgb(var(--main-color-white));
}
.linkA.is-gold .linkA__arrow {
	background-color: rgb(var(--main-color));
}

.linkA.is-active .linkA__arrow {
	transform: rotate(180deg);
}
@media screen and (max-width:767px){
	.linkA__arrow {
		width: 18px;
		height: 9px;
	}
}

.linkA__arrow.is-right {
	-webkit-mask-image: url(../img/common/arrow_next.svg);
	mask-image: url(../img/common/arrow_next.svg);
	width: 12px;
	height: 24px;
}
@media screen and (max-width:767px){
	.linkA__arrow.is-right {
		width: 9px;
    	height: 18px;
	}
}

/**
 * contTitle
 */
/* 1 */
.contTitle1 {
	background-color: rgb(var(--main-color));
	background-image: url(../img/common/bg_ptn2.png);
	background-repeat: repeat;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgb(var(--main-color-white));
	font-size: 40px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	padding: 28px 0;
    position: relative;
}
.contTitle1.is-font-min {
	font-size: 30px;
}
.contTitle1.font-scale {
	display: block;
	width: 125%;
	transform-origin: top left;
}
@media screen and (max-width:767px){
	.contTitle1 {
		background-size: 10%;
		font-size: 22px;
		padding: 16px 0;
	}
	.contTitle1.is-font-min {
		font-size: 18px;
	}
}

.contTitle1:after {
    content: "";
	border-top: 2px solid;
    border-bottom: 2px solid;
	border-color: rgb(var(--main-color-gold));
    width: 100%;
    height: calc(100% - 20px);
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
}
@media screen and (max-width:767px){
	.contTitle1:after {
		border-width: 1px;
		height: calc(100% - 10px);
	}
}

/* 2 */
.contTitle2 {
	color: rgb(var(--main-color));
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 32px;
	font-weight: 700;
	text-align: center;
}
.contTitle2:after {
	content: '';
    background-color: rgb(var(--main-color));
    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%;
	-webkit-mask-image: url(../img/common/title_accent.svg);
	mask-image: url(../img/common/title_accent.svg);
	width: 72px;
	height: 32px;
	margin: 0 auto;
}
@media screen and (max-width:767px){
	.contTitle2 {
		font-size: 20px;
	}
	.contTitle2:after {
		width: 42px;
		height: 19px;
	}
}

/**
 * subMain
 */
.subMain {
	padding-top: 50px;
}
@media screen and (max-width:767px){
	.subMain {
		padding-top: 30px;
	}
}

/**
 * tblWrap
 */
.tblWrap {
	overflow-x: scroll;
	position: relative;
}
.tblWrap::-webkit-scrollbar-thumb {
	background: rgb(var(--main-color-dark-red));
	margin: 2px;
	box-shadow: none;
}
.tblWrap:before {
	content: "横にスクロールしてください";
	-webkit-overflow-scrolling: touch;
	font-size: 14px;
	position: sticky;
	left: 0;
}
@media screen and (max-width:767px){
	.tblWrap:before {
		font-size: 12px;
	}
}

/* v2 */
@media screen and (max-width:767px){
	.tblWrap-v2 {
		-webkit-overflow-scrolling: touch;
		overflow: auto;
		white-space: nowrap;
	}
	.tblWrap-v2::-webkit-scrollbar-thumb {
		background: rgb(var(--main-color-dark-red));
		margin: 2px;
		box-shadow: none;
	}
	.tblWrap-v2:before {
		content: "横にスクロールしてください";
		-webkit-overflow-scrolling: touch;
		font-size: 12px;
		position: sticky;
		left: 0;
	}
}


/**
 * tbl-v1
 */
.tbl-v1 {
	border: 1px solid rgb(var(--main-color-dark-gold));
	color: #fff;
}
@media screen and (max-width:767px){
	.tbl-v1 {
		width: 100%;
	}
}

/* tr */
.tbl-v1 tr {
	width: 100%;
}

/* th */
.tbl-v1 th {
	background-color: rgba(var(--main-color-gold),1);
	color: #000;
	font-size: 18px;
	font-weight: 700;
	padding: 4px 8px;
	text-align: center;
}
.tbl-v1 th:not(:first-child) {
	border-left: 1px solid rgb(var(--main-color-dark-gold));
}
@media screen and (max-width:767px){
	.tbl-v1 th {
		font-size: 14px;
		padding: 6px 10px;
	}
	.tbl-v1 th:not(:first-child) {
		border-top: 1px solid rgb(var(--main-color-dark-gold));
		border-left: none;
	}
}

/* color */
.tbl-v1 th.is-bg-sat {
	color: #fff;
	background-color:rgba(var(--day-color-sat),1);
}
.tbl-v1 th.is-bg-sun {
	color: #fff;
	background-color:rgba(var(--day-color-sun),1);
}

/* td */
.tbl-v1 td {
	border-top: 1px solid rgb(var(--main-color-dark-gold));
	border-left: 1px solid rgb(var(--main-color-dark-gold));
	font-size: 18px;
	font-weight: 700;
	padding: 10px 8px;
	text-align: center;
}
@media screen and (max-width:767px){
	.tbl-v1 td {
		border-top: none;
		display: block;
		font-size: 14px;
		padding: 6px 10px;
	}
	.tbl-v1 td.is-spNone {
		margin-top: 41px;
	}
	.tbl-v1 td.is-spHoliday {
		width: 200%;
	}
	.tbl-v1 td:not(:first-child) {
		border-top: 1px solid rgb(var(--main-color-dark-gold));
	}
}

/* sp用 */
@media screen and (max-width:767px){
	.tbl-v1 tbody {
		display: flex;
	}
}
@media screen and (max-width:767px){
	.tbl-v1--thead {
		display: grid;
	}
}

/**
 * tbl-v2
 */
.tbl-v2 {
	color: #000;
	width: 100%;
	font-size: 16px;
	position: relative;
}
@media screen and (max-width:767px){
	.tbl-v2 {
		font-size: 12px;
	}
}
.tbl-v2:before {
	content: "";
    border: 1px solid rgb(var(--main-color-gold));
    width: calc(100% + 1px);
    height: 100%;
    pointer-events: none;
    position: absolute;
    top: 0px;
    left: -1px;
    z-index: 2;
    box-sizing: border-box;
}
.tbl-v2 tbody {
	position: relative;
	z-index: 1;
}

.tbl-v2 th {
	border: 1px solid rgb(var(--main-color));
	border-collapse: collapse;
}
.tbl-v2 td {
	border: 1px solid #d8c17a;
	border-collapse: collapse;
}
.tbl-v2 td, .tbl-v2 th {
	background-color: rgb(var(--main-color-gold));
	padding: 6px;
	position: relative;
	text-align: center;
	background-clip: padding-box;
}
/*.tbl-v2 th {
	background: #f0e6cc;
}*/

/* bg color */
.tbl-v2 td.is-bg-gray, .tbl-v2 th.is-bg-gray {
	background-color: rgba(160,160,160,.6);
}
.tbl-v2 td.is-bg-sat, .tbl-v2 th.is-bg-sat {
	background-color: rgba(166,205,225,.9);
}
.tbl-v2 td.is-bg-sun, .tbl-v2 th.is-bg-sun {
	background-color: rgba(226,174,174,.9);
}
.tbl-v2 td.is-bg-green, .tbl-v2 th.is-bg-green {
	background-color: rgba(220,229,206,.9);
}
.tbl-v2 td.is-bg-white, .tbl-v2 th.is-bg-white {
	background-color: rgba(255,255,255,.8);
}

/* is-empty */
.tbl-v2 td.is-empty:before, .tbl-v2 th.is-empty:before {
	content: "";
    z-index: 0;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to right bottom, transparent 49%, #d8c17a 50%, transparent 51%);
}


/**
 * subcontArticle
 */
 .subcontArticle {
	padding-bottom: 180px;
	position: relative;
}
@media screen and (max-width:767px){
	.subcontArticle {
		padding-bottom: 120px;
	}
}

/**
 * subcontSection
 */
 .subcontSection:not(:first-of-type) {
	margin-top: 100px;
}
@media screen and (max-width:767px){
	.subcontSection:not(:first-of-type) {
		margin-top: 50px;
	}
}

/* inner */
.subcontSection__inner {
	width: 1000px;
	margin: 30px auto 0;
}
@media screen and (max-width:767px){
	.subcontSection__inner {
		width: 100%;
		margin: 20px auto 0;
	}
}

/* deco */
.subcontSection__inner:before {
    content: '';
    background-color: rgb(var(--main-color));
    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%;
    -webkit-mask-image: url(../img/common/title_accent.svg);
    mask-image: url(../img/common/title_accent.svg);
    width: 72px;
    height: 32px;
    margin: 0 auto 30px;
}
@media screen and (max-width:767px){
	.subcontSection__inner:before {
		width: 42px;
		height: 19px;
		margin: 0 auto 20px;
	}
}

/**
 * subcontSection__main
 */
.subcontSection__main {
	background-color: rgb(var(--main-color));
	background-image: url(../img/common/bg_ptn2.png);
	background-repeat: repeat;
	background-position: center;
	color: rgb(var(--main-color-white));
	font-size: 16px;
	line-height: 2;
	padding: 70px 60px;
}
.subcontSection__main:not(:first-of-type) {
	margin-top: 60px;
}
@media screen and (max-width:767px){
	.subcontSection__main {
		background-size: 10%;
		font-size: 12px;
		padding: 40px 20px;
	}
	.subcontSection__main:not(:first-of-type) {
		margin-top: 40px;
	}
}

/* no bg */
.subcontSection__main.is-nobg {
	background: none;
	color: rgb(var(--main-color-black));
	padding: 0;
}
@media screen and (max-width:767px){
	.subcontSection__main.is-nobg {
		padding: 0 20px;
	}
}

/* a */
.subcontSection__main a {
	color: rgb(var(--main-color-gold));
}
.subcontSection__main.is-nobg a {
	color: rgb(var(--main-color));
}

/* img */
.subcontSection__main img {
	max-width: 100%;
}

/* h3 */
.subcontSection__main h3,
.subcontTitle {
	border-bottom: 2px solid rgb(var(--main-color-gold));
	display: flex;
	align-items: center;
	color: rgb(var(--main-color-gold));
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.6;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
.subcontSection__main h3 > span:not(:first-child) {
	margin-left: auto;
}
@media screen and (max-width:767px){
	.subcontSection__main h3,
	.subcontTitle {
		font-size: 16px;
		margin-bottom: 20px;
		padding-bottom: 10px;
	}
}

.subcontSection__main.is-nobg h3 {
	border-bottom: 2px solid rgb(var(--main-color));
	color: rgb(var(--main-color));
}

/* subcontTitle-min */
.subcontTitle-min {
	color: rgb(var(--main-color-gold));
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.6;
	margin-bottom: 20px;
}
.subcontTitle-min > span {
	border-bottom: 2px solid rgb(var(--main-color-gold));
}
@media screen and (max-width:767px){
	.subcontTitle-min {
		font-size: 14px;
		margin-bottom: 14px;
	}
}


/**
 * subcontDl
 */
/* item */
.subcontDl__item:not(:first-child) {
	margin-top: 80px;
}
@media screen and (max-width:767px){
	.subcontDl__item:not(:first-child) {
		margin-top: 40px;
	}
}

/* dt */
.subcontDl__dt {
	border-bottom: 2px solid rgb(var(--main-color-gold));
	display: flex;
	align-items: center;
	color: rgb(var(--main-color-gold));
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.01em;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
@media screen and (max-width:767px){
	.subcontDl__dt {
		font-size: 16px;
		margin-bottom: 20px;
		padding-bottom: 10px;
	}
}

/* text */
.subcontDl__dt--text:not(:first-child) {
	margin-left: auto;
}

/* font-min */
.subcontDl__dt--text .font-min {
	font-size: 60%;
}

/* subcontDl__textWrap */
.subcontDl__textWrap {
	color: rgb(var(--main-color-white));
	font-size: 16px;
	line-height: 2;
}
.subcontDl__textWrap a {
	color: rgb(var(--main-color-gold));
}
@media screen and (max-width:767px){
	.subcontDl__textWrap {
		font-size: 12px;
	}
}

/* img */
.subcontDl__textWrap img {
	max-width: 100%;
}

/**
 * subcontHeader
 */
.subcontHeader {
	width: 1000px;
	margin: -20px auto 30px;
}
@media screen and (max-width:767px){
	.subcontHeader {
		width: 100%;
		margin: 0 auto 30px;
	}
}

/* lists */
.subcontHeader__navLists {
	border: #E0CB8D 1px solid;
}

/* item */
.subcontHeader__navLists__item {
	background-color: rgba(var(--main-color-white),.6);
}
.subcontHeader__navLists__item:nth-child(even) {
    background-color: #E0CB8D;
}

/* a */
.subcontHeader__navLists__item a {
	display: block;
	color: #000;
	font-size: 14px;
	letter-spacing: 0.01em;
	padding: 8px 54px 8px 20px;
	position: relative;
	text-decoration: none;
}
@media screen and (max-width:767px){
	.subcontHeader__navLists__item a {
		font-size: 10px;
		padding: 8px 34px 8px 10px;
	}
}

/* arrow */
.subcontHeader__navLists__item a:before {
	content: "";
	background-color: #E0CB8D;
	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%;
	-webkit-mask-image: url(../img/common/arrow.svg);
	mask-image: url(../img/common/arrow.svg);
	width: 24px;
	height: 12px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
}
.subcontHeader__navLists__item:nth-child(even) a:before {
	background-color: rgb(var(--main-color-white),1);
}
@media screen and (max-width:767px){
	.subcontHeader__navLists__item a:before {
		width: 18px;
		height: 9px;
		right: 10px;
	}
}

/**
 * subcontYtWrap
 */
.subcontYtWrap {
	display: block;
	background-color: rgba(var(--main-color-black),.6);
	width: 100%;
	padding-top: 56.25%;
	position: relative;
}
.subcontYtWrap iframe,
.subcontYtWrap video {
	background-color: rgba(var(--main-color-black),1);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
}

/* is-end */
.subcontYtWrap.is-end iframe {
	display: none;
}

.subcontYtWrap.is-end:before {
	content: "公開は終了しました";
	color: rgb(var(--main-color-white));
	display: block;
	font-size: 18px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media screen and (max-width:767px){
	.subcontYtWrap.is-end:before {
		font-size: 14px;
	}
}

/**
 * subcontLinkLists
 */
.subcontLinkLists {
	display: flex;
	flex-wrap: wrap;
}
.subcontLinkLists > li {
	margin-bottom: 10px;
}
.subcontLinkLists > li:not(:first-child) {
	margin-left: 10px;
}
@media screen and (max-width:767px){
	.subcontLinkLists {
		flex-direction: column;
	}
	.subcontLinkLists > li:not(:first-child) {
		margin-left: 0;
	}
}

/**
 * subcontLinkLists--4
 */
.subcontLinkLists--4 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -10px;
}
.subcontLinkLists--4 > li {
	width: calc((100% - 30px) / 4);
	margin-bottom: 10px;
}
.subcontLinkLists--4 > li:not(:nth-child(4n + 1)) {
	margin-left: 10px;
}
@media screen and (max-width:767px){
	.subcontLinkLists--4 > li {
		width: calc((100% - 10px) / 2);
		margin-bottom: 10px;
	}
	.subcontLinkLists--4 > li:not(:nth-child(4n + 1)) {
		margin-left: 0;
	}
	.subcontLinkLists--4 > li:not(:nth-child(2n + 1)) {
		margin-left: 10px;
	}
}

/* a */
.subcontLinkLists--4 > li > a {
	display: block;
	text-decoration: none;
}

/* img */
.subcontLinkLists--4 > li img {
	width: 100%;
}

/**
 * subcontLinkLists--3
 */
.subcontLinkLists--3 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -20px;
}
.subcontLinkLists--3.is-center {
	justify-content: center;
}
.subcontLinkLists--3 > li {
	width: calc((100% - 40px) / 3);
	margin-bottom: 20px;
}
.subcontLinkLists--3 > li:not(:nth-child(3n + 1)) {
	margin-left: 20px;
}
@media screen and (max-width:767px){
	.subcontLinkLists--3 {
		margin-bottom: -10px;
	}
	.subcontLinkLists--3 > li {
		width: calc((100% - 10px) / 2);
		margin-bottom: 10px;
	}
	.subcontLinkLists--3 > li:not(:nth-child(3n + 1)) {
		margin-left: 0;
	}
	.subcontLinkLists--3 > li:not(:nth-child(2n + 1)) {
		margin-left: 10px;
	}
}

/* a */
.subcontLinkLists--3 > li > a {
	display: block;
	text-decoration: none;
}

/* img */
.subcontLinkLists--3 > li img {
	width: 100%;
}


/**
 * tabCont
 */
.tabCont {
	display: none
}
.tabCont.is-tabActive {
	display: block;
}

/**
 * textFlexLists
 */
/* item */
.textFlexLists__item {
	display: flex;
}
@media screen and (max-width:767px){
	.textFlexLists.is-dtWidth370 .textFlexLists__item {
		flex-wrap: wrap;
	}
}

/* dt */
.textFlexLists__dt {
	flex: none;
	white-space: nowrap;
}
@media screen and (max-width:767px){
	/* colon */
	.textFlexLists__dt.is-afterColon:after {
		content: "：";
	}
}

/* dtが500px SPは100% */
.textFlexLists.is-dtWidth370 .textFlexLists__dt {
	width: 370px;
}
@media screen and (max-width:767px){
	.textFlexLists.is-dtWidth370 .textFlexLists__dt {
		width: 100%;
	}
}

/* colon */
.textFlexLists__dd.is-beforeColon:before {
	content: "：";
}
@media screen and (max-width:767px){
	.textFlexLists__dd.is-beforeColon:before {
		content: none;
	}
}

/* SPで段落落とす */
@media screen and (max-width:767px){
	.textFlexLists.is-flexwrap .textFlexLists__item {
		flex-wrap: wrap;
	}
	.textFlexLists.is-flexwrap .textFlexLists__dt {
		width: 100%;
	}
}


/**
 * nakaguroLists
 */
.nakaguroLists {
	padding-left: 26px;
}
.nakaguroLists > li {
	list-style: disc;
}

/**
 * 横幅
 */
/* width300 */
.width300 {
	width: 300px;
}
@media screen and (max-width:767px){
	.width300 {
		width: 100%;
	}
}

/* width500 */
.width500 {
	width: 500px;
}
@media screen and (max-width:767px){
	.width500 {
		width: 100%;
	}
}

@media screen and (max-width:767px){
	.sp-img70per {
		width: 70%;
	}
}

/**
 * table
 */
.sTableWrap,
.sTableWrap table,
.sTableWrap tbody {
	width: 100%
}
.sTableWrap table,
.sTableWrap th,
.sTableWrap td {
	border: 1px solid rgba(var(--main-color-gold),.8);
	border-collapse: collapse;
}

.sTableWrap th {
	width: calc(100% / 3);
	padding: 16px 0;
	text-align: center;
	line-height: 1.6;
}

.sTableWrap td {
	padding: 6px 0;
	text-align: center;
}