@charset "UTF-8";


/* ---------------------------------------------------------------------- */
/* PC */
/* ---------------------------------------------------------------------- */
@media (min-width: 1001px) {

	/* header
  ---------------------------------------------------------------------- */
	#mainheader {
		width: 100%;
		height: 70px;
		z-index: 1000;
		position: fixed;
		top: 25px;
		left: 0;
		z-index: 100;
		transition: background-color 0.3s, height 0.3s, top 0.3s;
	}

	.mainheader__inr {
		max-width: 1600px;
		margin: 0 auto;
		height: 100%;
	}

	#mainheader .mainheader__wrap {
		display: flex;
		padding: 0 2%;
		height: 100%;
		max-width: 1560px;
		justify-content: space-between;
		z-index: 100;
		position: relative;
		align-items: center;
		gap: 3%;
	}

	#mainheader .mainheader__logo {
		width: 149px;
		padding-top: 15px;
	}

	#mainheader .mainheader__logo a {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		margin-right: auto;
		width: 100%;
		height: 100%;
		transition: none;
	}

	#mainheader .mainheader__logo a img {
		width: 100%;
		height: auto;
		transform: rotate(0.0001deg);
	}

	/* fnav
  ---------------------------------------------------------------------- */
	.fnav {
		position: fixed;
        top: 45px;
        left: 50%;
        transform: translateX(-50%);
        width: 53%;
        z-index: 101;
        max-width: 640px;
		color: #fff;
		mix-blend-mode: exclusion;
	}

	.fnav__list {
        flex: 1;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        line-height: 1.4;
        font-weight: 500;
        
	}

	.fnav__list li a {
		font-size: 1.6rem;
		letter-spacing: 0.15em;
		font-weight: bold;
		display: block;
		line-height: 1.2;
		position: relative;
		text-align: center;
	}

	.fnav__list li a span.en {
		display: block;
		font-size: 1.2rem;
		letter-spacing: 0;
		font-family: "Manrope", sans-serif;
	}

	.btn__rsv {
		width: 196px;
	}

	/* sp
  ---------------------------------------------------------------------- */
	#spnav,
	.hamburger {
		display: none;
	}


	/* footer
  ---------------------------------------------------------------------- */
	.footer {
		position: relative;
	}

	.footer__inr {
		padding: 95px 0 70px;
		position: relative;
		background-color: #B9B4D4;
	}

	.footer__wrap {
		display: flex;
		justify-content: space-between;
        max-width: 1070px;
        padding: 0 10px;
        gap: 3%;
	}

	.footer__logo {
		width: 210px;
		margin:0 auto 33px;
	}

	.footer__logo a ,
	.footer__logo img {
		display: block;
		width: 100%;
	}

	.footer__address {
		letter-spacing: 0;
		line-height: 1.625;
		text-align: center;
		font-weight: bold;
		margin-bottom: 25px;
	}

	.footer__tel {
		font-weight: 500;
		text-align: center;
	}

	.footer__tel a {
		/*font-size: 3.8rem;*/
		font-size: 3rem;
		letter-spacing: 0.06em;
		line-height: 1;
		font-weight: 500;
	}

	.footer__tel dl {
		letter-spacing: 0;
		line-height: 1.5;
		display: flex;
		justify-content: center;
		gap: 20px;
		font-weight: 500;
	}

	.footer__nav {
		flex: 1;
		max-width: 672px;
	}

	.footer__menu {
		color: #fff;
		font-size: 1.8rem;
		letter-spacing: 0;
        margin: -3px 0 34px auto;
		display: flex;
		flex-wrap: wrap;
		max-width: 642px;
	}

	.footer__menu li {
		width: 18%;
		font-weight: 500;
	}

	.footer__menu li:first-of-type {
		order: 1;
	}

	.footer__menu li:nth-of-type(2) {
		order: 6;
	}
	.footer__menu li:nth-of-type(3) {
		order: 7;
	}
	.footer__menu li:nth-of-type(4) {
		order: 2;
	}
	.footer__menu li:nth-of-type(5) {
		order: 3;
	}
	.footer__menu li:nth-of-type(6) {
		order: 6;
	}
	.footer__menu li:nth-of-type(7) {
		order: 8;
	}
	.footer__menu li:nth-of-type(8) {
		order: 4;
        width: 27%;
	}
	.footer__menu li:nth-of-type(9) {
		order: 11;
	}
	.footer__menu li:nth-of-type(10) {
		order: 10;
        /*width: 27%;*/
	}
	.footer__menu li:nth-of-type(11) {
		order: 5;
	}
	.footer__menu span {
		display: none;
	}

	.footer__menu-sub {
		display: none;
	}

	.footer__bnr {
		display: flex;
		justify-content: space-between;
		gap: 20px;
		margin-bottom: 32px;
	}

	.footer__sns {
		display: flex;
		gap: 20px;
		margin-left: 13px;
	}

	.copyright {
		font-size: 1.3rem;
		letter-spacing: 0.08em;
		color: #fff;
		background-color: #8D81BB;
		padding: 8px;
		text-align: center;
	}

}

