@charset "utf-8";

/* CSS Document */



body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	word-break: keep-all;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    text-align: left !important;
    line-break: strict;
    word-break: normal;
}
header {
    background: #000;
    border-bottom: 1px solid #FFF;
    padding: 6px 10px 6px 10px;
    height: 30px;
    overflow: hidden !important;
	position: relative;
	z-index: 3;
}

a:hover {
    opacity: 0.8;
}
a {
    transition: opacity 0.3s ease-out;
}
.sp {
    display: none;
}
.pc {
    display: block;
}
@media (max-width: 750px) {
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
}
.ml-10 {margin-left: 10px;}
.ml-20 {margin-left: 20px;}
.ml-30 {margin-left: 30px;}
.ml-40 {margin-left: 40px;}
.ml-50 {margin-left: 50px;}
.ml-60 {margin-left: 60px;}
.ml-70 {margin-left: 70px;}
.ml-80 {margin-left: 80px;}
.ml-90 {margin-left: 90px;}
.ml-100 {margin-left: 100px;}
.ml-110 {margin-left: 110px;}
.ml-120 {margin-left: 120px;}
.ml-130 {margin-left: 130px;}
.ml-140 {margin-left: 140px;}
.ml-150 {margin-left: 150px;}
.ml-160 {margin-left: 160px;}
.ml-170 {margin-left: 170px;}
.ml-180 {margin-left: 180px;}
.ml-190 {margin-left: 190px;}
.ml-200 {margin-left: 200px;}
@media (max-width: 640px) {
    .ml-10 {margin-left:1.333333333vw;}
    .ml-20 {margin-left:2.666666667vw;}
    .ml-30 {margin-left:4vw;}
    .ml-40 {margin-left:5.333333333vw;}
    .ml-50 {margin-left:6.666666667vw;}
    .ml-60 {margin-left:8vw;}
    .ml-70 {margin-left:9.333333333vw;}
    .ml-80 {margin-left:10.66666667vw;}
    .ml-90 {margin-left:12vw;}
    .ml-100 {margin-left:13.33333333vw;}
    .ml-110 {margin-left:14.66666667vw;}
    .ml-120 {margin-left:16vw;}
    .ml-130 {margin-left:17.33333333vw;}
    .ml-140 {margin-left:18.66666667vw;}
    .ml-150 {margin-left:20vw;}
    .ml-160 {margin-left:21.33333333vw;}
    .ml-170 {margin-left:22.66666667vw;}
    .ml-180 {margin-left:24vw;}
    .ml-190 {margin-left:25.33333333vw;}
    .ml-200 {margin-left:26.66666667vw;}
}
.mb-10 {margin-bottom: 7px;}
.mb-20 {margin-bottom: 13px;}
.mb-30 {margin-bottom: 20px;}
.mb-40 {margin-bottom: 26px;}
.mb-50 {margin-bottom: 33px;}
.mb-60 {margin-bottom: 40px;}
.mb-70 {margin-bottom: 46px;}
.mb-80 {margin-bottom: 53px;}
.mb-90 {margin-bottom: 59px;}
.mb-100 {margin-bottom: 66px;}
.mb-110 {margin-bottom: 73px;}
.mb-120 {margin-bottom: 79px;}
.mb-130 {margin-bottom: 86px;}
.mb-140 {margin-bottom: 92px;}
.mb-150 {margin-bottom: 99px;}
.mb-160 {margin-bottom: 106px;}
.mb-170 {margin-bottom: 112px;}
.mb-180 {margin-bottom: 119px;}
.mb-190 {margin-bottom: 125px;}
.mb-200 {margin-bottom: 132px;}
@media (min-width: 751px) and (max-width: 1749px) {
.mb-10 {margin-bottom: 6px;}
.mb-20 {margin-bottom: 11px;}
.mb-30 {margin-bottom: 17px;}
.mb-40 {margin-bottom: 22px;}
.mb-50 {margin-bottom: 28px;}
.mb-60 {margin-bottom: 34px;}
.mb-70 {margin-bottom: 39px;}
.mb-80 {margin-bottom: 45px;}
.mb-90 {margin-bottom: 50px;}
.mb-100 {margin-bottom: 56px;}
.mb-110 {margin-bottom: 62px;}
.mb-120 {margin-bottom: 67px;}
.mb-130 {margin-bottom: 73px;}
.mb-140 {margin-bottom: 78px;}
.mb-150 {margin-bottom: 84px;}
.mb-160 {margin-bottom: 90px;}
.mb-170 {margin-bottom: 95px;}
.mb-180 {margin-bottom: 101px;}
.mb-190 {margin-bottom: 106px;}
.mb-200 {margin-bottom: 112px;}
}
@media (max-width: 640px) {
    .mb-10 {margin-bottom:1.333333333vw;}
    .mb-20 {margin-bottom:2.666666667vw;}
    .mb-30 {margin-bottom:4vw;}
    .mb-40 {margin-bottom:5.333333333vw;}
    .mb-50 {margin-bottom:6.666666667vw;}
    .mb-60 {margin-bottom:8vw;}
    .mb-70 {margin-bottom:9.333333333vw;}
    .mb-80 {margin-bottom:10.66666667vw;}
    .mb-90 {margin-bottom:12vw;}
    .mb-100 {margin-bottom:13.33333333vw;}
    .mb-110 {margin-bottom:14.66666667vw;}
    .mb-120 {margin-bottom:16vw;}
    .mb-130 {margin-bottom:17.33333333vw;}
    .mb-140 {margin-bottom:18.66666667vw;}
    .mb-150 {margin-bottom:20vw;}
    .mb-160 {margin-bottom:21.33333333vw;}
    .mb-170 {margin-bottom:22.66666667vw;}
    .mb-180 {margin-bottom:24vw;}
    .mb-190 {margin-bottom:25.33333333vw;}
    .mb-200 {margin-bottom:26.66666667vw;}
}
#nav-btn {
    position: fixed;
    z-index: 9000;
    top: 20px;
    right: 10px;
    width: 70px;
    cursor: pointer;
}
#nav-btn:hover{
    opacity: 0.75;
}
#nav-fixed {
    position: fixed;
    z-index: 9000;
    top: 0;
    left: -300px;
    width: 300px;
    height: 100%;
    background: #ccc;
    overflow-y: auto;
}
/* @media (max-width: 750px) {
    #nav-fixed {
        width: 40vw;
        height: 100%;
    }
} */
#nav-fixed.navClose {
    animation: navClose 0.25s ease 0.0s forwards alternate;
}
#nav-fixed.navOpen {
    animation: navOpen 0.25s ease 0.0s forwards alternate;
}

