/* カスタマイズ用CSS */

body {
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	color: #363636;
	font-size: 14px;
	background: #fff;
}
.roboto {
	font-family: 'Roboto', sans-serif;
}
.color_red {
	color: #fe0202;
}
.pc {
	display: none;
}
.is_hide {
	display: none;
}
.bold{
	font-weight:bold;
}
.black-border-bottom{
	color:#333;
	border-bottom:2px #333 solid;
}

@media only screen and (min-width: 768px){
	.pc {
		display: block;
	}
	.ec-headerAI_ToueRole__inner .pc {
		display: inline-block;
		margin-left: auto;
	}
	.sp {
		display: none;
	}
}

/* 色 */
.red{color: #d41f4c;}
.l_orange{color: #e25c0e;}
.pink{color: #df335e;}
.purple{color: #8d2ab4;}
.gold{background: linear-gradient(0deg, #B67B03 0%, #DAAF08 35%, #ffd078 50%, #DAAF08 75%, #B67B03 90% 100%); }
.green{color: #32a920;}
.yellow{color: #ceb510;}
.blue{color: #1d4da5;}
.navy{color: #002a5f;}

/*背景色 */
.background_v_red{background-color: #f04949;}
.background_red{background-color: #c54263;}
.background_l_orange{background-color: #dd6e2e;}
.background_pink{background-color: #e07690;}
.background_v_pink{background-color: #ff3081;}
.background_purple{background-color: #925ea7;}
.background_gold{background: linear-gradient(0deg, #B67B03 0%, #DAAF08 35%, #ffd078 50%, #DAAF08 75%, #B67B03 90% 100%); }
.background_green{background-color: #78b66f;}
.background_yellow{background-color: #dac328;}
.background_d_blue{background-color: #071e6a;;}
.background_Emerald_g{background-color: #00b2bb;;}
/* header */
.ec-layoutRole {
	width: 100%;
	overflow: hidden;
}
.ec-headerNaviRole {
	justify-content: flex-start;
	align-items: flex-start;
	max-width: 1040px;
	font-size: 9px;
	line-height: 1.6;
	color: #1d1d1d;
	margin: 0 auto;
	padding: 0;
}

.ec-headerNaviRole::after {
	display: none;
}

.ec-headerTitle {
	font-size: 9px;
	font-weight: bold;
	line-height: 1.6;
	color: #202b5e;
	padding:0 5px;
	/* width: 50%; */
}
.ec-headerTitle h1 {
	text-align: left;
	margin-bottom: 5px !important;
}
.ec-headerTitle .h1_img {
	width: 310px;
	margin-right: 10px;
}

.ec-seasonImg img{
	width: 45px;
	position: absolute;
	bottom: 12%;
	right: 15%;
	z-index: 0;
}
.ec-headerTitle .heTi__flex{
	align-items: flex-end;
	display: flex;
	position: relative;
}
.ec-headerTelRole__right .ec-headerTelRole__pr{
	font-size: 10px;
	line-height: 1.4;
	color: #ff8c26;
	text-align: right;
	font-weight: bold;
	letter-spacing: -1px;
	/* margin-right: -23px; */
}


/* nav */
img.logo_wanko {
	width: 25%;
	height: auto;
	object-fit: contain;
}
.ec-headerNav .ec-headerNav__item {
	display: flex;
	justify-content: flex-end;
}
.ec-headerNaviRole .ec-headerTelRole__right{
	width: 50%;
	padding-right: 10px;
	display: flex;
	justify-content: end;
}
.ec-headerNaviRole__nav a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 60px;
	height: 50px;
	background: linear-gradient(90deg, #F2B100, #FF8C26);
	color: #fff;
	/* box-shadow: 0 0 10px rgba(0,0,0,0.2); */
}
.ec-headerNaviRole__nav a.hdr_login {
	background: linear-gradient(90deg, #759923, #89AF31);
}
.ec-headerNav .ec-headerNav__itemIcon {
	display: block;
	margin: 0 0 3px;
	font-size: 14px;
	color: #fff;
}
.ec-headerNav .ec-headerNav__itemLink {
	display: block;
	margin-right: 0;
	font-size: 10px;
	color: #fff;
	font-weight: bold;
}

.ec-layoutRole__header .sub_h1tit {
	/* display: inline; */
	/* vertical-align: middle; */
	font-size: 10px;
	/* letter-spacing: -0.5px;
	color: #1B94D3;
	border: solid 1px #1B94D3;
	border-radius: 9px; */
	/* margin-top: -3px; */
	padding: 4px 14px 0px 14px;
	margin-left: auto;
	font-weight: bold;
	border: 1px solid #2A4F9D;
	color: #2A4F9D;
	text-align: center;
	border-radius: 3px;
	letter-spacing: 0.6px;


}
.ec-headerTelRole__link a {
	/* text-align: right; */
	font-size: 19px;
	letter-spacing: 0px;
	color: #2860bd;
	font-family: 'Roboto', sans-serif;
	font-weight: bold;
	display: block;
}

.sp-header-link .ec-headerTelRole__link a {
	white-space: nowrap;
}

.ec-layoutRole__header .min_text{
	text-align: initial;
	color: #88ba29;
    /* margin-left: -5px; */
    margin-bottom: -3px;
		font-size: 9px;
		letter-spacing: 0.9px;
}

.headerAI_ToueRole_sp_title{
	/* display: inline-block; */
	margin-bottom: 0;
	font-size: 14px;
	/* font-size: 20px; */
	font-weight: bold;
	line-height: 1.5;
	color: #202b5e;
}

.ec-headerTelRole__date {
	font-size: 9px;
	line-height: 1.6;
	color: #1d1d1d;
	/* text-align: right; */
	text-align: left;
}
.header_sp_only .ec-headerTelRole__link,.header_sp_only .ec-headerTelRole_tit{
	/* display: inline-flex; */
	align-items: center;
	justify-content: space-between;
	/* width: 100%; */
	padding: 0 5px;
}
.ec-layoutRole__header .min_text,.ec-headerTelRole__pr{
	-webkit-transform: scale(0.9);
	-moz-transform:scale(0.9);
	transform: scale(0.9);
	white-space: nowrap;
}

/* AI_ToueRole */
.ec-headerAI_ToueRole {
	border-top: 2px solid #00a2ff;
	background: #fff;
	/* background: #ececec; */
	width: 100%;
	margin-top: 3px;
}
.ec-headerAI_ToueRole .ec-headerAI_ToueRole__inner {
	display: flex;
	align-items: center;
	padding: 0 10px;
	max-width: 1040px;
	height: 50px;
	box-sizing: border-box;
	margin: 0 auto;
	justify-content: space-between;
}
.ec-headerAI_ToueRole .logo_icon{
    width: 35px;
    margin-right: 5px;
}
.ec-headerAI_ToueRole__title {
	/* background: url("../img/common/logo_icon.png") 0 center no-repeat;
	background-size: 33px auto;
	padding-left: 45px; */
	font-size: 11px;
	font-weight: bold;
	color: #202b5e;
	margin-right: 10px;
	/* width: 100%; */
}

.ec-headerAI_ToueRole__text {
	font-size: 10px;
	letter-spacing: 0.05em;
	color: #1d1d1d;
	text-align:right;
}
.ec-headerAI_ToueRole__text a{
	color: #1d1d1d;
}
/* campaign */
.ec-header_campaign {
	background-color: #fffe00;
}
.ec-campaign__title{
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    padding: 5px;
	display: flex;
    align-items: center;
    justify-content: space-evenly;
	max-width: 800px;
    margin: 0 auto;
}
.ec-campaign__title.pc{
	display: none;
}
.campaign_img{
	width: min(20%, 80px);
	margin-right: 1%;
}
.ec-campaign__title span{
	font-weight: 400;
	font-size: 1.5rem;
	color: #fff;
	padding: 5px 10px;
	background: linear-gradient(348deg, #208fd2, #00b9fd);
	border-radius: 20px;
	margin-left: 1%;
}
.h1_tit.sp{
	position: static;
    z-index: 1;
}
.sp-header{
	display: flex;
}
.sp-rogo{
	width: 60%;
}

.sp-rogo .ec-headerTitle{
	display: flex;
}
.sp-header .ec-headerTelRole__right{
	width: 40%;
}
.ec-headerTelRole__pr.sp{
	margin-top: 10px;
}

.h1_tit.heTi__flex .min_text a{
	font-size: 20px;
	font-weight: bold;
	color: #1B275B;
	text-decoration: none;
}
.sp-header-link{
	display: flex;
  padding: 5px 5px 5px;
}

.ec-header-name{
	display: flex;
  align-items: center;
}




/* 以下768px以上の画面幅の時適用css */
@media only screen and (min-width: 768px){
	img.logo_wanko {
		/* padding-left: 20px; */
		width: 70px;
		height: auto;
	}

.ec-headerNaviRole.pc{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 1090px;
    font-size: 9px;
    line-height: 1.6;
    color: #1d1d1d;
    margin: 0 auto;
    padding: 0 0 14px;
}

.ec-headerAI_ToueRole .logo_icon{
    width: 40px;
    margin-right: 5px;
}
.ec-headerAI_ToueRole__title {
	/* background: url("../img/common/logo_icon.png") 0 center no-repeat;
	background-size: 33px auto;
	padding-left: 45px; */
	font-size: 15px;
	font-weight: bold;
	color: #202b5e;
	margin-right: 10px;
	/* width: 100%; */
}

.ec-headerTelRole__right .ec-headerTelRole.pc{
	padding: 0;
  font-size: 12px;
}

	.ec-headerTelRole__right .ec-headerTelRole.pc{
		margin-right: 25px;
    text-align: right;
	}
	.ec-headerTelRole__right .ec-headerTelRole__pr{
	transform: initial;
	margin-right: 0px;
	padding-top: 11px;
}

	.ec-layoutRole__header .min_text {
	margin-bottom: -25px;
	margin-top: 5px;
	font-size: 10px;
	transform: inherit;
	margin-left: 0;
	}
	.ec-layoutRole__header .sub_h1tit{
	display: block;
	text-align: center;
	}
	.ec-campaign__title.sp{
		display: none;
	}
	.ec-campaign__title.pc{
		display: block;
	}
	.h1_tit .pc{
		z-index: 1;
	}
	.ec-headerTitle .heTi__flex{
		/* justify-content: flex-end; */
	}
	.ec-headerTitle {
	    width: 80%;
	}
	.ec-seasonImg img {
	    width: 60px;
	    bottom: 20%;
	    right: 35%;
	}
	.ec-headerTelRole__link a {
		font-size: 1.5em;
		letter-spacing: 1px;
		white-space: nowrap;
	}
	.ec-headerTelRole__date {
		font-size: 12px;
		line-height: 1;
		padding-top: 10px;
		text-align: right;
	}
	.min_text.pc{
		font-size: 22px;
		letter-spacing: 1.1px;
		color: #232C5B;
		margin-bottom: 0;
	}
	.ec-headerTitle .h1_tit .sub_h1tit {
		display: block;
		font-size: 10px;
		letter-spacing: 0;
		color: ##2A4F9D;
		border: solid 1px ##2A4F9D;
		border-radius: 5px;
		margin-top: 5px;
		margin-left: 0;
		padding: 2px 5px;
		text-align: center;
	}

 .ec-headerNaviRole.pc.ec2023-header{
	 align-items: center;
 }

	.ec-headerNaviRole .ec-headerNaviRole__nav a {
			width: 90px;
			height: 90px;
		}.ec-headerTitle
	.ec-headerAI_ToueRole__inner .pc a{width: 80%;}

	.min_text.pc a {
		color: #232C5B;
	}

	.h1_tit {
		display: flex;
		align-items: center;
	}
	.ec-headerNav .ec-headerNav__itemLink {
		font-size: 14px
	}


}
/* ここまで768px以上の画面幅の時適用css */





/* 769px以上1000px以下の時のみ適用css */

@media only screen and (min-width: 768px) and (max-width:1000px) {

 .min_text {
	 margin-bottom: 0px;
 }
 .h1_tit.heTi__flex {
	 flex-direction: column;
	 align-items: flex-start;
 }
 .h1_img img{
	margin: 10px 0px;
 }
}



/* ここまで769px以上1000px以下の時のみ適用css */




/* top */
.MV_text{
    display: inline-block;
    font-size: 2rem;
    font-weight: bold;
    filter: drop-shadow(1px 2px 1px rgba(0, 0, 0, 0.4));
    text-shadow: -1px -1px 0 #fff, -1px 0 0 #fff, -1px 1px 0 #fff, 0 -1px 0 #fff, 0 1px 0 #fff, 1px -1px 0 #fff, 1px 0 0 #fff, 1px 1px 0 #fff;
    font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
	}
.main_big_btn {
	padding: 2rem;
	}
.main_big_btn a:hover p{
	transform: scale( 1.1 );
	}
  .MV_text span{
    font-size: 1.9rem;
  }
  .main_visual{
	background: url("../img/top/bg_01.png")left 0 top 0 no-repeat;
	background-size: cover;
	align-items: center;
	padding: 3rem 0;
	margin: 1rem 0;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	overflow: hidden;
	}
.main_big_btn a{
	display: block;
	background-color: #fff;
	text-align: center;
	padding: 1rem;
	border-radius: 10px;
	margin-bottom: 2rem;
	border: solid 3px;
	position: relative;
	/* -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out; */
	filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.4));
}
.main_big_btn a:after,.main_big_btn a:before{
    content: '';
    background-size: contain;
    width: 70px;
    height: 100%;
    transform: translate(0 ,-50%);
    position: absolute;
    background-repeat: no-repeat;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.main_big_btn a:hover::after,.main_big_btn a:hover::before{
	transform: scale( 1.1 ) translate(0 ,-50%);
}
.main_big_btn a:nth-of-type(3):hover::before{
	animation: yurayuraHOVER 3s linear infinite;
}
.main_big_btn a:nth-of-type(4):hover::after{
	animation: slideHOVER 3s linear infinite;
}

.main_big_btn a:nth-of-type(1){
	color: #ff4b4b;
}
.main_big_btn a:nth-of-type(2){
	color: #ff8601;
}
.main_big_btn a:nth-of-type(3){
	color: #28ba4f;
}
.main_big_btn a:nth-of-type(4){
	color: #35b0d7;
}
.main_big_btn a:nth-of-type(4) span{
    font-size: 1.2rem;
  }
.main_big_btn a:hover{
	border: solid 3px #fff;
}
.main_big_btn a:nth-of-type(1):hover{
	background-color: #ff4b4b;
	color: #750c0c;
}
.main_big_btn a:nth-of-type(2):hover{
	background-color: #ff8601;
	color: #5e3509;
}
.main_big_btn a:nth-of-type(3):hover{
	background-color: #28ba4f;
	color: #0b5c21;
}
.main_big_btn a:nth-of-type(4):hover{
	background-color: #35b0d7;
	color: #0a5d79;
}

.main_big_btn a:nth-of-type(1)::after{
    background-image: url("../img/top/tours.gif");
    top: 10%;
    left: 85%;
}
.main_big_btn a:nth-of-type(1)::before{
    background-image: url("../img/icons/AIicon_6.png");
    top: 40%;
    left: -5%;
}
.main_big_btn a:nth-of-type(2)::after{
    background-image: url("../img/icons/AIicon_11.png");
    top: 20%;
    left: 85%;
}
.main_big_btn a:nth-of-type(2)::before{
    background-image: url("../img/top/oyako_onnsen.gif");
    top: 50%;
    left: -9%;
    height: 90px;
    width: 100%;
}
.main_big_btn a:nth-of-type(3)::after{
    background-image: url("../img/icons/AIicon_14.png");
    top: 50%;
    left: -5%;
}
.main_big_btn a:nth-of-type(3)::before{
    background-image: url("../img/icons/AIicon_5.png");
    top: -5%;
    left: 85%;
    transform-origin: center bottom;
    animation: yurayura 3s linear infinite;
}
.main_big_btn a:nth-of-type(4)::after{
    background-image: url("../img/top/airplane.gif");
    left: -8%;
    top: 40%;
    width: 90px;
    animation: slide 3s linear infinite;
}
.main_big_btn a:nth-of-type(4)::before{
    background-image: url("../img/icons/AIicon_16.png");
    left: 87%;
    top: 50%;
    width: 50px;
}

@media only screen and (min-width: 768px){
.main_big_btn{
	display: flex;
	flex-wrap: wrap;
	column-gap: 20px;
	row-gap: 10px;
	max-width: 1080px;
    margin: 0 auto;
}
.main_big_btn a{
	width: calc((100% - 20px) / 2);
	padding: 2.5rem 0;
}
.main_big_btn a:nth-of-type(4) span{
	font-size: clamp(1.188rem, -4.148rem + 8.74vw, 1.75rem);
}
.MV_text span {
	font-size: clamp(1.25rem, 0.379rem + 2.68vw, 2.188rem);
}
.MV_text {
	font-size: clamp(1.5rem, 0.281rem + 3.75vw, 3.013rem);
}
.main_big_btn a:nth-of-type(1)::after{
    background-image: url("../img/top/tours.gif");
    top: 30%;
    left: 82%;
    width: 8vw;
}
.main_big_btn a:nth-of-type(1)::before{
    background-image: url("../img/icons/AIicon_6.png");
    top: 50%;
    left: -5%;
    width: 90px;
}
.main_big_btn a:nth-of-type(2)::after{
    background-image: url("../img/icons/AIicon_11.png");
    top: 35%;
    left: 81%;
    width: 90px;
}
.main_big_btn a:nth-of-type(2)::before{
    background-image: url("../img/top/oyako_onnsen.gif");
    top: 50%;
    left: 2%;
    height: 115px;
}
.main_big_btn a:nth-of-type(3)::after{
    background-image: url("../img/icons/AIicon_34.png");
    top: 44%;
    left: 78%;
    width: 102px;
}
.main_big_btn a:nth-of-type(3)::before{
    background-image: url("../img/icons/AIicon_5.png");
    top: 10%;
    left: -3%;
    width: 120px;
}
.main_big_btn a:nth-of-type(4)::after{
    background-image: url("../img/top/airplane.gif");
    left: 85%;
    top: 35%;
    width: 135px;
}
.main_big_btn a:nth-of-type(4)::before{
    background-image: url("../img/icons/AIicon_33.png");
    left: -2%;
    width: 90px;
}
.main_big_btn a:nth-of-type(2) p:before{
    background-image: url("../img/top/car.gif");
    right: -40%;
    top: 0%;
    content: '';
    background-size: contain;
    width: 110px;
    height: 110px;
    position: absolute;
    background-repeat: no-repeat;
}
.main_big_btn a:nth-of-type(1) p:before{
    background-image: url("../img/top/bus_guide2.gif");
    left: -22%;
    top: 60%;
    content: '';
    background-size: contain;
    width: 100px;
    height: 100%;
    transform: translate(0 ,-50%);
    position: absolute;
    background-repeat: no-repeat;
}

}
/* slider customize*/
.ec-sliderRole {
    padding-left: 0;
    padding-right: 0;
    font-size: 16px;
    line-height: 1.4;
    color: #525263;
    width: 100%;
    margin-bottom: 0;
    max-width: 1280px;
}

/* ec-layoutRole__mainBottom */
.ec-layoutRole__mainBottom{
	background-image: -o-linear-gradient(bottom, #aee0f9 0%, #b2e1e5 100%);
	background-image: -moz-linear-gradient(bottom, #aee0f9 0%, #b2e1e5 100%);
	background-image: -webkit-linear-gradient(bottom, #aee0f9 0%, #b2e1e5 100%);
	background-image: -ms-linear-gradient(bottom, #aee0f9 0%, #b2e1e5 100%);
	background-image: linear-gradient(to bottom, #aee0f9 0%, #b2e1e5 100%);
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	overflow: hidden;
	position: relative;
	z-index: 0;
	border-top: solid 5px #35b0d7;
	border-bottom: solid 5px #35b0d7;
}
.ec-layoutRole__mainBottom:before{
	z-index: -1;
	width: 100%;
	height: 100%;
	content: '';
	background-size: 200%;
	/* background-size: contain; */
	position: absolute;
	background-image:url(../img/top/cloud.png);
	animation: cloudmove 20s linear infinite;
	-webkit-animation: cloudmove 20s linear infinite;
	-moz-animation: cloudmove 20s linear infinite;
}
@keyframes cloudmove {
	100% {
		background-position:-200% 0;
	  }
}
@-webkit-keyframes cloudmove {
	100% {
		background-position:-200% 0;
	  }
}
@-moz-keyframes cloudmove {
	100% {
		background-position:-200% 0;
	  }
}
/* @keyframes cloudmove {
	0% {background-position: 0 0;}
	25% {background-position: 200px 5px;}
	50% {background-position: 400px 0;}
	75% {background-position: 600px 5px;}
	100% {background-position: 800px 0;}
}
@-webkit-keyframes cloudmove {
	0% {background-position: 0 0;}
	25% {background-position: 200px 5px;}
	50% {background-position: 400px 0;}
	75% {background-position: 600px 5px;}
	100% {background-position: 800px 0;}
}
@-moz-keyframes cloudmove {
	0% {background-position: 0 0;}
	25% {background-position: 200px 5px;}
	50% {background-position: 400px 0;}
	75% {background-position: 600px 5px;}
	100% {background-position: 800px 0;}
} */

.flag{
    transform-origin: center bottom;
    animation: yurayura 2s linear infinite;
}

@keyframes slide {
  0% , 100%{
      transform: translateX(30px);
  }
  50%{
     transform: translateX(0px);
  }
}
@keyframes up {
  0% , 100%{
      transform: translateY(30px);
  }
  50%{
     transform: translateY(0px);
  }
}

@keyframes yurayura {
  0% , 100%{
      transform: rotate(10deg);
  }
  50%{
      transform: rotate(-10deg);
  }
}
@keyframes slideHOVER {
  0% , 100%{
      transform: translateX(30px) scale( 1 ) translate(0% ,0%);
  }
  50%{
     transform: translateX(50px) scale( 1.1 ) translate(10% ,0%);
  }
}
@keyframes yurayuraHOVER {
  0% , 100%{
      transform: rotate(10deg) scale( 1 ) translate(0 ,0%);
  }
  50%{
      transform: rotate(-10deg) scale( 1.1 ) translate(0 ,-10%);
  }
}
@media only screen and (min-width: 768px){
	.ec-layoutRole__mainBottom:before{
		z-index: -1;
		width: 100%;
		height: 100%;
		content: '';
		background-size: 50%;
		/* background-size: contain; */
		position: absolute;
		background-image:url(../img/top/cloud.png);
		animation: cloudmove2 20s linear infinite;
		-webkit-animation: cloudmove2 20s linear infinite;
		-moz-animation: cloudmove2 20s linear infinite;
	}
}
	@keyframes cloudmove2 {
		100% {
			background-position:100% 0;
		  }
	}
	@-webkit-keyframes cloudmove2 {
		100% {
			background-position:100% 0;
		  }
	}
	@-moz-keyframes cloudmove2 {
		100% {
			background-position:100% 0;
		  }
	}
/* topicRole */
.ec-topicRole {
    padding: 40px 0;
    background: none;
}
.ec-topicRole .slick-initialized .slick-slide {
	background-color: aliceblue;
	margin: 1rem;
	border-radius: 5px;
	filter: drop-shadow(1px 1px 5px rgba(0, 0, 0, 0.3));
	height: 100%;
    min-height: 280px;
}
.ec-topicRole .slick-initialized .slick-slide p{
	color: #000;
	line-height: 1.8;
	padding: 5% 3%;
	font-size: clamp(0.875rem, 0.792rem + 0.42vw, 1.125rem);
}
/* secHeading icon  */
.train,.balloon,.car,.shinkansen{
	position:relative;
}
.train:before{
    background-image: url("../img/icons/AIicon_27.png");
    right: 0;
    top: 0%;
	z-index: -2;
    content: '';
    background-size: contain;
    width: 210px;
    height: 150px;
    position: absolute;
    background-repeat: no-repeat;
	animation: slide 5s linear infinite;
	-webkit-animation: slide 5s linear infinite;
	-moz-animation: slide 5s linear infinite;
}

.family:before{
    background-image: url("../img/top/tours2.gif");
    right: 0;
    top: -45px;
    z-index: 1;
    content: '';
    background-size: contain;
    width: 100px;
    height: 100px;
    position: absolute;
    /*
	animation: slide 5s linear infinite;
	-webkit-animation: slide 5s linear infinite; */
    background-repeat: no-repeat;
}
.balloon::after{
    background-image: url("../img/icons/AIicon_26.png");
    left: 0;
    top: 0%;
	z-index: -2;
    content: '';
    background-size: contain;
    width: 110px;
    height: 150px;
    position: absolute;
    background-repeat: no-repeat;
	animation: up 10s linear infinite;
	-webkit-animation: up 10s linear infinite;
	-moz-animation: up 10s linear infinite;
}
.shinkansen::after{
    background-image: url("../img/icons/AIicon_28.png");
    left: -20%;
    top: 0%;
	z-index: -2;
    content: '';
    background-size: contain;
    width: 250px;
    height: 150px;
    position: absolute;
    animation: slide 5s linear infinite;
	-webkit-animation: slide 5s linear infinite;
	-moz-animation: slide 5s linear infinite;
    background-repeat: no-repeat;
}
.car::before{
    background-image: url("../img/icons/AIicon_29.png");
    right: 5%;
    bottom: -85px;
    content: '';
	z-index: 1;
    background-size: contain;
    width: 110px;
    height: 150px;
    position: absolute;
    background-repeat: no-repeat;
	animation: slide 5s linear infinite;
	-webkit-animation: slide 5s linear infinite;
	-moz-animation: slide 5s linear infinite;
}
@media only screen and (min-width: 768px){
	.balloon::after{
		z-index: 1;
	}
	.air::before{
		background-image: url("../img/icons/AIicon_3.png");
		right: 0;
		top: -60%;
		z-index: -2;
		content: '';
		background-size: contain;
		width: 100px;
		height: 150px;
		position: absolute;
		background-repeat: no-repeat;
		animation: slide 5s linear infinite;
		-webkit-animation: slide 5s linear infinite;
		-moz-animation: slide 5s linear infinite;
	}
	.family:before {
		width: 120px;
		height: 120px;}
}
/* newsRole__news */
.ec-newsRole {
    padding: 40px 0 0;
    text-align: center;
    position: relative;
}
.ec-newsRole .ec-newsRole__news {
    border: 3px solid #43B0EA;
    padding: 20px 30px 20px;
    background: azure;
}
.ec-newsRole .ec-secHeading{
	background: #43B0EA;
	color: #fff;
	display: inline-block;
	border-radius: 50px;
	position: absolute;
	left: 50%;
	top: 20px;
	width: 70%;
	transform: translate(-50%, 0);
}
.ec-newsRole .ec-newsRole__newsTitle {
    display: inline-block;
    margin-bottom: 0;
    width: 100%;
    font-weight: bold;
    color: #7D7D7D;
    line-height: 1.6;
    text-align: left;
	padding-bottom: 15px;
}
.ec-newsRole .ec-secHeading .ec-secHeading__line{
	background: #fff;
}
.ec-newsRole .ec-newsRole__newsDate{text-align: right;}
.ec-newsRole .ec-secHeading .ec-secHeading__en:first-letter{
	font-size: 30px;
}
.ec-newsRole .ec-secHeading .ec-secHeading__en{
	display: inline-block;
}
.ec-newsRole .ec-newsRole__newsCloseBtn{
	background: #43B0EA;
	width: 30px;
    height: 30px;
}
.ec-newsRole .ec-newsRole__newsCloseBtn i{
    font-size: 20px;
    line-height: 1.5;
}
.ec-newsRole .ec-newsRole__newsItem:last-of-type{
	margin-bottom: 0;
}
@media only screen and (min-width: 768px){
	.ec-newsRole .ec-secHeading{
		position: absolute;
		left: 15%;
		padding: 0 20px;
		width: inherit;
	}
	.ec-newsRole .ec-newsRole__newsDate, .ec-newsRole .ec-newsRole__newsColumn{text-align: left;}
	.ec-newsRole .ec-newsRole__newsHeading{align-items: baseline;}
	.ec-newsRole .ec-newsRole__newsTitle{
		padding-bottom: 0;
	}
}



.ec-reservationRole ,.elected_area{
	padding: 10px 20px;
}

.ec-offerToCustomer {
	padding: 0px 20px;
}

.ec-detailRole__main .ec-offerToCustomer{
	padding: 5px 0px 0px 0px;
}

.js-fixed-sidebar .ec-offerToCustomer{
	padding: 0px;
}

.ec-reservationRole__inner  {
	padding: 30px 30px 25px;
	background: #eaf0ff;
	font-size: 13px;
	line-height: 1.77;
	letter-spacing: 0.05em;
}

.ec-reservationRole__title {
	font-size: 21px;
	color: #1b275b;
	font-weight: bold;
	line-height: 1.38;
	text-align: center;
	margin: 0 0 15px;
	padding: 0;
}

.ec-reservationRole__title img {
	display: block;
	width: 70%;
	height: auto;
	margin: 0 auto 10px;
}


.ec-reservationRole__box {
	font-size: 12px;
	color: #2860bd;
	font-weight: bold;
	line-height: 1.41;
	margin: 0 0 20px;
}

.ec-reservationRole__subTitle {
	font-size: 17px;
	font-weight: bold;
	line-height: 1.38;
	margin: 0 0 5px;
	padding: 0;
}
.ec-reservationRole__tel {
	margin-bottom: 15px;
}
.ec-reservationRole__tel a {
	border: 1px solid #4e7ecb;
	border-radius: 3px;
	background: url("../img/common/icon_tel.png") 18px center no-repeat #fff;
	background-size: auto 22px;
	display: flex;
	align-items: center;
	padding: 0 0 0 65px;
	height: 60px;
	box-sizing: border-box;
	font-size: clamp(1rem, -0.263rem + 6.32vw, 2.5rem);
	color: #2860bd;
	font-weight: bold;
	font-family: 'Roboto', sans-serif;
}

.ec-reservationRole__note {
	font-size: 13px;
	letter-spacing: 0.05em;
	line-height: 1.76;
	color: #363636;
	margin: 0 -6px;
}

.ec-offerToCustomer__inner  {
	padding: 5px 5px 10px;
	/*background: #fdf4e3;*/
	/* background: #fbe5d6; */
	font-size: 13px;
	line-height: 1.77;
	letter-spacing: 0.05em;
}

.ec-offerToCustomer__title {
	font-size: 21px;
	color: #1b275b;
	font-weight: bold;
	line-height: 1.38;
	text-align: center;
	margin: 0 0 10px;
	padding: 10px 0 0 0;
	border-bottom: 2px solid #1b275b;
}

.ec-offerToCustomer__item ul{
	margin: 0 0 10px;
	padding-left: 25px;
}

.ec-offerToCustomer__item ul li{
	font-size: 14px;
	color: #363636;
	font-weight:normal;
	line-height: 1.7;

}

.ec-offerToCustomer__item ul li strong,
.ec-offerToCustomer__item ul li a{
	font-size: 17px;
	font-weight:bold;
}



@media only screen and (min-width: 768px){
	.ec-reservationRole ,.elected_area{
		width: 100%;
		box-sizing: border-box;
		max-width: 1130px;
		margin: 0 auto;
		padding: 20px;
	}

.ec-offerToCustomer  {
		width: 100%;
		box-sizing: border-box;
		max-width: 1040px;
		margin: 0 auto;
		padding: 5px 20px;
	}
	.js-fixed-sidebar .ec-offerToCustomer{
		padding: 0px;
	}
	.ec-reservationRole__title img {
		width: 109px;
	}
	.ec-reservationRole__inner  {
		padding: 40px 40px 22px;
		font-size: 14px;
		line-height: 1.71;
	}
	.ec-reservationRole__title {
		font-size: 22px;
		margin: 0 0 26px;
		display: flex;
		align-items: center;
		padding-bottom: 10px;
		border-bottom: 2px solid #1b275b;
		text-align: left;
	}
	.ec-reservationRole__title img {
		width: 150px;
		margin: 0 16px 0 0;
	}
	.ec-reservationRole__item {
		display: flex;
		align-items: center;
		margin: 0 0 32px;
	}
	.ec-reservationRole__box {
		font-size: 12px;
		line-height: 1.5;
		margin: 0;
		width: 260px;
	}
	.ec-reservationRole__subTitle {
		font-size: 18px;
	}
	.ec-reservationRole__box p {
		font-weight: normal;
	}
	.ec-reservationRole__tel {
		margin-bottom: 0;
		width: calc(100% - 296px);
	}
	.ec-reservationRole__tel a {
		border: 2px solid #4e7ecb;
		border-radius: 6px;
		background: url("../img/common/icon_tel.png") 52px center no-repeat #fff;
		background-size: auto 40px;
		padding: 0 0 0 165px;
		height: 94px;
		font-size: 50px;
		pointer-events: none;
	}
	.ec-reservationRole__note {
		font-size: 14px;
		line-height: 1.76;
		margin: 0;
	}

	.ec-offerToCustomer__inner  {
		padding: 20px 20px 11px;
		font-size: 14px;
		line-height: 1.71;
	}
	.ec-offerToCustomer__title {
		font-size: 22px;
		margin: 0 0 7px;
		display: flex;
		align-items: center;
	    padding: 0 0 10px 0;
		border-bottom: 2px solid #1b275b;
	}
    .js-fixed-sidebar .ec-offerToCustomer__title {
    	text-align: center;
    }

	.ec-offerToCustomer__item ul{
		font-size: 14px;
		line-height: 1.5;
		margin: 0 0 5px;
	}
}



/******************/
/****  3point  ****/
/******************/
.elected_point {
  background: #f9fff3;
  border: 2px solid #88ba29;
}

.elected_point p, .elected_point h4 {
  text-align: center;
}

.elected_point p {
  letter-spacing: 1.5px;
  line-height: 1.35;
  font-weight: bold;
  color: #e59415;
  font-size: 1.5rem;
  font-weight: bold;
}

.elected_area ol li {
  position: relative;
  display: block;
  padding:15px 20px 15px 10px;
}

.elected_point li:after {
  font-weight: bold;
  counter-increment: li;
  content: counter(li) ".";
  position: absolute;
  display: block;
  font-style: italic;
  left: -22px;
  top: 10px;
  font-size: 27px;
  color: #88ba29;
  font-family: 'Roboto', sans-serif;
}

.fuchidori {
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0-1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.elected_point_top i {
  display: block;
  margin: 0 0 10px;
  font-size: 25px;
  color: #fff;
  text-align: center;
}

.elected_point_top {
  background-color: #88ba29;
  padding: 35px 10px 10px;
}
.elected_point span {
  color: #fff356;
  font-size: 44px;
  vertical-align: middle;
  font-family: 'Roboto', sans-serif;
}

.elected_point h4 {
  font-weight: bold;
  color: #ffffff;
}

.elected_area ol {
  counter-reset: li;
  margin: 20px 0px;
}

.br_sp {
  display: block;
}

.br_pc{
	display:none;
}

@media only screen and (min-width: 768px) {
  .br_sp {
    display: none;
  }
  .br_pc{
	display:inline;
  }
  .elected_point {
    background: #fffaf3;
    border: 2px solid #e59415;
  }
  .elected_point_top {
    background-color: #e59415;
    padding: 40px 40px 20px;
  }
  .elected_point span {
    font-size: 50px;
    margin-bottom: 5px;
    display: inline-block;
  }
  .elected_point p {
    font-size: 24px;
    color: #e0821f;
  }
  .elected_point h4 {
    font-size: 30px;
    margin-top: 0;
  }
   .elected_area ol {
    margin: 30px 40px 22px;
  }
  .elected_point li:after {
    left: -35px;
    top: 5px;
    font-size: 40px;
  }
}
/*　footer settlement_logo ローソンのみ目視で大きく見えたのでsettlement_logo_minでheight修正しています　*/
.settlement_logo img{
	height: 35px;
	margin: .5rem;
}
img.settlement_logo_min{
	height: 25px;
}
.settlement_logo{
	padding: 1rem 0;
}
@media only screen and (max-width: 648px){
	.settlement_logo img{
		height: 25px;
		margin: .5rem;
	}
	img.settlement_logo_min{
		height: 15px;
	}
}

/* ThemesList */
.ec-ThemesList {
	padding: 0 20px 2px;
}

.ec-ThemesList__title {
	display: inline-block;
	padding: 8px;
	border-style: solid;
	font-size: 16px;
	margin-top: 10px;
}
.ec-ThemesList__title::before {
	content: '\025a0';
	margin-right: 4px;
}

.ec-ThemesList__subtitle {
	display:  inline-block;
	padding: 8px;
	border-bottom: solid;
	font-size: 16px;
	margin-top: 0px;
    margin-bottom: 5px;
}

.ec-ThemesList__ul {
	padding: 0;
}

.ec-ThemesList__li {
	display: inline-block;
	font-size: 16px;
	margin: 8px 2px;
}
.ec-ThemesList__li:not(:last-child)::after {
	content: '|';
	margin-left: 8px;
}

.ec-ThemesList__subtitle a,
.ec-ThemesList__li a {
	text-decoration: none;
	color: inherit;
}
.ec-ThemesList__subtitle a:hover,
.ec-ThemesList__li a:hover {
	opacity: 0.7;
}

@media only screen and (min-width: 768px) {
	.ec-ThemesList__title {
		margin-top: 20px;
	}
	.ec-ThemesList__subtitle {
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.ec-ThemesList  {
		width: 100%;
		box-sizing: border-box;
		max-width: 1130px;
		margin: 0 auto;
		padding: 24px 20px 90px;
	}

	.ec-PrefectureList__ul {
		padding: 0 24px;
	}
}

/*  footerRole　　　*/
.ec-footerRole {
    background: url("../img/top/AI_footer_img.jpg")left 0 top 0 no-repeat;
    background-size: cover;
    align-items: center;
    margin: 1rem 0;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow: hidden;
}
.ec-footerTitle {
    padding: 40px 0 20px;
}
.ec-footerTitle .ec-footerTitle__logo a img {
	width: min(80%, 380px);
	height: auto;
}
.ec-footerNavi .ec-footerNavi__link {
    display: inline-block;
}
.ec-footer_company a{
    color: #fff;
}
.ec-footerNavi .ec-footerNavi__link a,  .ec-footerNavi2 li a {
    border-bottom: 0;
    color: #fff;
    padding: 0;
    margin: 0 13px;
    font-size: 13px;
    line-height: 1.92;
    letter-spacing: 0.025em;
    font-weight: bold;
}
.ec-footerTitle__copyright {
    background: #fff;
    font-size: 11px;
    color: #2f2f2f;
    letter-spacing: 0.025em;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
}
.ec-footer_company{
    color: #fff;
    margin: 0 10px 20px;
    text-align: center;
}
.ec-footer_company .ec-footerNavi_tit{
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 10px;
}
.ec-footer_company p span{
    font-size: 13px;
    display:block;
    line-height: 1.8;
}
ul.ec-footerNavi2 {
    margin: 10px auto;
    text-align: center;
    padding: 0;
}
.ec-footerNavi_btn .ec-footerNavi__link {
    display: inline-flex;
    width: 45%;
    justify-content: center;
}
.ec-footerNavi_btn .ec-footerNavi__link a{
    padding:10px;
    border:solid 1px #fff;
    color: #fff;
    width: 80%;
	background-color: #002c52a6;
}
.ec-footerNavi_btn.tel a{
	padding-right: 15px;
    line-height: 1.8;
    border: 3px solid #fff;
    font-size: 29px;
    color: #fff;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
    width: 85%;
    display: inline-block;
}
.ec-footerNavi_btn.tel a:hover,.ec-footerNavi_btn .ec-footerNavi__link a:hover{
	background-color: #041321db;
	border-radius: 50px;
	transition: .5s;
}
.ec-footerNavi_btn.tel img{
	width: 40px;
    height: auto;
    margin-right: 5px;
    margin-bottom: 5px;
}
.ec-footer_company .ec-footerNavi_btn2 a{
    color: initial;
    margin: 1rem auto 3rem;
    padding: 5px;
    background-color:#fff;
    border-radius:20px;
    display: block;
    width: 50%;
    transition: .5s;
    border:solid 1px #fff;
}
.ec-footer_company .ec-footerNavi_btn2 a:hover{
  border:solid 1px #fff;
  box-shadow: 0 3px 7px 0 rgba(0,0,0,0.2);
  transform: translateY(-5px);
}
.ec-footerNavi_btn{
    padding:0px;
    text-align: center;
    margin: 4rem auto;
}
.ec-footerTitle .ec-footerTitle__logo a img.wanko_footer{
  width: 60px;height: auto;
}
.ec-footerRole__inner a:hover{
    text-decoration:none;
}
@media only screen and (min-width: 768px){
	.ec-footerNavi_btn.tel img{
		width: 45px;
		margin-right: 10px;
	}
    .ec-footerTitle .ec-footerTitle__logo a img.wanko_footer{
		width: 82px;
	}
    .ec-footerNavi_btn.tel a{
        font-size: 40px;
        width: 49%;
    }
    .ec-footerNavi .ec-footerNavi__link a:hover,
    .ec-footerNavi2 li a:hover,
    .ec-footer_company p a:hover{
	color:#445d16;
	transition: .5s;
    }
    /* .ec-footerRole {
        padding-top: 0;
        margin-top: 0;
    } */
    .ec-footerRole__inner {
        padding-bottom: 60px;
    }
	.ec-footerRole .ec-footerRole__inner {
	    max-width: 1280px;
	}
    .ec-footerNavi .ec-footerNavi__link a {
        text-decoration: none;
    }

    .ec-footer_company{
        color: #fff;
        line-height: 1.8;
        margin: 0 10px 20px;
    }

    .ec-footer_company span{
        color: #fff;
        line-height: 1.8;
        font-size: 18px;
    }
    ul.ec-footerNavi2 {
	display: flex;
	margin: 2rem auto 0;
	}
    .ec-footerNavi2  li {
	list-style-type: none;
	flex-grow: 1;
	text-align: center;
	border-top: none
    }
    .ec-footerNavi2  li a{
        margin: 0 1px;
	}
    .ec-footerNavi2 li + li {
	border-left: 1px solid #fff;
    }
}
.ec-footerNavi2__link{
border-top: solid 1px #fff;
line-height: 5rem;
}

	/* scss_none */
.ec-footerTitle .ec-footerTitle__logo:hover a {
opacity: 1;
text-decoration: none;
}
.ec-footerRole a:hover img {
opacity: inherit;
}
/* //end*/
/*  end*/

/*　 Terminal_link　 */
.ec-BusToue_Terminal_text{
	text-align: center;
	text-decoration: none;
	color: #1d1d1d;
	font-weight: bold;
	font-size: 16px;
	display: block;
	margin-bottom: 3rem;
}
.ec-BusToue_Terminal_text:hover{
	color: #88ba29;
	text-decoration: none;
}
@media only screen and (min-width: 768px){
	.ec-BusToue_Terminal_text a {
		margin-bottom: 50px;
		font-size: 18px;
	}
}

/* topicRole__listItem  */
.fuchidori.ec-secHeading span{
	font-size: clamp(2.3rem, 0.281rem + 3.75vw, 3.513rem);
    font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
    font-weight: bold;
    text-align: center;
    display: block;
}
@media only screen and (min-width: 768px){
.ec-topicRole .ec-topicRole__listItem:not(:last-of-type){
	margin-right: 0;
}
.ec-topicRole .ec-topicRole__list {
    flex-wrap: wrap;
    row-gap: 30px;
    column-gap: 30px;
}
.ec-topicRole .ec-topicRole__listItem {
    width: calc((100% - 30px) / 2);
}
}

/* top_movie */
.top_movie_header{
	display: flex;
	justify-content: left;
	flex-wrap: wrap;
	align-items: center;
}
.top_movie_header h2{
	font-size: 14px;
	color: #333;
}
.top_movie iframe{width: 100%;height: 200px;}
.another_movie{
	text-align: right;
	margin: auto 0 auto auto;
}
.top_movie{
	text-align: center;
}
.another_movie {
    max-width: 380px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.another_movie .btn:before, .another_movie .btn:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}
.another_movie .btn:before {
    width: 7px;
    height: 7px;
    left: .5rem;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    z-index: 2;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.3s;
}
.another_movie .btn:after {
    left: 0;
    background: #383838;
    z-index: 1;
    width: 2rem;
    height: 100%;
    transform: translateY(-50%);
    transition: all 0.5s;
    border-radius: 3px;
}
.another_movie .btn span {
  z-index: 3;
}
.another_movie .btn:hover span {
  position: relative;
  color: #fff;
}
.another_movie .btn:hover:after {
  right: 0;
  width: 100%;
  border-radius: 3px;
}
.another_movie img {
    width: 100px;
    display: block;
}
#anchor03 .another_movie a.btn{
  font-size: 1.4rem;
  position: relative;
  display: inline-block;
  padding: .5rem 1rem .5rem 3rem;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-decoration: none;
  color: #fff;
    border-radius: 4px;
    background: #f50a05;
}
.top_movie_header img{
	width: 60%;
}
@media only screen and (min-width: 768px){
#anchor03 .another_movie a.btn{
  padding: 1rem 2rem 1rem 4.5rem;
}
.another_movie .btn:after {
    width: 4rem;
}
.another_movie .btn:before {
    left: 1.5rem;
}
.top_movie_header img{
	width: 25%;
}
.another_movie {
max-width: 480px;
}
.top_movie iframe{
width: 49.5%;
height: 280px;
}
.top_movie{
display: flex;
justify-content: space-around;
}
}
/* ec-layoutRole__contentBottom */
.ec-layoutRole__contentBottom{
	background: -moz-linear-gradient(bottom, #fff0bd 50%, #FFF 80%);
	background: -webkit-linear-gradient(bottom, #fff0bd 50%, #FFF 80%);
	background: linear-gradient(to bottom, #fff0bd 50%, #FFF 80%);
  /* 	background: linear-gradient(#fff6b5 60%, transparent 80%); */
	  width: 100vw;
	  margin: 0 calc(50% - 50vw);
	  overflow: hidden;
	  position: relative;
	  z-index: 0;
	  padding: 3vw 0;
  }
  .ec-layoutRole__contentBottom:before{
	  z-index: -1;
	  width: 110%;
	  height: 100%;
	  content: '';
	  top:20%;
	  background-repeat: no-repeat;
	  background-size: cover;
	  position: absolute;
	  background-image:url(../img/common/cloud_above2.png);
	  animation: fuwafuwa 10s linear infinite;
	  -webkit-animation: fuwafuwa 10s linear infinite;
	  -moz-animation: fuwafuwa 10s linear infinite;
  }
  .ec-layoutRole__contentBottom:after{
	  z-index: -1;
	  width: 110%;
	  height: 100%;
	  content: '';
	  top: -10%;
	  background-repeat: no-repeat;
	  background-size: cover;
	  position: absolute;
	  opacity:.5;
	  top:20%;
	  background-image:url(../img/common/cloud_above.png);
	  animation: fuwafuwa 20s linear infinite;
	  -webkit-animation: fuwafuwa 20s linear infinite;
	  -moz-animation: fuwafuwa 20s linear infinite;
  }
  @keyframes fuwafuwa {
	0% {
	  transform:translate(0, 0) rotate(0deg);
	}
	20% {
	  transform:translate(0, -7px) rotate(-7deg);
	}
	50% {
	  transform:translate(0, -7px) rotate(0deg);
	}
	70% {
	  transform:translate(0, 0) rotate(7deg);
	}
	100% {
	  transform:translate(0, 0) rotate(0deg);
	}
  }
  @media only screen and (min-width: 768px){
	  .ec-layoutRole__contentBottom:before,.ec-layoutRole__contentBottom:after{
		  background-size: contain;
		  background-repeat: repeat;
	  }
  }

  /* slick-slider */
  .slick-slider {
	margin-bottom: 30px;
}

.slick-dots {
	position: absolute;
	bottom: -45px;
	display: block;
	width: 100%;
	padding: 0;
	list-style: none;
	text-align: center;
}

.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;

	cursor: pointer;
}

.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
	opacity: 1;
}

.slick-dots li button:before {
	content: " ";
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
	text-align: center;
	opacity: .25;
	background-color: black;
	border-radius: 50%;

}

.slick-dots li.slick-active button:before {
	opacity: .75;
	background-color: black;
}

.slick-dots li button.thumbnail img {
	width: 0;
	height: 0;
}


/* 20230525 有料会員ページ追加css */

.paid-customer-plan{
  margin: 0px 4px 15px 4px;
}

.paid-customer-plan:first-child {
	margin-top: 24px;
}

.paid-customer-plan:last-child {
	margin-bottom: 25px;
}

.paid-customer-plan .box {
	text-align: center;
	border: 2px solid #5FB702;
	border-radius: 5px;
}


.paid-customer-plan .box .box-title {
	font-size: 18px;
	background: #E7F7EB;
	border-radius: 5px 5px 0 0;
	padding: 10px 45px;
	text-align: center;
	color: #5FB700;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.paid-customer-plan .box p {
	margin: 0;
}

.paid-customer-plan .box-inside .price{
	font-weight: bold;
  color: #5FB700;
  font-size: 50px;
	display: inline-block;
}

.paid-customer-plan .box-inside .price span{
	font-size: 35px;
	padding-right: 5px;
}

.paid-customer-plan .box-inside .tax{
  color: #000;
  margin-bottom: 15px;
	display: inline-block;
	font-size: 13px;
}

.paid-customer-plan .box-inside{
  margin: 0px 25px 10px 25px;
}


/* ボタン用CSS */

.paid-customer-plan button {
	display: inline-block;
	padding: 10px 46px;
	cursor: pointer;
	-moz-user-select: none;
	-ms-user-select: none;
	-webkit-transition: all 0.3s;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	border-radius: 0.5rem;
	border: transparent;
}

.paid-customer-plan .btn--orange {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background: transparent linear-gradient(101deg, #EFAD00 0%, #F98E15 100%) 0% 0% no-repeat padding-box;
  display: block;
  margin: 0 auto;
	line-height: 22.5px;
	height: 45px;
}
/* ボタン用CSS */



/* 2個目以降の記述 */
.paid-customer-plan:nth-of-type(2) .box:nth-of-type(1){
  border: 2px solid #61B4D3;
}
.paid-customer-plan:nth-of-type(2) .box-title:nth-of-type(1){
  background: #E7F7F8;
  color: #61B4D3;
}
.paid-customer-plan:nth-of-type(2) .price:nth-of-type(1){
  color: #61B4D3;
}

/* 3個目以降の記述 */
.paid-customer-plan:nth-of-type(3) .box:nth-of-type(1){
  border: 2px solid #F79212;
}
.paid-customer-plan:nth-of-type(3) .box-title:nth-of-type(1){
  background: #FFF8F2;
  color: #F79212;
}
.paid-customer-plan:nth-of-type(3) .price:nth-of-type(1){
  color: #F79212;
}


/* 以下768px以上の画面幅の時適用css */
@media only screen and (min-width: 768px){

	.paid-customer-plans {
		display: flex;
		justify-content: space-between;
		margin-top: 24px;
		margin-bottom: 40px;
	}

	.paid-customer-plan {
		margin-right: 20px;
		width: calc((100% - 40px) / 3);
	}
	.paid-customer-plan:first-child {
		margin-top: 0;
	}

	.paid-customer-plan:last-child {
		margin-right: 0;
		margin-bottom: 0;
	}

	.paid-customer-plan .box-inside .price{
		display: block;
	}

	.paid-customer-plan .box-inside .tax{
		display: block;
	}

	.paid-customer-plan button {
		padding: 10px;
	}

	.paid-customer-plan .btn--orange {
		font-size: 16px;
	}

}

@media only screen and (min-width: 1086px) {

	.paid-customer-plan {
		margin-right: 45px;
		width: calc((100% - 90px) / 3);
	}

	.paid-customer-plan button {
		padding: 10px 46px;
	}

	.paid-customer-plan .btn--orange {
		font-size: 18px;
	}
}



/* パスワード再設定のお願い */
.change_pass {
    width: auto;
    background-color: #fff;
    border: 4px solid #A00810;
    padding: 20px 10px;
    color: #000;
    margin: 0 0 20px 0;
}

.change_pass .ttl {
    font-size: 18px;
    font-weight: 700;
    color: #A00810;
    text-align: center;margin-bottom: 10px;
}

.change_pass .txt {
    font-size: 14px;
}

.change_pass .btn {
    text-align: center;
    width: 100%;
}

.change_pass .btn a {
    width: 220px;
    height: 50px;
    line-height: 50px;
    background-color: #A00810;
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    display: inline-block;
}

@media only screen and (min-width: 768px) {
    .change_pass {
        padding: 20px;
        margin: 0 32px 20px 32px;
    }

    .change_pass .txt {
        font-size: 16px;
        margin-bottom: 20px;
    }
}