/* End @media (min-width: 1001px) */
/* ---------------------------------------------------------------------- */

/* ---------------------------------------------------------------------- */
/* SP */
/* ---------------------------------------------------------------------- */
@media (max-width: 1000px) {

	/* header
  ---------------------------------------------------------------------- */
	#mainheader {
		position: fixed;
		top: 15vw;
		width: 100vw;
		bottom: 0;
		z-index: 2000;
		opacity: 0;
		visibility: hidden;
		overflow: scroll;
		transition: opacity 0.5s , visibility 0.5s;
		background: url(../images/bg_sp_menu.png) ;
		background-color: #FFFFFF;
	}

	.open #mainheader {
		z-index: 2000;
		overflow: scroll;
		z-index: 2000;
		opacity: 1;
		visibility: visible;
	}

	#mainheader .mainheader__logo {
		display: none;
	}

	.mainheader__wrap {
		padding: 6vw 5.5vw 8vw;
	}

	.fnav__list {
		margin-bottom: 5.5vw;
	}

	.fnav__list li a {
		display: flex;
		align-items: center;
		font-size: 4rem;
		font-family: "Noto Serif JP", serif;
		letter-spacing: 0.15em;
		font-weight: 500;
		line-height: 1.5;
		padding: 0.66em 0;
		position: relative;
		border-bottom: .5px solid #8D81BB;
		background: url(../images/icon_arrow02_green.svg) no-repeat top 44% right 2.5%;
		background-size: 9rem 1.6rem;
	}

	.fnav__list li a span.ja {
		width: 42.2%;
	}

	.fnav__list li a span.en {
		font-family: "Manrope", sans-serif;
		display: block;
		color: #8D81BB;
		font-size: 3rem;
		font-weight: bold;
		letter-spacing: 0;
	}

	.fnav__sns {
		display: flex;
		justify-content: center;
		gap: 5vw;
        margin-bottom: 10vw;
	}

	.fnav__sns img {
		width: 6rem
	}

	.fnav__list-sub {
		display: flex;
		justify-content: center;
		font-size: 2.8rem;
		font-weight: 500;
		letter-spacing: 0;
		gap: 13vw;
	}


	/* spnav
---------------------------------------------------------------------- */
	#spnav {
		display: flex;
		justify-content: space-between;
		height: 100%;
		width: 100%;
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 20000;
		background: #ffffff;
		height: 15vw;
	}

	.open #spnav {
		top: 0;
		bottom: initial;
	}

	#spnav ul {
		display: flex;
		width: 100%;
	}

	#spnav ul li {
		text-align: center;
		position: relative;
	}

	#spnav ul li {
		background: #231815;
	}

	#spnav ul li.btn__rsv {
		width: calc(257 / 750 * 100vw);
	}

	#spnav ul li.btn__rsv a {
		width: 100%;
        color: #fff;
        font-size: 3.2rem;
        padding: 1.5vw 6vw 2.2vw 2vw;
        letter-spacing: 0.15em;
        display: flex;
        align-items: center;
        justify-content: center;
		flex-direction: column;
        cursor: pointer;
        gap: 6%;
        background-color: #C19100;
		background: url(../images/icon_arrow02_short.svg) no-repeat top 47% right 10.5%;
		background-size: 3.1rem .9rem;
	}

	#spnav ul li.btn__rsv a .ja {
		display: flex;
		align-items: center;
		flex: 1;
	}

	#spnav ul li a .en {
		font-size: max(10px, 1.8rem);
		letter-spacing: 0;
		font-weight: bold;
	}

	#spnav ul li a {
		font-size: 1.8rem;
		display: flex;
		flex-direction: column;
		height: 100%;
		align-items: center;
		justify-content: center;
		color: #Fff;
		line-height: 1;
		padding: 1.5vw 5vw 2.2vw 3vw;
	}

	#spnav ul li:first-of-type {
		background-color: #F2F2F2;
		transition: background-color 0.3s;
		flex: 1;
	}

	#spnav ul li:nth-of-type(2){
		width: calc(110 / 750 * 100vw);
		background-color: #E6E6E6;
	}

	#spnav ul li:nth-of-type(3) {
		background-color: #C19100;
	}

	#spnav ul li:last-of-type {
		width: calc(134 / 750 * 100vw);
	}

	#spnav ul li:nth-of-type(2) a {
		color: #8D81BB;
		padding: 1.5vw 2vw 2.2vw;
	}

	#spnav ul li:nth-of-type(2) a img ,
	#spnav ul li:nth-of-type(3) a img {
		margin-top: 1vw;
	}

	#spnav ul li:nth-of-type(2) a  > *:first-child {
		flex: 1;
		width: 4.6vw;
	}

	#spnav ul li a img {
		width: 100%;
	}

	/* hamburger
---------------------------------------------------------------------- */
	.hamburger {
		position: relative;
		width: 100%;
		height: 100%;
		flex-shrink: 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 1.5vw 2vw 2.2vw;
		background-color: #8D81BB;
	}

	.hamburger__inr {
		display: block;
		flex: 1;
		position: relative;
		margin-bottom: 5px;
		width: 7.74vw;
		max-width: 100%;
	}

	.hamburger__inr span {
		display: block;
		width: 100%;
		height: 2px;
		position: relative;
		background-color: #fff;
		transition: ease all .5s;
	}

	header.scroll .hamburger__inr span {
		background-color: #ffffff;
	}

	.open .hamburger__inr span {
		background-color: #ffffff;
	}

	.hamburger__inr span:nth-child(1) {
		top: 23%;
	}

	.hamburger__inr span:nth-child(2) {
		top: 45%;
	}

	.hamburger__inr span:nth-child(3) {
		top: 68%;
	}

	.open .hamburger__inr span:nth-child(1) {
		top: 53%;
		transform: rotate(31deg);
	}

	.open .hamburger__inr span:nth-child(2) {
		display: none;
	}

	.open .hamburger__inr span:nth-child(3) {
		top: 50%;
		transform: rotate(-31deg);
	}

	.hamburger__txt {
		color: #ffffff;
		line-height: 1;
		letter-spacing: 0;
		font-size: max(10px, 1.8rem);
		text-align: center;
		transition: color 0.3s;
		font-weight: bold;
	}

	.open .hamburger__txt {
		color: #ffffff;
	}

	.open #spnav ul li:first-of-type {
		background-color: #fff;
	}


	/* footer
  ---------------------------------------------------------------------- */
	.footer {
		position: relative;
		font-size: 3.2rem;
		margin-bottom: 15vw;
	}

	.footer__inr {
		padding: 13vw 0 7vw;
		position: relative;
		background-color: #B9B4D4;
	}

	.footer__wrap {
        max-width: 1070px;
	}

	.footer__logo {
		width: 42.1rem;
		margin:0 auto 9vw;
	}

	.footer__logo a ,
	.footer__logo img {
		display: block;
		width: 100%;
	}

	.footer__address {
		letter-spacing: 0;
		line-height: 1.625;
		text-align: center;
		font-weight: bold;
		margin-bottom: 4.5vw;
	}

	.footer__tel {
		font-weight: 500;
		margin-bottom: 14vw;
		text-align: center;
	}

	.footer__tel a {
		/*font-size: 7.6rem;*/
		font-size: 6rem;
		letter-spacing: 0.06em;
		line-height: 1.5;
		font-weight: 500;
	}

	.footer__tel dl {
		letter-spacing: 0;
		line-height: 1.5;
		display: flex;
		justify-content: center;
		gap: 20px;
		font-weight: 500;
	}

	.footer__nav {
		flex: 1;
		max-width: 672px;
	}

	.footer__menu {
		color: #fff;
		letter-spacing: 0;
		display: flex;
		justify-content: space-around;
		flex-wrap: wrap;
		margin-bottom: 7vw;
		text-align: center;
		gap: 5.6vw 0;
	}

	.footer__menu li {
        min-width: 18%;
		font-weight: bold;
		line-height: 1.4;
	}

	.footer__menu li .en {
		display: block;
		font-size: 2.4rem;
	}

	.footer__menu-sub {
		border-top: 1px solid #fff;
		display: flex;
		color: #fff;
		font-size: 2.8rem;
		padding: 1.4em 0 2.5em;
		letter-spacing: 0;
		font-weight: 500;
		justify-content: space-around;
	}

	.footer__bnr {
		display: flex;
		flex-direction: column;
		gap: 5.5vw;
		margin-bottom: 4.5vw;
	}

	.footer__bnr img {
		width: 100%;
	}

	.footer__sns {
		display: flex;
		justify-content: center;
		gap: 5vw;
	}

	.footer__sns img {
		width: 6rem;
	}

	.copyright {
		font-size: 2.4rem;
		letter-spacing: 0.18em;
		color: #fff;
		background-color: #8B82B7;
		padding: .3em;
		text-align: center;
	}

}

/* End @media (max-width:1000px) */