#nav-fixed ul li {
    font-size: 18px;
    padding: 0.5em;
}
#nav-fixed ul li a {
    padding: 0;
    display: block;
    color: #FFF;
    font-weight: bold;
}
#nav-fixed ul li img {
    line-height: 0;
    font-size: 0;
    vertical-align: bottom;
}
#nav-fixed ul li a:hover {
    opacity: 0.75;
}
@media (max-width: 750px) {
    #nav-btn {
        top: 3vw;
        right: 3vw;
        width: 14vw;
    }
    #nav-fixed {
        left: -75vw;
        width: 75vw;
    }
}
@keyframes navClose {
    0% {
        left: 0;
    }
    100% {
        left: -300px;
    }
}
@keyframes navOpen {
    0% {
        left: -300px;
    }
    100% {
        left: 0;
    }
}
@media (max-width: 750px) {
    @keyframes navClose {
        0% {
            left: 0;
        }
        100% {
            left: -75vw;
        }
    }
    @keyframes navOpen {
        0% {
            left: -75vw;
        }
        100% {
            left: 0;
        }
    }
}
#contents .youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
#contents .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}

#contents #sns-share h2{
	margin: 0 34.6%;
}
#contents .sns-btn {
    margin: 0 24% 30px;
    text-align: center;
}
#contents .sns-btn li {
    display: inline-block;
    width: 23%;
    margin: 0 4.5%;
}
#social_btn {
	width: 100%;
    text-align: center;
    font-size: 0;
}
#social_btn > div {
    vertical-align: top;
    display: inline-block;
    margin: 0 5px;
}
#social_btn .fb_iframe_widget {
    vertical-align: top;
}
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
	z-index:20;
}
#page-top.fixed {
    position: fixed !important;
}








/* sns-area */

#sns-area{
	margin-bottom: 2em;
	margin: 0 5.333% 3em;
}

.main-sns .ttl-sns{
    /* background: #969696; */
}

.main-sns .inner {
    position: relative;
}
.main-sns .inner .bg {
    position: relative;
    z-index: 1;
}

