@charset "utf-8";
/* CSS Document */

/* //////////// 全体CSS //////////// */
*{
	margin: 0;
	padding: 0;	
	box-sizing: border-box;
}

body{
  font-family:'Noto Sans JP', sans-serif;
	font-weight: 500;
	color:#0068B7;
	font-size:1rem;
	line-height:1.8;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
	position:relative;	
}

.inner{
	max-width: 1200px;
	margin:0 auto;
	position: relative;
}
.inner02{
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
}
.inner03{
	max-width: 960px;
	margin:0 auto;
	position: relative;
}

.inner:after,
.inner02:after,
.inner03:after{
	content:"";
	clear:both;
	display:block;
}
@media screen and (max-width:768px) {
.inner,
.inner02{
	padding: 0 3%;
}
}
@media screen and (max-width:1080px) {
.inner03{
	padding: 0 3%;
}
}

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

li{
	list-style:none;
}

a{
	text-decoration: none;
  	outline: none;
  	-webkit-transition: all 0.3s ease-in-out;
  	-moz-transition: all 0.3s ease-in-out;
  	-o-transition: all 0.3s ease-in-out;
  	transition: all  0.3s ease-in-out;
}

a:hover,
a:active{
	text-decoration: none;
}

.pc_only {
  	display: block;
}

.sp_only {
  	display: none;
}

@media screen and (max-width: 768px){
.pc_only {
  	display: none;
}

.sp_only {
  	display: block;
}
}



/*============================*/
.marginT100{
	margin-top: 100px;
}
.marginT200{
	margin-top: 200px;
}
.marginB80{
	margin-bottom: 80px;
}
.marginB100{
	margin-bottom: 100px;
}
.marginB120{
	margin-bottom: 120px;
}
.marginT50B50{
	margin-top: 50px;
	margin-bottom: 50px;
}
.marginT100B100{
	margin-top: 100px;
	margin-bottom: 100px;
}
.marginT50B100{
	margin-top: 50px;
	margin-bottom: 100px;
}


.paddingT50{
	padding-top: 50px;
}
.paddingT30{
	padding-top: 30px;
}
.paddingL50{
	padding-left: 50px;
}
.paddingL80{
	padding-left: 80px;
}
.paddingR50{
	padding-right: 50px;
}
.paddingR80{
	padding-right: 80px;
}
.paddingB50{
	padding-bottom: 50px;
}
.paddingB30{
	padding-bottom: 30px;
}
.paddingB100{
	padding-bottom: 100px;
}
.paddingLR5{
	padding-left: 5%;
  	padding-right: 5%;
}
.padding1p{
	padding:0 1%;
}
.padding2pB50{
	padding:0 2% 50px;
}
.paddingT50B50{
	padding-top: 50px;
	padding-bottom: 50px;
}



/*============================*/
#wrap{
    /*overflow-x:hidden;*/
	overflow:hidden;
    /*以下、IE11用*/
    z-index: 0;
    position: relative;
}

/* header */
header{
	position: fixed;/*fixedを設定して固定*/
	height: 90px;/*高さ指定*/
	width:100%;/*横幅指定*/
  	z-index: 99;/*最前面へ*/
	/*以下はレイアウトのためのCSS*/
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
 	background: none;
  	top:0;
	left:0;
}

.header_inner{
	display: fixed;
	margin: 0px auto;
	max-width: 1200px;
	width:98%;
	height:70px;
	background:rgba(253,253,253,0.6);
	-webkit-border-radius: 20px; /* Safari */
	-moz-border-radius: 20px; /* 古い Firefox */
	border-radius: 20px;
	box-shadow: 2px 3px 2px 1px rgba(0, 0, 0, .06);
	z-index: 99;
	position: relative;
}
@media screen and (max-width: 598px){
.header_inner{
	width: 97%;
	height:60px;
	-webkit-border-radius: 40px; /* Safari */
	-moz-border-radius: 40px; /* 古い Firefox */
	border-radius: 40px;
}
}

.header_inner:after{
	content:"";
	clear:both;
	display:block;
}

/*========= 上部固定させるためのCSS ===============*/
/* ロゴ */
h1{
	float:left;
	max-width:180px;
    height:auto;
    margin:0.6% 1% ;
}

h1:after{
	content:"";
	clear:both;
	display:block;
}
/*.l-header_logo{
	width:100%;
	padding-right:5px;
}*/
.l-header_logo_en{
	width:100%;
	margin-top: 0px;
	padding-right:5px;
}
h1 img{
	width:100%;
	display: block;
}

@media screen and (max-width: 1280px){
h1{	
  max-width:170px;
  margin: 0.8% 1%;
}
.l-header_logo_en{
	margin-top: 5px;
}  
}

@media screen and (max-width: 700px){
h1{
  width:215px;
  margin: 1.5% 0 1% 1%;
}
}
@media screen and (max-width: 598px){
h1{
  width:170px;
  margin: 1% 0 1% 1%;
}
.l-header_logo_en{
	margin-top: 0px;
} 
}



/*ここから本文*/
#l-wrapper{
	position:relative;
	width: 100%;
	height: auto;
	top:0px;
	left:0;
	margin:0 auto ;
}
#l-wrapper:after{
	content:"";
	clear:both;
	display:block;
}

.main_mv{
	margin: 0 auto;
	height: 90vh;
  	padding:0 ;
}

@media screen and (max-width: 1200px){
 .main_mv{
  height: 560px;
} 
}
@media screen and (max-width: 768px){
 .main_mv{
  max-height: 1230px;
  height: 100%;
} 
}
@media screen and (max-width: 667px){
 .main_mv{
  max-height: 1100px;
  height: 100%;
} 
}
@media screen and (max-width: 598px){
 .main_mv{
  max-height: 960px;
  height: 100%;
} 
}
@media screen and (max-width: 468px){
 .main_mv{
  max-height: 780px;
  height: 100%;
} 
}
@media screen and (max-width: 414px){
 .main_mv{
  max-height: 720px;
  height: 100%;
} 
}

/*=======================================================*/
/* slider */
#slider-area{
    position: relative;
	height: 100vh;
}

.slider_top {
   position:relative;
	z-index: -1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 98vh;/*スライダー全体の縦幅を90vhにする*/
}

/*　背景画像設定　*/
.slider-item01 {
    background:url("../img/expo_part01_01.png");
}

.slider-item02 {
    background:url("../img/expo_part01_02.png");
}

.slider-item03 {
    background:url("../img/expo_part01_03.png");
}

.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:98vh;/*各スライダー全体の縦幅を（90vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: right top;/*背景画像の位置を中央に*/
    background-size: 55%;/*背景画像が.slider-item全体を覆い表示*/
}
@media screen and (max-width: 1200px){
.slider_top {
	height: 100vh;
}
.slider-item {
  	height:100vh;
  	background-size: 66%;
} 
}

