/*--------------
common
--------------*/
html {
  font-size: 0.875rem;
}

@media print,screen and (min-width:1024px) {
  html {
    font-size: 0.875rem;
  }
}
@media print,screen and (min-width:1200px) {
  html {
    font-size: 1rem;
  }
}

*,
*::before,
*::after{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root{
  --color-black:#333;
  --color-white:#fefefe;
  --color-orange:#e28532;
  --color-pBlue:#e2f2f4;
  --color-gray:#dddddd;
  --hover-black:#646464;
  --hover-blue:var(--color-pBlue);
  --g-whiteOrange:linear-gradient(180deg, rgba(254,254,254,1) 37%, rgba(226,137,56,1) 100%);
  --g-orange:linear-gradient(180deg, rgba(226,242,244,0) 37%, rgba(226,137,56,1) 100%);
  --link-gradation-black:linear-gradient(90deg, rgba(254,254,254,0) 33%, rgba(51,51,51,1) 100%);
  --hover-opacity:.6;
  --opacity-black:rgb(51, 51, 51,.6);
  --opacity-white:rgb(254, 254, 254,.8);
  --box-shadow-black:4px 4px 8px rgba(0,0,0,.25);
  --font-size-title1:min(2.654rem, 6vw);
  --font-size-title2:min(2.4rem, 5.83vw);
  --font-size-subTitle1:min(1.2rem,3.83vw);
  --font-size-text1:min(1.18rem, 3.83vw);
  --font-size-text2:min(1.4rem, 4vw);
  --font-size-text3:min(.9rem, 3.4vw);
  --letter-spacing:.04em;
  --line-height:1.1;
  --transition:all .5s cubic-bezier(0.43, 0.05, 0.17, 1);
  --ease-out:cubic-bezier(.23,1,.32,1);
  --scale115:scale(1.15);
  --section-margin:min(12rem,22vw);
  --border-radius:2rem;
  --blur10px:blur(10px);
  --fonts-jp: "Shippori Mincho","游明朝体", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", serif;
}

body {
  font-family: var(--fonts-jp);
  line-height: 1.75;
  letter-spacing: var(--letter-spacing);
  -webkit-font-feature-settings:"palt";
  font-feature-settings:"palt";
  font-weight: 400;
  color: var(--color-black);
  background: url(img/bg.png) repeat center;
  position: relative;
  -webkit-font-smoothing: antialiased;
  animation: opacityAnimation 1s cubic-bezier(.55,.05,.22,.99) .2s normal forwards;
  overflow-x: hidden;
}

@keyframes opacityAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

a {
  text-decoration: none;
  color: var(--color-black);
  transition: var(--transition);
  font-weight: 500;
}

li{
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

h1,h2,h3,h4,h5,h6{
  font-weight: 500;
}

table {
  clear: both;
  border-collapse: collapse;
  width: 100%;
}

td,th{
  padding: min(1rem, 1.4vw);
  border: solid 1px var(--color-gray);
}

.contents{
  width: min(1200px, 86%);
  margin: 0 auto;
  position: relative;
}

.contents-title{
  position: relative;
  font-size: var(--font-size-title1);
  font-weight: 500;
  text-align: center;
  margin-bottom: min(4rem, 6vw);
  line-height: var(--line-height);
  letter-spacing: 0em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(1.4rem,2vw);
  z-index: 2;
}
.contents-title>span.-title_text{
  position: relative;
}
.contents-title>span.-title_text .-title_en{
  font-size: var(--font-size-subTitle1);
  text-transform: uppercase;
}

/*.contents-title>span.-title_icon{
  width: min(6rem, 12vw);
}*/
.contents-title>span.-title_icon img{
  display: block;
  height: min(5rem, 14vw);
  width: auto;
  margin: 0 auto;
}

.svg-icon{
  display: none;
}

svg.logo-sns{
  fill: var(--color-black);
  position: relative;
  aspect-ratio: 1 / 1;
  display: block;
  transition: var(--transition);
}

/*---link---*/
.linkBtn{
  text-align: center;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  position: relative;
  z-index: 1;
}
.linkBtn::after{
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(194, 226, 225, 0);
  border-radius: 50%;
  z-index: -1;
  transition: var(--transition);
}
.linkBtn span{
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-size: min(1rem, 3.3vw);
  z-index: 1;
  transition: var(--transition);
}

.linkBtn.--td{
  writing-mode: tb;
  width: min(5rem, 14vw);
  height: min(13rem, 39vw);
  background: url(img/btn-line.svg) no-repeat center center / 100% auto;
  background-size: 100%;
}

.linkBtn.--rl{
  height: min(5rem, 19vw);
  width: min(13rem, 44vw);
  background: url(img/btn-line2.svg) no-repeat center center / 100% auto;
  background-size: 100%;
}

.linkBox {
  text-align: center;
  font-weight: 500;
  border-radius: 9999px;
  padding: min(1.4rem, 2.4vw) min(4rem, 6vw);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  transition: var(--transition);
}

.linkBox>.linkBox-arrow{
  width: min(1.4rem);
  height: min(1.4rem);
  display: block;
  transform: rotate(-90deg);
  transition: var(--transition);
}
.linkBox>.linkBox-arrow img{
  display: block;
}

a.linkBtn-arrow span{
  position: relative;
  padding-right: min(1.6rem, 4vw);
}
a.linkBtn-arrow span:after{
  position: absolute;
  content: "";
  -webkit-mask: url(img/arrow.svg);
  mask: url(img/arrow.svg);
  -webkit-mask-size: auto;
  mask-size: auto;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  background-repeat: no-repeat;
  background-color: var(--color-black);
  width: min(1rem, 3vw);
  height: min(.6rem, 3vw);
  top: 50%;
  right: 0;
  transform: translateY(-15%);
  transition: var(--transition);
}

.menuList-link li::before{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  background-color: var(--color-gray);
  left: 0;
  bottom: 0;
}

.linkRound{
  background: rgb(254 254 254 / 80%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  box-shadow: var(--box-shadow-black);
  width: min(4rem, 14vw);
  height: min(4rem, 14vw);
  transition: var(--transition);
}

.linkRound img{
  width: min(33%);
}

.linkBtn-wh{
  background: rgb(254 254 254 / 80%);
  text-align: center;
  box-shadow: var(--box-shadow-black);
  border-radius: min(.6rem);
  display: block;
  padding: .8rem;
  width: min(14rem, 80vw);
}

@media print, screen and (min-width: 768px) {
  /*---link---*/
  .linkBox:hover .linkBox-arrow{
    transform: rotate(-90deg) translateY(.5rem);
  }
  a.cardLink:hover{
    background-size: 110%;
  }
  a.cardLink:hover .arrow-icon{
    transform: scale(1.1);
  }

  .linkBtn:hover::after{
    background: rgba(194, 226, 225, 1);
  }

  .linkBox-bg:hover::before{
    transform: translateY(-50%) scale(1.08);
  }

  .linkBtn-wh:hover{
    box-shadow:none
  }
}


/*-- scroll animation --*/
.scroll-fadeIn {
  opacity: 0;
}
.scroll-fadeIn.is-active{
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  opacity: 0;
  filter: blur(10px);
  transform: translate(0px, 10px);
  animation: scroll-fadeIn .75s ease .6s normal forwards;
}

@keyframes scroll-fadeIn {
  0%{
    opacity: 0;
    transform: translate(0px, 10px);
    filter: blur(10px);
  }
  100%{
    opacity: 1;
    transform: translate(0px, 0px);
    filter: blur(0);
  }
}

.scroll-title{
  opacity: 0;
}

.scroll-title.is-active{
  animation: textBlur 1s cubic-bezier(.04,.435,.315,.9) .5s normal forwards;
  filter: var(--blur10px);
  opacity: 0;
}

.date{
  color: #838383;
  font-size: var(--font-size-text3);
}

/*----- animation -----*/
.jizou2-yuge{
  position: relative;
}
.jizou2-yuge>.jizou2-yuge_yuge{
  position: absolute;
  top: 10%;
  right: 0%;
  width: 29%;
}

.a-yuge{
  animation: yugeUp 4s ease-in-out infinite;
  transform: translateY(0px);
  opacity: 0;
}
@keyframes yugeUp {
  0% {
    opacity: 0;
    transform: translateY(0px);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(-50%);
  }
}

/*----- breadcrumbs/pageTop -----*/
.breadcrumbs {
  text-align: left;
  font-size: min(1.12rem, 2.6vw);
  margin: auto;
  padding: 16px 3vw;
  color: var(--kaisei-green);
  letter-spacing: .08em;
}

.breadcrumbs span {
  padding: 0 2px;
}

.breadcrumbs a {
  color: var(--kaisei-green);
  text-decoration: underline;
}

#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	width: 50px;
	height: 50px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

/*---- page top -----*/
.page-top{
  width: min(4rem, 16vw);
  margin: 0 auto 1.24rem;
}
.page-top a{
  display: block;
}

/*----- googleMap/youtube -----*/
.googleMap{
  position: relative;
  padding-bottom: 50.25%;
  overflow: hidden;
}

.googleMap iframe, .googleMap object, .googleMap embed{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.youtube{
  position:relative;
  width:100%;
  padding-top:62.25%;
}

.youtube iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

/*----- not found -----*/
.notFound{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: min(21rem, 44vw) 0 0;
}

.notFont-wrapper{
  padding: 0 6vw 0;
}

.notFont-wrapper h2{
  font-weight: 500;
  line-height: 1.5;
  padding-bottom: 16px;
}
.notFont-wrapper h2 span{
  font-size: min(3.24rem,8vw);
  display: block;
}

.notFont-wrapper p{
  padding-bottom: 40px;
}

.notFont-images{
  width: min(7rem, 21vw);
  margin: 0 auto min(2rem, 5vw);
}

/*----- thumbnail -----*/
.thumbnail {
  position: relative;
  display: block;
  overflow: hidden;
  padding-top: 72.25%;
}

.thumbnail img {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  transition: var(--transition);
}

/*----- swiper -----*/
.swiper-wrapper {
  transition-timing-function: linear;
}

.swiper-container{
  overflow: hidden;
}

.swiper-slide{
  padding: 0 2px;
}

.swiper-slide img {
  height: auto;
  width: 100%;
}

body .swiper-button-next.swiper-button-disabled,
body .swiper-button-prev.swiper-button-disabled,
body .swiper-button-next2.swiper-button-disabled,
body .swiper-button-prev2.swiper-button-disabled{
  opacity: 1;
  pointer-events: all;
  cursor: pointer;
}

.swiper-pagination .swiper-pagination-bullet-active{
  background: var(--color-white);
}

.swiper-button-prev:after,
.swiper-button-prev2:after,
.swiper-button-next:after,
.swiper-button-next2:after{
  content: ""!important;
}


/*----- bg image -----*/
main.c-main{
  background: url(img/c-mainBg.png) no-repeat top;
  background-size: 100%;
  position: relative;
  margin-top: -7vw;
}
main.c-main::before{
  content: "";
  position: absolute;
  background: linear-gradient(180deg, rgba(226,242,244,0) 30%, rgba(226,137,56,1) 100%);
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  z-index: 0;
}

main.c-main_page{
  padding: min(14rem, 24vw) 0 0;
}

.c-main_deco{
  position: absolute;
  z-index: 1;
}

.c-main_deco._deco__cloud1{
  right: 0;
  top: min(67rem, 107vw);
  width: min(35rem, 30vw);
  z-index: -1;
}
.c-main_deco._deco__cloud1 img{
  -webkit-animation: fuwafuwa 20s -10s infinite linear;
  animation: fuwafuwa 20s -10s infinite linear;
}

.c-main_deco._deco__cloud2{
  left: 0;
  top: min(129rem,218vw);
  width: 28vw;
  z-index: -1;
}
.c-main_deco._deco__cloud2 img{
  -webkit-animation: fuwafuwa 25s -10s infinite linear;
  animation: fuwafuwa 25s -10s infinite linear;
}

.c-main_deco._deco__cloud3{
  right: 0;
  top: min(358rem, 431vw);
  width: 48vw;
}

.c-main_deco._deco__cloud3 img{
  -webkit-animation: fuwafuwa2 30s -10s infinite linear;
  animation: fuwafuwa2 30s -10s infinite linear;
}

.c-main_deco._deco__cloud4{
  opacity: .5;
  right: min(21vw);
  top: min(358rem, 431vw);
}

.c-main_deco._deco__cloud4 img{
  -webkit-animation: fuwafuwa2 35s -15s infinite linear;
  animation: fuwafuwa2 35s -15s infinite linear;
}

.c-main_deco._deco__cloud5{
  left: 0;
  top: min(66%, 620vw);
  width: 28vw;
}

.c-main_deco._deco__cloud5 img{
  -webkit-animation: fuwafuwa2 25s -10s infinite linear;
  animation: fuwafuwa2 25s -10s infinite linear;
}


@media screen and (min-width:768px) {
  main.c-main{
    margin-top: -7rem;
  }

  main.c-main::before{
    background: linear-gradient(180deg, rgba(226, 242, 244, 0) 38%, rgba(226, 137, 56, 1) 100%);
  }

  .c-main_deco._deco__cloud1{
    top: min(33rem, 55vw);
    width: min(24rem, 23vw);
  }

  .c-main_deco._deco__cloud2{
    top: min(117rem, 100vw);
    width: 22vw;
  }

  .c-main_deco._deco__cloud3{
    top: min(43%, 216vw);
    width: 32vw;
  }

  .c-main_deco._deco__cloud4{
    top: min(42%, 180vw);
    width: 10vw;
  }

  .c-main_deco._deco__cloud5{
    top: min(82%, 374vw);
    width: 20vw;
  }

  .swiper-button-next:hover,
  .swiper-button-prev:hover,
  .swiper-button-next2:hover,
  .swiper-button-prev2:hover{
    transform: var(--scale115);
  }
}


/*----- tab menu -----*/
.tabMenu-contents-item{
  transition: var(--transition);
  display: none;
}
.tabMenu-contents-item.is-active{
  display: block;
}

.tabBtn{
  display: flex;
  justify-content: center;
  align-items: end;
  gap: min(.5rem,1.4vw);
  width: min(100%, 60rem);
  margin: 0 auto;
}

.tabBtn-btn{
  width: calc(100% / 4);
}
.tabBtn-btn a{
  display: block;
  text-align: center;
  border-radius:calc(var(--border-radius) / 2) calc(var(--border-radius) / 2) 0 0;
  background: var(--color-gray);
  font-size: min(1.6rem,3.6vw);
  line-height: 1.4;
  padding: min(1rem, 2vw);
  cursor: pointer;
}
.tabBtn-btn a.is-active{
  background: var(--color-orange);
  color: var(--color-white);
}

/*----- accordion -----*/
.accordion{
  border-bottom: solid 1px var(--color-gray);
}

.accordion .title{
  position: relative;
  cursor: pointer;
  font-weight: 500;
  font-size: var(--font-size-text1);
  padding: min(2rem,4vw) 0;
  transition: var(--transition);
}
.accordion .title::after{
  position: absolute;
  content: "";
  background: url(img/page/access/acc-arrow.svg) no-repeat center;
  background-size: 100%;
  width: min(2rem, 6vw);
  height: min(2rem, 6vw);
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: var(--transition);
}

.accordion .title.close::after{
  transform: translateY(-50%) rotate(180deg);
}

.accordion .box{
  display: none;
}

.tabMenu-contents{
  background: var(--opacity-white);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  padding: min(4rem, 6vw);
}

.box{
  padding-bottom: 2rem;
}

@media screen and (min-width:768px) {
  .tabMenu-contents{
    border-radius: var(--border-radius);
  }

  .title:hover,.tabBtn-btn a:hover{
    opacity: .6;
  }

}


/*--------------
footer
--------------*/
footer {
  z-index: 2;
  position: relative;
  padding: min(14rem, 12vw) 0 min(2rem,4vw);
  margin-top: 38vw;
  text-align: center;
  background: var(--color-orange);
}

footer,footer a {
  color: var(--color-white);
}

footer::before{
  content: "";
  width: 100%;
  height: 26vw;
  background: url(img/i-matsue.png) no-repeat center top / 122%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: -11vw auto auto 0;
  z-index: -1;
}

ul.footer-banner{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: min(1.4rem, 2.4vw) min(2rem, 2vw);
  width: min(54rem, 100%);
  margin: min(4rem, 12vw) auto min(6rem, 12vw);
  z-index: 2;
  position: relative;
}

ul.footer-banner li{
  width: calc((100% - min(2rem,2vw)) / 2);
}

ul.footer-banner li img{
  width: 100%;
}

.footer-info{
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 90vw;
  margin: 0 auto;
  gap: min(3rem, 6vw);
  z-index: 2;
}

.footer-info_contents.footer-logo{
  width: min(15rem, 28vw);
}
.footer-info_contents:nth-of-type(2){
  width: min(35rem, 100%);
}

.footer-info_address{
  margin-bottom: 1.4rem;
}

a.footer-info_tel{
  display: block;
  text-align: center;
  border: solid 1px var(--color-white);
  border-radius: min(2rem,5vw);
  padding: min(.8rem,4vw);
  width: 72%;
  margin: 0 auto;
}

a.footer-info_tel span._tel__number{
  font-size: min(2rem, 7vw);
  line-height: var(--line-height);
}

ul.footer-menulist{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8rem min(1.4rem, 4.1vw);
}

ul.footer-info_sns{
  display: flex;
  flex-direction: column;
  gap: .8rem;
}

ul.footer-info_sns>li a{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(0.8rem, 1.4vw);
  font-size: var(--font-size-text1);
}
ul.footer-info_sns>li a span{
  display: block;
  width: min(2.24rem,8vw);
}

footer small{
  display: block;
  padding: min(8rem, 14vw) 4vw 0;
  font-size: min(.74rem, 2.4vw);
  text-align: right;
  letter-spacing: .14em;
  text-align: center;
}

/*---- footer deco ----*/
.footer-deco{
  position: absolute;
}

.footer-lake1{
  width: min(32rem, 25vw);
  left: min(20rem, 2vw);
  top: min(14rem, 14vw);
}

.footer-lake2{
  width: min(33rem, 30vw);
  top: 14vw;
  right: min(21rem, 4vw);
  z-index: -1;
}

img.footer-lake2_hakucho{
  position: absolute;
  z-index: 1;
  width: min(38%, 17vw);
  top: -45%;
  left: 20%;
}

.footer-bird1{
  top: -20vw;
  left: min(6vw);
  width: 8.6vw;
}

.footer-bird2{
  top: -16vw;
  right: min(10rem, 13vw);
  width: 6.6vw;
}

.footer-crow{
  width: 13vw;
  top: -22vw;
  left: 30vw;
}

.a-lake{
  animation: a-yurayura 10s ease-in-out infinite alternate;
}

@keyframes a-yurayura {
  0% {
    transform:translate(0, 0);
  }
  50% {
    transform:translate(-5%,0);
  }
  100% {
    transform:translate(0, 0);
  }
}

/*---- footer page sunset ----*/
.footer-sunset{
  position: absolute;
  top: -15vw;
  z-index: -2;
  width: min(15vw);
  left: 8vw;
}

@media print,screen and (min-width:768px) {
  footer{
    margin-top: 32vw;
    text-align: left;
  }

  footer::before{
    background: url(img/i-matsue.png) no-repeat center top / 100%;
  }

  footer a:hover{
    opacity: .6;
  }

  .page-top a:hover{
    transform: scale(1.15);
  }
  .footer-logo a:hover,ul.footer-banner li a:hover{
    opacity: var(--hover-opacity);
  }

  .footer-info{
    flex-wrap: wrap;
  }

  .footer-info_contents.footer-logo{
    width: min(12rem,20vw);
  }
  .footer-info_contents:nth-of-type(2){
    width: min(28rem, 28vw);
  }
  .footer-info_contents:nth-of-type(3){
    width: 26rem;
  }
  .footer-info_contents:nth-of-type(4){
    width: 14rem;
  }

  a.footer-info_tel{
    width: 100%;
  }

  ul.footer-banner li{
    width: calc((100% - calc(min(2rem,2vw) * 2)) / 3);
  }

  ul.footer-menulist{
    justify-content: flex-start;
  }

  ul.footer-info_sns{
    flex-direction: column;
  }

  /*---- footer deco ----*/
  .footer-crow {
    top: -25vw;
    left: min(48rem,34vw);
    width: 10vw;
  }

  /*---- footer page sunset ----*/
  .footer-sunset{
    top: -14vw;
    left: 10vw;
  }
}

@media print,screen and (min-width:1024px) {
  .footer-info_contents:nth-of-type(2){
    width: min(21rem, 22vw);
  }
  .footer-info_contents:nth-of-type(3){
    width: min(18rem, 24vw);
  }
  .footer-info_contents:nth-of-type(4){
    width: 11rem;
  }
}

@media print,screen and (max-width:768px) {
  .footer-lake2{
    top: 17vw;
  }
  .footer-lake1{
    top: 17vw;
  }

  .footer-bird2{
    top: -20vw;
  }
}