.main-sns .inner .on {
    position: absolute;
    z-index: 2;
    width: 76.9%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.main-sns .inner li{
    background: #fff;
}

.main-news .ttl-news{
    /* background: #969696; */
}

.main-news .news_inner{
    background: #fff;
    width: 100%;
    border: 1px solid #969696;
    box-sizing: border-box;
}

.main-news .news_inner.gray{
    background: #eee;
    width: 100%;
    border: none;
    box-sizing: border-box;
}

.main-news .news_inner .news_lead{
    width: 84.6%;
    margin-left: auto;
    margin-right: auto;
}

.main-news .news_inner .news_btn{
    width: 76.923%;
    border: 1px solid #969696;
    margin-left: auto;
    margin-right: auto;
}


.main-sns-channel{
    background: #EEECEB;
}

.main-sns{
    position: relative;
    padding: 8% 0;
    /* background: #EEECEB; */
}
.main-sns .ttl-sns{
    /* background: #EEECEB; */
}
.main-sns ul{
    width: 90%;
    margin: 0 auto;
}

.main-channel{
    position: relative;
    padding: 8% 0;
    /* background: #EEECEB; */
}
.main-channel::after{
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    width: 90%;
    height: 1px;
    background: #8F8F8F;
    transform: translate(-50%, 0);
}
.main-channel .ttl-channel{
    /* background: #EEECEB; */
}
.main-channel ul{
    width: 90%;
    margin: 0 auto;
}



#site-notice{
	margin: 2em 5.333%;
    font-size: 85%;
}



/* Alternative */

.main-sns.alter{
    position: relative;
    padding: 8% 0;
    background: #EEECEB;
}
.main-sns.alter .ttl-sns{
    background: #EEECEB;
}
.main-sns.alter ul{
    width: 90%;
    margin: 0 auto;
}
.main-sns.alter::after{
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 90%;
    height: 1px;
    background: #8F8F8F;
    transform: translate(-50%, 0);

}

.main-channel.alter{
        padding: 8% 0;
    background: #EEECEB;
}
.main-channel.alter .ttl-channel{
    background: #EEECEB;
}
.main-channel.alter ul{
    width: 90%;
    margin: 0 auto;
}



/* global */
.other-txt{
    display: block;
}
.global-txt{
    display: none;
}
.global .other-txt {
    display: none;
}
.global .global-txt{
    display: block;
}


#site-notice{
	margin: 2em 5.333%;
    font-size: 92%;
}


/* -----------------------------------------
	SNS footer
-----------------------------------------*/
#sns-footer {
	background: #EEE;
}
#sns-footer svg {
	width: 100%;
}
#sns-footer img {
	width: 100%;
}
#sns-footer #sns-footer-inner {
	max-width: 750px;
	margin: auto;
}
#sns-footer #sns-footer-inner #sns-footer-tit {
	padding: 12% 20% 5%;
}
#sns-footer #sns-footer-inner #sns-footer-line {
	padding: 0 14% 10%;
}
#sns-footer #sns-footer-inner #sns-footer-tit-02 {
	padding: 0 33% 3.5%;
}
#sns-footer #sns-footer-inner #sns-footer-list {
	padding: 0 14% 15%;
	overflow: hidden;
}
#sns-footer #sns-footer-inner #sns-footer-list li {
	float: left;
	width: 33.33333%;
	width: -webkit-calc(100% / 3);
	width: calc(100% / 3);
}
#sns-footer #sns-footer-inner #sns-footer-list li a {
	display: block;
	padding: 5%;
}



/* -----------------------------------------
contents
-----------------------------------------*/
#container {
    margin: auto;
    width: 100%;
}
#contents {
    margin: auto;
    font-family: 'Noto Sans JP',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    line-height: 1.7;
    font-size: 14px;
	font-weight: 500;
    width: 100%;
    display: block;
    font-feature-settings: "palt";
	position: relative;
	
}
@media (max-width: 750px) {
    #contents {
        font-size: 3.32vw;
    }
}
@media screen and (min-width: 751px) and (max-width: 1100px) {
    #contents {
        font-size: 14px;
    }
}
.serif {
    font-family: 'Noto Serif JP', serif;
}
#contents img {
    width: 100%;
}

/* -----------------------------------------
original
-----------------------------------------*/
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus {
	outline: none;
	box-shadow: none;
}

#contents{
	font-feature-settings: "palt";
	text-justify: inter-ideograph;
}

.vs-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;	
}

.p_absolute{
	position: absolute;
	top:0;
	left: 0;
}

.p_relative{
	position: relative;
}

.t_center{
	text-align: center;
}

.t_left{
	text-align: left!important;
}

.line0{
	line-height: 0;
}

.zindex2{
	z-index: 2;
	position: relative;
}

.zindex10{
	z-index: 10;
	position: relative;
}

.p_center{
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}

.oveflowhidden{
	overflow: hidden;
}

.mt-1{
	margin-top: -1px;
}

input[type="checkbox"],
input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.menu-btn_mb {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
}