@media screen and (max-width: 768px){
#slider-area{
	height: 770px;
}

.slider-item01 {
   background:url("../img/expo_part01_img01-01_sp.png");
}
.slider-item02 {    background:url("../img/expo_part01_img01-02_sp.png");
}
.slider-item03 {
   background:url("../img/expo_part01_img01-03_sp.png");
}	
 .slider-item {
   background-position: left top;
   background-repeat: no-repeat;
   background-size: 100%;
   height: 1106vh;
} 
}
@media screen and (max-width: 667px){
#slider-area{
	height: 690px;
}

.slider-item {
    height: 660px;
	background-size: 100%;
} 	
}
@media screen and (max-width: 598px){
#slider-area{
	height: 600px;
}

.slider-item {
　　height: 605px;
} 	
}
@media screen and (max-width: 468px){
#slider-area{
	height: 470px;
}

.slider-item {
   height:465px;
} 	
}



/*==================================================*/
.head_titleL {
	position:absolute;
	width: 40%;
	height: auto;
	top:16%;
	left: 8%;
	z-index: 1;
}
.head_titleL img{
  width: 100%;
  display: block;
}
@media screen and (max-width: 1200px){
.head_titleL {
 	width: 42%;
	height: auto;
	top:15%;
	left: 4%;
}
}
@media screen and (max-width: 820px){
.head_titleL {
	width: 48%;
	height: auto;
 	top:20%;
	left: 10px;
}	
}  
@media screen and (max-width: 768px){
.head_titleL {
  position: static;
  width:90%;
  margin: 0px auto 5px;
}
}
@media screen and (max-width: 667px){
.head_titleL {
	width:94%;
 	margin: 0px auto 10px;	
}
}
@media screen and (max-width: 598px){
.head_titleL {
	width:98%;
 	margin: -20px auto 10px;	
}
}

@media screen and (max-width: 468px){
.head_titleL {
	margin: -15px auto 10px;
}	
}
@media screen and (max-width: 414px){
.head_titleL {
	margin: -50px auto 10px;	
}	
}

.counter{
	padding-top: 35px;
	text-align: center;
	background:url("../img/expo_part01_line.png");
	background-repeat: no-repeat;
	background-size:166px;
	background-position: center;
	padding-bottom: 41px;
	margin:0 auto;
}

.counter .count_p{
	width: 28%;
	margin:0px auto;
	text-align: center;
	font-size: 0.9em;
	line-height: 1.2;
}
.counter .count_p_en{/*英語*/
	width: 28%;
	margin:0px auto;
	text-align: center;
	font-size: 0.8em;
	line-height: 1.2;
}
.counter .count_p span,
.counter .count_p_en span{/*英語*/
	font-size:3.8rem;
	margin: -10px auto;
	display: inline-block;
	font-weight: bold;
}

@media screen and (max-width: 918px){
.counter{
	background-size:140px;
}
.counter .count_p{
	font-size: 0.8em;
}
.counter .count_p_en{/*英語*/
   font-size: 0.7em;
	margin:2px auto 0;
	}
.counter .count_p span{
	font-size:3rem;
}
.counter .count_p_en span{
	font-size:2.8rem;
}
}
.bg_circle{
  position: absolute;
  top:55%;
  left:5%;
  width: 15%;
}

h2{
	color: #0068B7; 
	text-align: center;
	font-size:1.8em;
	font-weight: bolder;
}
@media screen and (max-width: 468px){
#parts-05 h2{
	font-size:1.4em;
	line-height: 1.4;
}
}

/* /// ニュース1行の周りの余白 /// */
.news_slider{
	max-width: 600px;
	margin: 0 auto;	
}

.bx-wrapper{
	/*border:none;*/
	box-shadow: none;
	-webkit-border-radius: 10px; /* Safari */
	-moz-border-radius: 10px; /* 古い Firefox */
	border-radius: 10px;
	border:2px solid #0068B7;
	padding:10px 15px;
}			

.slider li{
    display: block;
    background:#FFF;
    padding:5px 10px 5px 6em;
	-webkit-border-radius: 15px; /* Safari */
	-moz-border-radius: 15px; /* 古い Firefox */
	border-radius: 15px;
	text-indent: -2.43em; 
	line-height: 1.6;
}

/*日付*/
.slider span {
    display:inline-block;
    font-size:0.8rem;
    margin-right:10px;
}

/*768px以下の見た目 ※1行のままにしたい場合は不要　*/
@media screen and (max-width:768px) {
.news_slider{
	width: 90%;
	margin: 0 auto;
}
.slider li{
    padding:3px 2px;
	line-height: 1.4;
	text-indent: 0; 
	}
.bx-wrapper .slider {
    padding:2px;
    background:#fff;
}
.slider li:last-child {
    border-bottom:none;
}
.slider span {
    display:block;
	padding-bottom:10px;
}
}
/* /// ここまでニュース1行の周りの余白 /// */


section{
	position:relative;
	width: 100%;
	top:0;
	left:0;
  	margin:0 auto;	
}
section:after,
.parts-07:after{
	content:"";
	clear:both;
	display:block;
}

.bule{
	color:#0068B7;
}
.red{
	color:#E60012;	
}
.yellow{
	color:#F9CA4C;
}
.white{
	color:#fff;
}
.bgbule{
	background:#0068B7;
}


/*====== 縦線が動いてスクロールを促す =======*/
/*スクロールダウン全体の場所*/
.scrolldown1{

  /*描画位置※位置は適宜調整してください*/
	position:absolute;
	left:8%;
	bottom:70px;
  /*全体の高さ*/
	height:50px;
}

@media only screen and (max-width: 768px) {
  .scrolldown1{
	position:absolute;
	left:50%;
	bottom:70px;
} 
}

.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	left:50%;
	bottom:100px;
    /*全体の高さ*/
	height:40px;
}

/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
	position: absolute;
	left:-23px;
	top: -40px;
    /*テキストの形状*/
	color: #0068B7;
	font-size: 0.9rem;
	letter-spacing: 0.05em;
	font-weight: bold;
	transform: rotateZ( 90deg );
}
@media only screen and (max-width: 768px) {
  .scrolldown1 span{
    display: none;
  }
}


/* 線の描写 */
.scrolldown1::after,
.scrolldown2::after{
	content: "";
    /*描画位置*/
	position: absolute;
	top: 0;
    /*線の形状*/
	width: 1px;
	height: 70px;
	background: #0068B7;
    /*線の動き2.0秒かけて動く。永遠にループ*/
	animation: pathmove 2.0s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:50px;
		opacity: 1;
	}
	100%{
		height:0;
		top:70px;
		opacity: 0;
	}
}



/*l-01*/
#parts-01{
	width:100%;
	height:auto;
	margin: 0 auto;
  	padding: 50px 0 50px; 
}
@media only screen and (max-width: 768px) {
  #parts-01{ 
  	padding: 100px 0;
}
}

/* //// l-02 ////*/
#parts-02{
	background-image:url("../img/expo_bg.jpg");
    background-position: left top; 
    background-size:30px;
    display: block;
    align-items: center;
    justify-content: center;
  	background-attachment:fixed;
    background-repeat:repeat;
	padding: 0 0 0px;
	position: relative;
}
#parts-07{
	background-image:url("../img/expo_part07_bg.png");
    background-position: left top; 
    background-size:50px;
    display: block;
    align-items: center;
    justify-content: center;
  	background-attachment:fixed;
    background-repeat:repeat;
	padding: 0 0 60px;
	position: relative;
	background-color: #fff;
	height: 120%;
}
@media only screen and (max-width: 1080px) {
#parts-07{
	height: 100%;
	}
}

#parts-07 .cornerT{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
}
#parts-07 .cornerB{
	position: absolute;
	bottom:0;
	left: 0;
	width: 100%;
}

#parts-02 .bgfontR{
	position: absolute;
	top:0;
	right: 10%;
}
#parts-07 .bgfontL{
	position: absolute;
	top:0;
	left: 10%;
}
#parts-02 h3,
#parts-07 h3{
	font-size: 7em;
	color:#0068B7;
	line-height:1.2;
}
#parts-02 .bgfontR p,
#parts-07 .bgfontL p{
	color:#F7B400;
	text-align: left;
	font-size:1.3em;
	padding-top:10px;
}
@media only screen and (max-width: 768px) {
#parts-02 .bgfontR{
	position:static;
	margin: 0 auto ;
}
#parts-07 .bgfontL{
	position:static;
	margin: 0 auto ;
	padding-top: 30px;
}
#parts-02 h3,
#parts-07 h3{
	font-size: 4.15em;
	text-align: center;
}
#parts-02 .bgfontR p,
#parts-07 .bgfontL p{
	text-align: center;
  	padding-top:0;
}
}

#parts-02 .ptext{
	width: 100%;
	margin-top: 0px;
}
#parts-02 .text-cen{
	text-align: center;
	font-size: 1.6em;
	color: #0068B7;
}

#parts-02 h4{
	position: relative;
	display: inline-block;
	margin: 160px auto 60px;
  	padding: 40px 45px 0;
	font-size: 1em;
}
#parts-07 h4{
	position: relative;
	display: block;
	margin: 20px auto 0px;
  	padding: 40px 10px 0;
	font-size: 1.3em;
	width: 45%;
	text-align: center;
}

@media only screen and (max-width: 768px) {
#parts-02 h4{
  	margin: 20px auto 30px;
	line-height: 1.4em;
	padding: -20px 0;
}
}

.h4_02{
	position: relative;
  	display: inline-block;
  	padding: 60px 40px 0;
	font-size: 1.5em;
	margin-bottom: 20px;
}

@media only screen and (max-width: 768px) {
.h4_02{
	padding: 0px 30px 0;
	letter-spacing: -1px;
  	line-height: 1.4em;
}
#parts-02 h4:before,
#parts-02 h4:after{
	display: none;
	}
}

h4:before,
.h4_02:before{
  content: '';
  position: absolute;
  top: 85%;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #0068B7;
  -webkit-transform: rotate(240deg);
  transform: rotate(240deg);
}
h4:after,
.h4_02:after {
  content: '';
  position: absolute;
  top: 85%;
  display: inline-block;
  width: 40px;
  height: 2px;
  background-color: #0068B7;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
h4:before,
.h4_02:before{
  left:0;
}
h4:after,
.h4_02:after{
  right: 0;
}


#parts-02 .ptitle .midashi_02{
	display: block;
	text-align: left;
	margin:0px 0 10px 4%;
	width: 380px;
}
@media only screen and (max-width: 768px) {
#parts-02 .ptitle .midashi_02{
	width: 270px;
	margin:0px auto 10px ;
}	
}

#parts-02 .ptitle .textC{
	font-size: 0.7em;
	text-align: center;
	line-height: 1.6;
	margin: 10px auto 20px;
}
@media only screen and (max-width: 768px) {
#parts-02 .ptitle .textC{
	font-size: 0.5em;
}
}


.access{
	width: 95%;
	/*border: 8px solid #f1f1f1;*/
	/*-webkit-border-radius: 20px;*/ /* Safari */
	/*-moz-border-radius: 20px;*/ /* 古い Firefox */
	/*border-radius: 20px;*/
	margin: 0 auto 40px;
}
.access_en{   /*英語*/
	width: 60%;
	border: 8px solid #f1f1f1;
	-webkit-border-radius: 20px; /* Safari */
	-moz-border-radius: 20px; /* 古い Firefox */
	border-radius: 20px;
	margin: 0 auto 140px;
}

.access img,
.access_en img{	/*英語*/
	width: 100%;
	padding:25px;
	
}

@media only screen and (max-width: 768px) {
.access{
	width: 100%;
	margin: 0 auto 10px;
}
.access img,
.access_en img{/*英語*/
	padding:1px;
}
.access_en{   /*英語*/
	width: 100%;
	margin: 0 auto 40px;
}
}

.ptitle02{
	width: 100%;
	margin: 60px auto;
	padding:40px 0 0;
	background-color: #FFFBF2;
	position: relative;
}
.ptitle02 .bgtextO{
	color: #FBD980;
	position: absolute;
	top:30%;
	right: -160px;
	font-size: 2.5em;
	opacity: 0.3;
	transform: rotateZ( -90deg );
}

@media only screen and (max-width: 768px) {
.ptitle02 .bgtextO{
  display: none;
}
}

.access_info{
	font-weight: bold;
	margin: 0 auto 1em;
	color:#E84709;
	position: relative;
  	display: inline-block;
	width: 100%;
	font-size:0.9em;
	text-align: center;
}
.access_info02{
	font-weight: bold;
	margin: 150px auto 0;
	color:#E84709;
	position: relative;
  	display: inline-block;
	width: 100%;
	font-size:1.4em;
	text-align: center;
}
@media only screen and (max-width: 768px) {
.access_info02{
	margin: 30px auto 0;
}
}
.access_info:before,
.access_info02:before{
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 50px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #F7B400;
  -webkit-border-radius: 2px; /* Safari */
  -moz-border-radius: 2px; /* 古い Firefox */
  border-radius: 2px;
}


/* ///// ここからカード ///// */
.card-vi {	
	max-width: 1200px;
 	display: flex;
	margin: 2em auto 0;
	flex-wrap: wrap;
  	justify-content:space-around;
}

.card {	
	max-width: 1200px;
	width: 100%;
  	display: flex;
	margin: 2em auto 0;
	flex-wrap: wrap;
  	justify-content:space-around;
 }