.bcw{
	background-color: #fff!important;
}

/*トップ分割*/

.layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.2fr)
    min(420px, 100%)  
    minmax(0, 1.1fr);
  min-height: 100vh;
}


.bc_left,
.bc_right {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
	-webkit-overflow-scrolling: touch;
}

.bc_left{
	background-image: url("../img/26061602/pcl_back.webp");
	background-position: top center;
	background-size: cover;
}

.bc_right{
	z-index: 1!important;
	background-image: url("../img/26061602/pcr_back.webp");
	background-position: top center;
	background-size: cover;
}

.bc_inner {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
	border-right: 2px solid #fff;
	border-left: 2px solid #fff;
	background-color: #fff;
	z-index: 2;
}

.pc_menuwrap{
	position: absolute;
	left:50%;
	top:45%;
	transform: translate(-50%,-50%);
	width:55%;
	max-width:400px;
}

.pcback{
	position: absolute;
	top:50%;
	left: 50%;
	transform:translate(-50%,-50%);
	transform-origin: center center;
	width:80%;
	margin: 0 auto;
}

.pcr_menu{
	position: absolute;
	top:50%;
	left: 50%;
	transform:translate(-50%,-50%);
	transform-origin: center center;
	width:80%;
	max-width: 500px;
}


@media screen and (min-width: 751px) and (max-width: 1100px){


	
	.layout{
		grid-template-columns:
		minmax(0, 1fr)  
		min(420px, 100%) ;
	}
	
	.bc_inner{
		border-right: none;
		max-width: 40.5rem!important;
		margin-right: 0!important;
	}
	
	.bc_right{
		display: none;
	}
	
	.hbbutton{
	 display: block;
}
	.pcfoot{
		display: none;
	}
	
	#contents,#container{
		max-width: 100vw;
	}

}

@media screen and (max-width: 750px){
	
	.layout {
    grid-template-columns: 1fr;
  }

	  .bc_left,
	  .bc_right {
		display: none;
	  }

	  .bc_inner {
		width: 100%;
		max-width: 100%;
		height: auto;
		border-right: none;
		border-left: none;
	  }
	
	.pcfoot{
		display: none;
	}
}

@media screen and (min-width: 1750px){
	.layout {
	  grid-template-columns:
		minmax(0, 1.2fr)
		min(500px, 100%)  
		minmax(0, 1.1fr);
	}
	
	#contents{
		font-size:16px;
	}
}

/*ハンバーガーメニュー*/

.hbbutton{
	    display: none;
		opacity: 0;
		width:72px!important;
		top:10px;
		right: 10px;
		position: fixed;
		z-index: 33!important;
		transition: opacity 0.5s ease, transform 0.3s ease;
		transform: translateY(20px);
	}
	.hbbutton.show {
	  opacity: 1;
	  transform: translateY(0);
	}


@media screen and (max-width:1100px){
	.hbbutton{
	    display: block;
		opacity: 0;
		width:72px!important;
		top:10px;
		right: 10px;
		position: fixed;
		z-index: 33!important;
		transition: opacity 0.5s ease, transform 0.3s ease;
		transform: translateY(20px);
	}
	.hbbutton.show {
	  opacity: 1;
	  transform: translateY(0);
	}
}



.menu-btn_mb:checked ~ .menu-icon .hamburger {
  background: transparent;
}
.menu-btn_mb:checked ~ .menu-icon .hamburger:after, .menu-btn_mb:checked ~ .menu-icon .hamburger:before {
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  top: 0;
}

.closebutton{
	width:59px!important;
	position: absolute;
	top:60px;
	right:5%;
}



.menu {
  list-style: none;
  position: fixed;
  width: 100%!important;
  max-width: 600px!important;
  height: auto;
  top: 0;
  right: -100%;
  clear: both;
  transition: right 0.3s ease-out; 
  z-index: 40;
  box-sizing: border-box;
  background-image: url("../img/26061602/pcr_back.webp");
	background-position: top center;
	background-size: cover;
	padding-top: 4em;
	padding-bottom: 2em;
}

.hb_menu{
	width:90%;
	margin: 0 auto;
}

@media screen and (min-width: 751px) and (max-width: 1100px){
	.menu{
		max-width: 430px!important;
	}
}

.menu-btn_mb:checked ~ .menu {
  right: 0;
}
.menu a {
  opacity: 0;
  transition: 0.5s;
}

.menu li {
  opacity: 0;
  transition: 0.5s;
}

.menu-btn_mb:checked ~ .menu a,
.menu-btn_mb:checked ~ .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}