.card-item-vi{
 	display: block; 
  	width:30%;
	height: auto;
	margin: 0 2%;
}

.card-item{
 	display: block; 
  	width:30%;
	height: auto;
	margin: 0 10px;
	position: relative;
}
.card-item-st{
 	display: block; 
  	width:31%;
	height: auto;
	margin: 0 8px;
	position: relative;
}

.card-itemL{
 	display: block; 
    width:40%;
	height: auto;
	margin: 0 10px;
	text-align: left;
}

/*.card-item:not(:first-child),*/
.card-item-vi:not(:first-child),
.card-itemL:not(:first-child){
    margin-left: 0;
}		

.card-item img,
.card-item-st img{
  width: 100%;
}

.kadoR{
  -webkit-border-radius: 20px; /* Safari */
  -moz-border-radius: 20px; /* 古い Firefox */
  border-radius: 20px;
}

@media only screen and (max-width: 1080px) {
.card-vi/*,
.card-item-vi*/{
  	display:block;
	width: 100%;
	margin: 0 auto;
} 
.card-vi{
  	padding-top: 50px;
  	padding-bottom: 30px;
}
.card-item-vi{
 	width:100%;
	height: auto;
  	margin: 0 auto;
  	display: inline-block;
}
}

@media only screen and (max-width:1080px) {
.card-item-st{
  	display:block;
	width: 46%;
	margin: 0 auto;
 	padding:5% 1%;
}
}

@media only screen and (max-width: 768px) {
.card,
.card-item,
.card-item-st{
  	display:block;
	width: 100%;
	margin: 0 auto;
 	 padding:5% 2%;
}
	
/*配布ばしょ*/
.card-itemL{
	width: 100%;
	margin: 0 auto 2em;
}
  
.card-itemL ul{ 
  	max-width: 540px;
	margin: 0 auto;
}
}

.card-item-vi .videoP{
  width: 210px;
	background: #F7B400;
	-webkit-border-radius: 20px; /* Safari */
	-moz-border-radius: 20px; /* 古い Firefox */
	border-radius: 20px;
	text-align: center;
	font-size:0.6em;
	color: #fff;
	padding: 5px 10px;
	margin: 5px auto;
}


/* //// l-03 //// */
#parts-03{
	width:100%;
  	background-image:url("../img/expo_part03_img03.png");
    background-position: center bottom; 
    background-size:cover;
    display: flex;
    align-items: top;
    justify-content: left;
  	background-attachment:fixed;
    background-repeat:no-repeat;
  	position: relative;
    z-index: -9;
	padding-bottom: 77%;
}
@media screen and (max-width: 1200px){
#parts-03{
  	padding-bottom: 80%;
}
}
@media screen and (max-width: 1080px){
#parts-03{
  	padding-bottom: 90%;
}
}
@media screen and (max-width: 885px){
#parts-03{
  	padding-bottom: 115%;
}
}
@media screen and (max-width: 768px){
#parts-03{
	background-position: center 90%; 
  	padding-bottom: 150%;
}
}
@media screen and (max-width: 598px){
#parts-03{
  	padding-bottom: 170%;
	background-size:450%;
}
}
@media screen and (max-width: 430px){
#parts-03{
  	padding-bottom: 250%;
}
}



#parts-03 .bgfontL{
	margin-left:10%;
  	margin-top: 0;
	width: 70%;
	height: auto;
}
#parts-03 h3{
	font-size: 7em;
	color:#DDDCDC;
	line-height: 1.2;
}
#parts-03 .bgfontL p{
	color:#F7B400;
	text-align: left;
	padding-top:1%;
	padding-left: 8px;
}

@media screen and (max-width: 768px){
#parts-03 .bgfontL{
	margin:0 auto;
	width: 100%;
}
#parts-03 .bgfontL h3{
	font-size: 4.5rem;
	text-align: center;
}
  
#parts-03 .bgfontL p{ 
  font-size:1.2em;
  text-align: center;
  padding-top:2%;
}
}
#parts-03 .rapiet_inner{
	position: relative;
	width: 100%;
	padding-bottom: 40px;
}
@media screen and (max-width : 1200px ){
#parts-03 .rapiet_inner{
	padding-bottom: 200px;	
}
}


#parts-03 .rapiet_inner .ptext{
	position: absolute;
	top:36%;
	right: 0;
	text-align: left;
	width: 75%;
	height:auto;
	padding-bottom: 10px;
}
#parts-03 .rapiet_inner .ptext_en{  /*英語*/
	position: absolute;
	top:8%;
	right: 0;
	text-align: left;
	width: 75%;
	height: auto;
	padding-bottom: 10px;
}

#parts-03 .part03img_01{
	width: 70%;
	margin-left: 30px;
}
@media screen and (max-width : 768px ){
#parts-03 .rapiet_inner .ptext_en{  /*英語*/
	top:16%;
	right: 0;
	width: 90%;
	}
#parts-03 .rapiet_inner .ptext{
	top:30%;
	width: 90%;
}
#parts-03 .part03img_01{
	width: 100%;
	margin-left: 0px;
}
}
@media screen and (max-width : 598px ){
#parts-03 .rapiet_inner .ptext_en{  /*英語*/
	top:22%;
	right: 0;
	width: 90%;
	}

#parts-03 .rapiet_inner .ptext{
	top:34%;
	width: 90%;
}
}
@media screen and (max-width : 430px ){
#parts-03 .rapiet_inner .ptext_en{  /*英語*/
	top:25%;
	right: 0;
	width: 90%;
	}
#parts-03 .rapiet_inner .ptext{
	top:40%;
}
}


#parts-03 .part03img_02{
	display: block;
	width: 100%;
}
#parts-03 .ptext .ptext_p{
	margin-top: 0px 0 0 30px; 
  	padding-right: 5%;
}
#parts-03 .info{
	width: 100%;
	height: auto; 
	margin: 40px 0;
	background-color: #F9CA4C;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
}

#parts-03 .info p{
	padding:40px 10px 30px 30px;
	font-weight: bold;
  	line-height: 2.2em;
	color: #E84709;
}
#parts-03 .info .box{
	background: #fff;
	padding: 5px 20px;
	color:#E84709;
	-webkit-border-radius: 20px; /* Safari */
	-moz-border-radius: 20px; /* 古い Firefox */
	border-radius: 20px;
}
@media screen and (max-width : 768px ){
#parts-03 .info{
	margin: 40px 0 0;
}
}


/* //// l-04 //// */
#parts-04{
	background-image:url("../img/expo_bg.jpg");
    background-position: left top; 
    background-size:30px;
    display: block;
    align-items: center;
    justify-content: center;
  	background-attachment:fixed;
    background-repeat:repeat;
	padding: 0 0 18%;
	position: relative;
}
@media screen and (max-width: 918px){
#parts-04{
   padding: 0 0 200px;  
} 
}