.pcmenuwrap{
	width:310px;
	max-width:90%;
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}

.pcr_wrap{
	display: flex;
	justify-content: space-between;
	margin-bottom: 2em;
}

.pcr_menu img{
	margin-top: -1px;
}

.pcr_wrapl{
	width:88%;
}

.pcr_wrapr{
	width:10%;
}

.pcr_wrap p{
	color:#fff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 600;
	line-height: 1.3;
	font-size:90%;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.pcr_wrap p span{
	font-size:70%;
}

.pcr_gotop{
	text-align: center;
	margin: 1em auto 0;
	
}

.pcr_cstx1{
	text-align: center;
	font-size:77%;
	font-weight: 600;
	margin-bottom: 0.4em;
}

.hbmenuwrap{
	width:100%;
	margin: 2em auto;
}

.hbmenuwrap .pcr_wrap p{
	color:#000;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 600;
	line-height: 1.3;
	font-size:84%;
	text-shadow: none;
}

.hbborder{
	border-bottom: 2px solid #000;
}

.hb_gotop{
	text-align: center;
	font-size:104%;
	color:#000;
	margin-top: 0.5em;
}


/*fadein*/
.animate{
  opacity: 0;
  transform: translateY(10px);
  transition: all 1.0s;
}

.animate2{
  opacity: 0;
  transition: all 1.0s;
}
.animate:not(:nth-child(3n+1)),.animate2:not(:nth-child(3n+1)) {

}
.animate:not(:nth-child(-n+3)),.animate2:not(:nth-child(-n+3)) {
 }
.animate.show {
  opacity: 1;
  transform: translateY(0);
}
.animate2.show {
  opacity: 1;
}
.animate.show:nth-of-type(1),.animate2.show:nth-of-type(1) {
  transition-delay: 0s;
}
.animate.show:nth-of-type(2),.animate2.show:nth-of-type(2) {
  transition-delay: 0.3s;
}
.animate.show:nth-of-type(3),.animate2.show:nth-of-type(3) {
  transition-delay: 0.6s;
}
.animate.show:nth-of-type(4),.animate2.show:nth-of-type(4) {
  transition-delay: 0.9s;
}
.animate.show:nth-of-type(5),.animate2.show:nth-of-type(5) {
  transition-delay: 0.8s;
}
.animate.show:nth-of-type(6),.animate2.show:nth-of-type(6) {
  transition-delay: 0.5s;
}

/*ice*/

#ice_t, #ice_t3{
	background-image: url("../img/26061602/ice_back.webp");
	background-repeat: repeat-y;
	background-size: contain;
}

#ice_t3{
	padding-bottom: 4em;
}

.i_t_tx1{
	position: absolute;
}

.p_relative{
	position:relative;
}

.float1{
	animation: float1 5s ease-in-out infinite;
	position: relative;
	z-index: 2;
}

.float2{
	position: absolute;
	top:0;
	left:0;
	animation: float2 6s ease-in-out infinite;
	animation-delay: 1.2s;
	z-index: 2;
}

@keyframes float1{
	0%{
		transform:translateY(0) rotate(0deg);
	}
	25%{
		transform:translateY(-12px) rotate(-1deg);
	}
	50%{
		transform:translateY(-20px) rotate(1deg);
	}
	75%{
		transform:translateY(-8px) rotate(-0.5deg);
	}
	100%{
		transform:translateY(0) rotate(0deg);
	}
}

@keyframes float2{
	0%{
		transform:translateY(0) rotate(0deg);
	}
	25%{
		transform:translateY(-8px) rotate(1deg);
	}
	50%{
		transform:translateY(-16px) rotate(-1deg);
	}
	75%{
		transform:translateY(-6px) rotate(0.5deg);
	}
	100%{
		transform:translateY(0) rotate(0deg);
	}
}
.i_t2_3{
	margin-top: -1.4em;
}

#ice_t2,#ice_t4{
	background-color: #f5f3ed;
}

#ice_t3 img{
	margin-top: -1px;
}

#ice_t4{
	margin-bottom: 2em;
}

.i_t_tx1{
	text-align: center;
	font-family: "Sawarabi Gothic", sans-serif;
	font-size: 114%;
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	width:100%;
}

.i_t_tx2{
	text-align: justify;
	width:78%;
	margin: 0 auto;
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
	color:#ff7000;
	line-height: 1.9;
	font-weight: 400;
}

.i_t_tx2 p span{
	font-weight: bold;
}

.i_t_tx3{
	text-align: center;
	font-size: 127%;
	font-weight: 600;
	letter-spacing: 0.03em;
}