#parts-04 .bgfontC h3{
	font-size: 7em;
	color:#0068B7;
	text-align: center;
	line-height: 1.2;
}

#parts-04 .bgfontC p{
	color:#F7B400;
	text-align: center;
	padding-top:3%;
}

@media screen and (max-width: 768px){
#parts-04{
   padding: 0 0 240px;  
 } 

#parts-04 .bgfontC h3{
	font-size:4.15em;
	letter-spacing: -3px;
	transform: scale(0.9, 1);
}

#parts-04 .bgfontC p{
  font-size:1.2em;
}
}

.text_L{
	text-align: left;
	margin: 50px 5% 0 ;
}
.text_L h5{
	font-size: 1.5em;
	line-height: 3;
	padding-left: 0px;
}
@media screen and (max-width: 768px){
.text_L h5{
	padding-left: 0px;
	line-height: 1.5;
  	margin: 10px 0 0 ;
}  
}

.text_L p{
	text-align: left;
	padding-top: 1em;
}
.text_L small{
	color:#171717;
}

.box_b{
	width: 120px;
	font-size: 1.2em;
  	position: relative;
	color: #002564;
	font-weight:bold;
	margin: 100px auto 0;
	text-align: center;
}
.box_b_en{  /*　← 英語 */
	width: 320px;
  	position: relative;
	color: #002564;
	font-size: 1.2em;
	font-weight:bold;
	margin: 100px auto 0;
	text-align: center;
}

.box_b:after,
.box_b_en:after{ /*　← 英語 */
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 6px;
  background: -webkit-repeating-linear-gradient(-45deg, #6ad1c8, #6ad1c8 2px, #fff 2px, #fff 4px);
  background: repeating-linear-gradient(-45deg, #6ad1c8, #6ad1c8 2px, #fff 2px, #fff 4px);
}

#parts-04 .img_bland{
	margin: 40px auto 0;
  	display: block;
	width: 70%;
}
#parts-04 .touch_img{
	height: auto;
 	margin: 100px auto 10px;
	max-width: 800px;
}

#parts-04 .touch_img img{
 	display: block;
 	margin: 0px auto ;
	width: 100%;
}
#parts-04 .touch_imgP{
	font-size:1em; 
	padding-left: 1em;
}
.text_C{
	text-align: center;
	margin: 50px auto 0;
}

@media screen and (max-width: 768px){
.text_C{
  	padding: 0 1%;
}
#parts-04 .img_bland{
	width: 100%;
}
#parts-04 .touch_imgP{
	font-size:0.9em; 
}
}
@media screen and (max-width: 414px){
#parts-04 .touch_img{
	margin: 40px auto 10px;
}	
}

/* //// l-05  l-06 //// */
#parts-05{
	width:100%;
	margin: 0 auto;
	position: relative;
}
#parts-05:after{
	content:"";
	clear:both;
	display:block;
}

.lineF{
	width: 100%;
	height: 10px;
	background: #0068B7;
}
.lineR{
	width: 100%;
	height: 10px;
	background: #E60012;
}
.lineY{
	width: 100%;
	height: 10px;
	background: #F9CA4C;;
}

#parts-06{
	background-image:url("../img/expo_bg02.png");
    background-position: left top; 
    background-size:30px;
    display: block;
    align-items: center;
    justify-content: center;
  	background-attachment:fixed;
    background-repeat:repeat;
	padding-bottom: 120px;
}

#parts-05 .bgfontL,
#parts-06 .bgfontL{
	margin-left: 10%;
	margin-top: 0;
}
#parts-05 .bgfontL h3{
	font-size: 7.5em;
	color:#DDDCDC;
	line-height:1.2;
}
#parts-06 .bgfontL h3{
	font-size: 7.5em;
	color:#0068B7;
	line-height:1.2;
}
#parts-05 .bgfontL p,
#parts-06 .bgfontL p{
	color:#F7B400;
	text-align: left;
	padding-top:1%;
	padding-left: 8px;
}
@media screen and (max-width: 768px){
#parts-05 .bgfontL h3,
#parts-06 .bgfontL h3 {
	font-size: 3.9em;
	text-align: center;
}
  
#parts-05 .bgfontL,
#parts-06 .bgfontL{
	margin:0 auto;
}
  
#parts-05 .bgfontL p,
#parts-06 .bgfontL p{ 
 	font-size:1.2em;
	text-align: center;
}
}

#parts-05 img{
	margin: 10px auto 0;
	display: block;
	width: 70%;
}
@media screen and (max-width: 768px){
#parts-05 img{
	margin: 10px auto 0;
	width: 98%;
}
}

.borderB{
	border-bottom: 1px solid #0068B7;
	padding-bottom: 15px;
}
#parts-06 h5{
	position: relative;
  	display: inline-block;
  	padding: 30px 0 0;
	font-size: 1.4em;
	line-height: 1.6;
	margin-bottom: 20px;
}

#parts-06 .pass,
#parts-09 .pass{
	max-width: 860px;
	display: flex;
	margin: 0 auto;
	padding:30px 5%;
}
#parts-06 .pass img,
#parts-09 .pass img{
	width:40%;
	height: auto;
	margin: 0 5%;
}
@media screen and (max-width: 768px){
#parts-06 .pass,
#parts-09 .pass{
	display: block;
	max-width: 600px;
	padding:30px 3%;
}
#parts-06 .pass img,
#parts-09 .pass img{
	width:100%;
	margin: 0 auto;
}
}



/*======================================
　　下部スライダー
===================================*/
.contents{
	position: relative;
	width: 100%;
	height: auto;
  	padding-bottom: 520px;
}
@media screen and (max-width: 1080px){
.contents{
  	padding-bottom: 0px;   
  }
}

/*::::　gallery :::::*/
.gallery_title{
	width: 110px;
	margin: 0 auto;
	display: block;
	padding-top: 20px;
}
.card-itemgal{
 	display: block; 
  	width:23%;
	height: auto;
	margin: 0 10px;
}
.bradius{
	-webkit-border-radius: 15px; /* Safari */
	-moz-border-radius: 15px; /* 古い Firefox */
  	border-radius:15px;
}
.card-itemgal:not(:first-child){
    margin-left: 0;
}		

.card-itemgal img{
  width: 100%;
}
.card-itemgal p{
	padding-top: 5px;
	font-size: 0.85em;
}
@media only screen and (max-width: 768px) {
.card-itemgal{
  	display:block;
	width: 100%;
	margin: 0 auto;
 	 padding:5% 2%;
}
.card-itemgal p{
	font-size: 1em;
}
}

/*　画像の拡大　*/
.zoomIn img{
	transform: scale(1);
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoomIn a:hover img{/*hoverした時の変化*/
	transform: scale(1.2);/*拡大の値を変更したい場合はこの数値を変更*/
}

/*　画像のマスク　*/
.mask{
    display: block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}

/*::::　gallery スライダーの時 :::::*/
/*.gallery{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: reverse;
	width: 82%;
	min-height: 350px;
	position: absolute;
	top: 0;
	right: 0;
	background: #fff;
	-webkit-border-radius: 20px 0 0 20px; 
	-moz-border-radius: 20px 0 0 20px;
	border-radius: 20px 0 0 20px;
}

.gallery_menu{
	width: 82%;
  	height: auto;
 	margin: 30px 0 20px;
	display: inline-block;
}

.mark_R {
	width: 140px;
	margin:1% 0 ;
}
.mark_R img{
  	width: 95%;
 	display: block;
}*/
/*
@media screen and (max-width: 1080px){
.gallery{
  	position: static;
	width:96%;
	height: auto;
  	padding-bottom: 20px;
	margin: 0 auto ;
	-webkit-border-radius: 20px; 
	-moz-border-radius: 20px;
  	border-radius: 20px;
}
.gallery_menu{
 	width:100%;
	margin: 0 auto;
}
}

@media screen and (max-width: 768px){
.gallery{
    top: 25%;
	left: 0;
	width:96%;
	height: auto;
	margin: 0 auto;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
  	border-radius: 20px;
}
.gallery_menu{
  width:90%;
	margin: 0 auto;
}
.mark_R {
	width: 30%;
	margin:0 auto;
	padding: 30px 0 15px;
}
}
*/

/*::::　spot :::::*/
.spot{
	width:95%;
	height: auto;
	background: #fff;
	margin: 20px auto 0px;
	padding: 0 3px;
	-webkit-border-radius: 20px; /* Safari */
	-moz-border-radius: 20px; /* 古い Firefox */
  	border-radius:20px;
}

.titlehead{
	display: block;
	width: 70%;
	margin: 0px auto;
	padding-top: 30px;
	padding-bottom: 10px;
}

.spot_name{
  	font-size:1.1rem;
	margin: 5px;
}

.card a.btblack{
	width:140px;
 	height: auto;
	background: #000;
	-webkit-border-radius: 20px; /* Safari */
	-moz-border-radius: 20px; /* 古い Firefox */
	border-radius: 20px;
	text-align: center;
	font-size:0.9rem;
	color: #fff;
	padding: 6px 10px;
 	margin-top: 2px;
  	display: inline-block;
}

.card a.btblack:hover{
	background: #F7B400;
}

@media screen and (max-width: 768px){
.titlehead{
	width: 98%;
	padding-top: 25px;
  	padding-bottom: 0px;	
}
.card a.btblack{
	font-size:0.8em;
}
}


/*  本文ボタン　*/
.btn_bottom{
	margin-top: 80px;
	width:100%;
}
.btn_bottom01{/*英語*/
	position: absolute;
	bottom:180px;
	left:0;
	width:100%;
}
.btn_bottom_en{/*英語*/
	position: absolute;
	bottom:0px;
	left:0;
	width:100%;
}
.btn_bottom02{
	position: absolute;
	bottom:20%;
	left:0;
	width:100%;
}
.btn_bottom03{
	margin-top: 30px;
}
.btn_bottom04{
	margin-top: 60px;
	margin-bottom: 60px;
	width:100%;
}
.btn_bottom05{
	margin-top: 60px;
	margin-bottom: 60px;
	width:100%;
}
@media screen and (max-width : 1200px ){
.btn_bottom01{/*英語*/
	bottom:140px;
}
}
@media screen and (max-width : 1080px ){
.btn_bottom03{
	top:110%;
	left:0;
}
}
@media screen and (max-width : 1080px ){
.btn_bottom{
	margin-top: 100px;
}
.btn_bottom02{
	bottom:23%;
}

.btn_bottom04{
	margin-top: 100px;
	margin-bottom: 80px;
}
.btn_bottom05{
	margin-top: 40px;
	margin-bottom: 60px;
}
}


.btn,
.btn_st{
  width:190px;
  height:auto;
  text-align: center; 
  background: linear-gradient(to left, #004287 0%, #2972BD 25%, #1A9CD7 51%, #0068B7 100%);
  background-size: 100% auto;
  padding:10px 5px;
  -webkit-border-radius: 2em; /* Safari */
  -moz-border-radius: 2em; /* 古い Firefox */
  border-radius: 2em;
  display: block;
  /*アニメーションの指定*/ 
  transition: all 0.4s ease-out;
  z-index: 999;
  margin: 10px auto;
  color: #fff;
}

.btn_acc{
  text-align: center; 
  background: linear-gradient(to left, #004287 0%, #2972BD 25%, #1A9CD7 51%, #0068B7 100%);
  background-size: 100% auto;
  padding:10px 30px;
  -webkit-border-radius: 2em; /* Safari */
  -moz-border-radius: 2em; /* 古い Firefox */
  border-radius: 2em;
  display: inline-block;
  /*アニメーションの指定*/ 
  transition: all 0.4s ease-out;
  z-index: 999;
  margin: 0 auto;
  color: #fff;
  font-size: 0.7em;
}

.btn_R,
.btn_R02{
  width:190px;
  height:auto;
  text-align: center; 
  background-color:#E60012;
  background-size: 100% auto;
  padding:10px 5px;
  -webkit-border-radius: 2em; /* Safari */
  -moz-border-radius: 2em; /* 古い Firefox */
  border-radius: 2em;
  display: block;
  /*アニメーションの指定*/ 
  transition: all 0.4s ease-out;
  z-index: 999;
  margin: 0px auto;
  color: #fff;
}

.btn_O{
  width:210px;
  height:auto;
  text-align: center; 
  background: linear-gradient(to left, #F7B400 0%, #F39902 25%, #F08335 51%, #E84709 100%);
  background-size: 100% auto;
  padding:10px 5px;
  -webkit-border-radius: 2em; /* Safari */
  -moz-border-radius: 2em; /* 古い Firefox */
  border-radius: 2em;
  display: block;
  /*アニメーションの指定*/ 
  transition: all 0.4s ease-out;
  z-index: 999;
  margin: 20px auto 0;
  color: #fff;
}

@media screen and (max-width : 768px ){
.btn{
  max-width:180px;
  }
.btn_st{
	width: 300px;
	margin: 20px auto;
}
.btn_acc{
	padding:10px 30px;
	font-size: 0.6em;
	border-radius: 4em;
	line-height: 1.4;
}
}

/*.btn a,
.btn_O a{
  color:#fff;
  text-decoration: none;
  text-align: center; 
}*/

/*hoverした際、グラデーションと影を付ける*/
.btn:hover,
.btn_st:hover,
.btn_acc:hover{
    /*ボタンの形状*/
    border-color:transparent;
    color: #fff;
    /*背景の色と形状*/
    background: -webkit-linear-gradient(right, #33A1D3 0%, #293F84 50%, #051436 100%);
    background: -o-linear-gradient(right, #33A1D3 0%, #293F84 50%, #051436 100%);
    background: linear-gradient(to left, #33A1D3 0%, #293F84 50%, #051436 100%);
    background-size: 200% auto;
    background-position: right center;
    /*ボックスの影*/   
    box-shadow: 0 5px 10px -5px black;
}
.btn_O:hover,
.btnfind:hover{
    /*ボタンの形状*/
    border-color:transparent;
    color: #fff;
    /*背景の色と形状*/
    background: -webkit-linear-gradient(right, #F7B400 0%, #539933 50%, #326611 100%);
    background: -o-linear-gradient(right, #F7B400 0%, #539933 50%, #326611 100%);
    background: linear-gradient(to left, #F7B400 0%, #539933 50%, #326611 100%);
    background-size: 200% auto;
    background-position: right center;
    /*ボックスの影*/   
    box-shadow: 0 5px 10px -5px black;
}

/* フッター */
footer{
    width: 100%;
	height: 300px;
	position:absolute;
	z-index: 9;
	bottom:0;
	left: 0;
}
footer p{
	text-align: center;
	color: #171717;
	font-size: 0.8em;
}

.l-footer .l-footer_logo{
	max-width: 250px;
	margin:0 auto;
	padding: 0.5% ;
	/*z-index: -999;*/
}
.l-footer .l-footer_logo_en{/*英語*/
	max-width: 320px;
	margin:0 auto;
	padding: 0.5% ;
}
.l-footer .l-footer_logo img{
	width: 80%;
	display: block;
	margin:0 auto 5px;
	background: #fff;
}
.l-footer .l-footer_logo_en img{/*英語*/
	width: 50%;
	display: block;
	margin:0 auto 5px;
	background: #fff;
}

canvas{
	position: absolute;
	bottom: 0;
	left:0;
	width: 100%;
	z-index: -99;
}


/* コピーライト部分 */
address{
  	width: 400px;
  	height: auto;
	font-family:Arial, Helvetica, sans-serif;
	text-align:center;
	font-size:0.8em;
  	font-style: normal;
	color:#fff;
  	margin: 0px auto;
  	padding-top: 140px;
  	padding-bottom: 0px;
}

@media only screen and (max-width : 598px ){
address{
  max-width: 300px;
  }
}



/* ///// 第二弾追加分 ///// */
#parts-02 .textC{
	font-size: 0.7em;
	text-align: center;
	width: 93%;
	margin: 20px auto 40px;
}
.box_ac{
	margin:0px auto 0;
	/*border: 1px solid #0068B7;*/
	padding: 0 65px;
	font-size: 0.65em;
	position: relative;
    display: inline-block;
}
.box_ac:before, .box_ac:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #0068B7;;
}

.box_ac:before {
  left:0;
}
.box_ac:after {
  right: 0;
}

.btn_box{
	width:100%;
	margin: 20px auto 120px;
	display: inline-block;
}
.btn_box .btn_ac,
.btn_box .btn_acR{
  	width:210px;
 	height:auto;
  	text-align: center;
  	background-size: 100% auto;
  	padding:16px 5px 14px;
  	-webkit-border-radius: 2em; /* Safari */
  	-moz-border-radius: 2em; /* 古い Firefox */
  	border-radius: 2em;
  	display: inline-block;
  	/*アニメーションの指定*/ 
  	transition: all 0.4s ease-out;
	margin: 0 5%;
	position: relative;
	color:#fff;
	font-size: 1.0rem;
  	text-decoration: none;
}
.btn_box .btn_ac{
	background: linear-gradient(to left, #004287 0%, #2972BD 25%, #1A9CD7 51%, #0068B7 100%);
}
.btn_box .btn_acR{
    background: linear-gradient(to left, #85191a 0%, #e60012 25%, #e60012 50%, #85191a 100%);
}

@media only screen and (max-width : 598px ){
#parts-02 .textC{
	text-align: left;
	width: 90%;
}
.btn_box .btn_ac,
.btn_box .btn_acR{
	width:200px;
	margin:0 5px;
}
}
@media only screen and (max-width : 468px ){
.btn_box{
	margin: 0px auto 80px;
}
.btn_box .btn_ac,
.btn_box .btn_acR{
	width:70%;
/*	padding:0 5px 2%;*/
	margin: 25px auto;
	display: block;
}
}



/*hoverした際、グラデーションと影を付ける*/
.btn_box .btn_ac:hover{
    /*ボタンの形状*/
    border-color:transparent;
    color: #fff;
    /*背景の色と形状*/
    background: -webkit-linear-gradient(right, #33A1D3 0%, #293F84 50%, #051436 100%);
    background: -o-linear-gradient(right, #33A1D3 0%, #293F84 50%, #051436 100%);
    background: linear-gradient(to left, #33A1D3 0%, #293F84 50%, #051436 100%);
    background-size: 200% auto;
    background-position: right center;
    /*ボックスの影*/   
    box-shadow: 0 5px 10px -5px black;
}
.btn_box .btn_acR:hover,
.btn_R02:hover{
    /*ボタンの形状*/
    border-color:transparent;
    color: #fff;
    /*背景の色と形状*/
    background: -webkit-linear-gradient(right, #e60012 0%, #ea5922 50%, #85191a 100%);
    background: -o-linear-gradient(right, #e60012 0%, #ea5922 50%, #85191a 100%);
    background: linear-gradient(to left, #e60012 0%, #ea5922 50%, #85191a 100%);
    background-size: 200% auto;
    background-position: right center;
    /*ボックスの影*/   
    box-shadow: 0 5px 10px -5px black;
}

.btn_ac::after,
.btn_acR::after{
	content:"";
	width:.6rem;height:.9rem;display:block;
	clip-path:polygon(0 0,0% 100%,100% 50%);
	background-color:#fff;
	position:absolute;
	top:50%;right:1.0rem;margin-top:-.3rem
}






/* ///// parts-05追加 ///// */
.cover::before {
  z-index: 1;
  content: "";
  position: absolute;
  top: -10%;
  left: 8%;
  height: 120%;
  width: 85%;
  background:rgba(209,209,209,0.7);
}

.cover_p{
  position: absolute;
  top:50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 99;
  font-size: 1.2em;
}

/* ///// parts-06 (英語）追加 ///// */
.findimg{
	width: 80%;
	display: block;
	margin: 0px auto;
	padding: 20px 0 10px;	
}

.btnfind{
	/*width:190px;
 	height: auto;*/
	-webkit-border-radius: 40px; /* Safari */
	-moz-border-radius: 40px; /* 古い Firefox */
	border-radius: 40px;
	background: linear-gradient(to left, #F7B400 0%, #F39902 25%, #F08335 51%, #E84709 100%);
  	background-size: 100% auto;
	text-align: center;
	font-size:0.9rem;
	color: #fff;
	padding: 5px 4%;
 	margin-top: 10px;
	display: block;
  /*アニメーションの指定*/ 
  	transition: all 0.4s ease-out;
}
@media screen and (max-width : 768px ){
.findimg{
	width: 95%;
}
.btnfind{
	margin: 20px auto;
}
}

.width960{
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	padding: 0 10px;
}


/* ///// 追加 ///// */
.Ctext,
.Dtext{
	font-size: 1em;
	text-align: center;
	line-height: 1.8;
	margin: 20px auto;
}

@media screen and (max-width: 468px){
.Ctext{ 
	font-size: 0.95em;
}
.Dtext{
	padding:0 5% 5%;
}
}

.logo_pc_only {
  	display: block;
}

.logo_sp_only {
  	display: none;
}

@media screen and (max-width: 468px){
.logo_pc_only {
  	display: none;
}

.logo_sp_only {
  	display: block;
}
}




/*tabの形状*/
.tabarea{
	width: 90%;
	margin: 0 auto;
}
.tab{
	display: flex;
	flex-wrap: wrap;	
}
.tab li{
	width: 50%;
	white-space: nowrap;
	
}
.tab li a{
	display: block;
	background:#e6e6e6;
	margin:0 ;
	padding:10px 20px;
	font-size: 0.7em;
	color:#0068B7;
}

@media screen and (max-width: 468px){
.tabarea{
	width: 98%;
}
.tab li a{
	padding:10px 5px;
	font-size: 0.5em;
}
}

/*liにactiveクラスがついた時の形状*/
.tab li.active a{
	background:#fff;
	border-left: 1px solid #333;
	border-right: 1px solid #333;
	border-top: 1px solid #333;
	border-bottom: 1px solid #fff;	
}

.tab li a:hover{
	opacity: .7;	
}

/*エリアの表示非表示と形状*/
.area {
	display: none;/*はじめは非表示*/
	opacity: 0;/*透過0*/
	background: #fff;
	padding:50px 20px;
	border-left: 1px solid #333;
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	
}
@media screen and (max-width: 768px){
.area {
	padding:40px 10px;	
}
}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
    display: block;/*表示*/
    animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}



/* //// parts-07のおトクなきっぷ //// */
.passmc{
	width: 18%;
	position: absolute;
	top:250px;
	left: 62%;
	display: block;
}

.passarea{
	width:100%;
	height:auto;
	margin:60px auto;
	display: flex;
	justify-content:space-between;
	padding:0 40px 20px 30px;
	
}
@media screen and (max-width: 768px){
.passmc{
	width: 240px;
	position:static;
	margin: 50px auto 0;
}
.passarea{
	margin:130px auto 20px;
	display: flex;
	padding:0 ;
	flex-direction: column-reverse;
}
}

.passbox{
	margin: 0px auto;
	padding: 10px;
	border-radius: 50%;
	background: #fff;
}

.circle_height{
	position: relative;
	padding-top: 100%;
	height: 0;
}

.pass01{
	margin-top: 5%;
	margin-left: 10px;
	width: 40%;
	height: auto;
}
.pass02{
	margin-top: 28%;
	margin-right: 10px;
	width: 45%;
	height: auto;
}
@media screen and (max-width: 918px){
.pass01{
	width: 50%;
}
.pass02{
	width: 60%;
}
}
@media screen and (max-width: 768px){
.pass01{
	width: 100%;
	margin: 0px auto 40px;

}
.pass02{
	width: 100%;
	margin:40px auto 200px;

}
}
@media screen and (max-width: 468px){
.pass01{
	width: 110%;
	margin: 20px 0 10px -15px;
}
.pass02{
	width: 110%;
	margin: 0px 0 120px -30px;
}
}

.circle_inner{
	position: absolute;
	/*top: calc((100% - 1em)/2);*/
	top:13%;
	left: 0;
	right: 0;
	margin: 0;
}
.passtitle{
	position: absolute;
	width:37%;
	top:-3%;
	left: 78%;
	z-index: 9;
}
.passtitle00{
	position: absolute;
	width:26%;
	top:10%;
	left: 80%;
	z-index: 9;
}
.passtitle01{
	position: absolute;
	width:48%;
	top:40%;
	left: -33%;
	z-index: 9;
}


@media screen and (max-width: 768px){
.passtitle{
	width:88%;
	top:-19%;
	left: 7%;
	z-index: 9;
}
.passtitle00{
	width:24%;
	top:10%;
	left: 78%;
}
.passtitle01{
	width:90%;
	top:-17%;
	left:4%;
}
}
@media screen and (max-width: 468px){
.passtitle00{
	top:13%;
	right: 1%;
	width:24%;
}

}

/* circle 回転 */
.circle1{
  animation:2.5s ease-in-out infinite alternate rotation;
}

@keyframes rotation{
  0%{ transform:rotate(-8deg);}
  100%{ transform:rotate(8deg); }
}


/* fluffy 3秒 上下 */
.fluffy{
	animation: fluffy 2.5s infinite;
}

@keyframes fluffy {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
	

.pass01 .passimg,
.pass02 .passimg{
	width:65%;
	display: block;
	margin: 0px auto;
 	object-fit:cover;
}
.passtxt img{
	width:75%;
	height:auto;
	display: block;
	margin: 12px auto;
}
.passtxt02 img{
	width:90%;
	height:auto;
	display: block;
	margin: 12px 0 20px 16.5%;
}
@media screen and (max-width: 768px){
.pass01 .passimg,
.pass02 .passimg{
	margin: -10px auto 5px;
}
}
@media screen and (max-width: 468px){
.passtxt02 img{
	width:95%;
	margin: 5px 0 20px 13%;
}
}

/*　/////  キラッ　///// */
.passbox span.mask{
	position: relative;/*キラッの基点となる位置を定義*/
    display: block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}

.passbox span.mask::before {
	position: absolute;
	content:"";
	width: 50%;/*キラッの横幅*/
	height: 100%;/*キラッの縦幅*/
	top: 0;/*.shine span.maskのトップ0を基点*/
	left: -12%;/*画面の見えていない左から右へ移動するスタート地点*/
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
	transform: skewX(-25deg);/*背景白透過を斜めに*/
}

.passbox span.mask:hover::before {/*hoverした時の変化*/
	animation: shine 0.7s;/*アニメーションの名前と速度を定義*/
}

@keyframes shine {
	100% {
		left: 100%;/*画面の見えていない左から右へ移動する終了地点*/
	}
}