@charset "utf-8";
/* CSS Document */

/*html,body{overflow-x:hidden;}*/

#container{
	/*font-family: 'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック';	*/
	font-family: 'Noto Sans JP', sans-serif;
    width: 100%;
    margin: 0;
	font-size: 16px;
	color: #181818;
	line-height: 1.4;
	overflow: clip;
	position: relative;


/*	background: #FFFE54;	*/
}
*{
    box-sizing: border-box;
    max-width: none;
}
th{font-family: 'Noto Sans JP', sans-serif;}
.w1000{
	max-width: 1000px;
	margin: 0 auto;
}

#container img{
	margin:0;
	padding:0;
	vertical-align:bottom;
	width: 100%;
	max-width: 100%;
}
#container .icon {
	width: 2em;
	margin-right: .3em;
	max-width: 100%;
}
#container small {
    line-height:1.2;
}

a, a:link{background:none; text-decoration:none;}

.s_font{font-size: 0.8em; line-height: 1.4;/* display: block;*/}
.sp{display: none;}
.sp_only{display: none;}
.end_only{display: none;}	
.flex_box{	display: flex;}
.mplus{font-family: 'M PLUS Rounded 1c', sans-serif;}
.min{font-family: 'Noto Serif JP', serif;}
.red{color: #FC3E00;}
.m-top1{margin-top: 1em!important;}
.marker{background:linear-gradient(transparent 60%, #FFF9A4 60%); display: inline-block;}
dd{text-align: justify;}

/*-----------------------pagetop*/

#pagetop {
	position: fixed;
	bottom: 1em;
	right: 1em;
	z-index:50;
	width:4em;
	height:4em;
	border-radius:50%;
	overflow:hidden;
	text-align: center;
}
#pagetop a {
	position: relative;
	display:block;
	width:100%;
	height:100%;
	padding:0;
	background-image: none;
	background-color:rgba(170,8,11,0.40);
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;	
}
#pagetop a:before{
	content: "▲";
	display: block;
	position: absolute;
	color: #FFF;
	font-size: 2em;
    text-indent: 0;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
}
#pagetop a:hover {
	text-decoration: none;
	background-color: #a5a5a5;
}
/*--------------------パンくず */
#pankuzu{
	margin: 0 auto;
	width: 100%;
	font-size: .85em;
	background: #fff;
}

#pankuzu ul{
	margin: 0 auto;
	width: 1000px;
	padding: 15px 20px 20px;
    _zoom: 1;
}
#pankuzu li{
    float: left;
    list-style: none;
}
#pankuzu li + li:before{
    margin: 0 8px;
    content: '>';
}

/*--------------------------------------------------- twitter */
/*.twitter{
	text-align: right;
	margin: -2.5em 10% 0 0;
}*/
/*--------------------------------------------------- 紙吹雪 */	

/*========= particle js を描画するエリア設定 ===============*/

html,body{
	height: 100%;/*高さを100%にして描画エリアをとる*/
}

#particles-js{ 
	position:fixed;/*描画固定*/
	z-index:-1;/*描画を一番下に*/
	width: 100%;
	height: 100%;
/*	background: linear-gradient(163deg, rgba(255,228,180,1) 28%, rgba(255,237,164,1) 65%, rgba(255,235,200,1) 100%);*/
	background: url("../img/all_bg.jpg")no-repeat;
	background-size: cover;

/*   background-image:	 repeating-linear-gradient(-45deg, #FDFAE1, #FDFAE1 7px,transparent 0, transparent 14px);*/
/*	background: linear-gradient(90deg,rgba(224, 246, 255, 1) 0%, rgba(255, 253, 219, 1) 50%, rgba(255, 207, 214, 1) 100%);*/
}

#wrapper{
	position: relative;/*描画を#particles-jsよりも上にするためposition:relative;を指定*/
	z-index: 1;/*z-indexの数字を大きくすることで描画を#particles-jsよりも上に*/
	width:100%;
	height: 100%;
}
/*---------------------------------------------------------------------------- main */
#main{
	/*background:url(../img/bg01.png) repeat;*/
	padding-bottom: 2em;
}
h1{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 800;
	text-align: center;
	color: #A037E9;
/*	max-width: 1900px;*/
	margin: auto;
	padding-top: .5em;
	font-size: min(3.2vw,50px);
	text-shadow    : 
       3px  3px 2px #ffffff,
      -3px  3px 2px #ffffff,
       3px -3px 2px #ffffff,
      -3px -3px 2px #ffffff,
       3px  0px 2px #ffffff,
       0px  3px 2px #ffffff,
      -3px  0px 2px #ffffff,
       0px -3px 2px #ffffff; 	
/*	line-height: 2.5;*/
/*	text-shadow: 1px 1px 5px #FFF,1px 1px 5px #FFF,1px 1px 5px #FFF;*/
}
h1 small{color: #65343B;}
h1 img{
	width: 100%;
	height: auto;
}
h1 a{color: #42ADFF!important;}
#clipboard-info{font-size: 0.7em;}

#main p:not(.g-maplink){
	font-size: .9em;
	margin: 1em auto!important;
	padding: .2em .5em;
	border: 5px #e5007f double;
	background: #fff;
}
#main dl{font-size: .9em;}
/*#main .news{
	margin-top: 2em;
}
#main .news h3 {
    position: relative;
    display: inline-block;
    height: 24px;
    padding: 0em 2em 1.5em;
    box-shadow: 0px -4px #EB0000, 0px 4px #EB0000;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background-color: #EB0000;
    color: #FFF;
    font-weight: bold;
    text-align: center;
}

#main .news h3::before {
    position: absolute;
    top: -5px;
    right: 0;
    width: 0px;
    height: 0px;
    border-width: 15px 10px 15px 0px;
    border-color: transparent #FFC363;
    border-style: solid;
    content: '';
}*/

/*#main .news ul{
	background: rgba(255,255,255,0.70);
	padding: .8em .5em .5em;
	height: 7em;
	overflow-y: scroll;
	list-style-type: disc;
	border: 5px #EB0000 dotted;
	margin-top: -.5em;
}
#main .news li{
	margin-left: 1.5em;

	text-indent: -1em;

}
#main .news li small{color: #E00003;	border: 1px red solid; padding: 0 .5em;}*/

#campaign-code{margin: 0 .5em;}

.event{
	margin-top: 2vw;
	text-align: center;
	color: #FF5605;	
	font-weight: 700;
}
.event dt{
	font-size: min(4vw, 28px);
	font-weight: 900;
	max-width: 640px;
	margin: auto;
}
.event dd{font-size: min(4vw, 18px);}
.event dd.event_date{
	font-size: min(4.2vw, 30px);
	width: 100%;
	max-width: 26em;
	margin: 0 auto .5em;
	font-weight: 900;
	background:  #835055;
	color: #fff;
	padding: .3em;
	text-align: center;
	border-radius: 1em;
}
.g-maplink{
	margin-top: 3em;
	text-align: center;
	font-size:  min(3.2vw, 20px);
}
.g-maplink a{
	display: inline-block;
	background: #fff;
	padding: .5em 1em;
	color: #65343B;
	border: #65343B 2px solid;
	border-radius: 3px;
	font-size: 1.1em;
	font-weight: 600;
}
.g-maplink a:hover{ opacity: 0.8;}
/*--------------------------------------------------- menu */
#menu {
	position: sticky;
	top: 0;
	z-index: 10;
	width: 100%;
}
#menu .page-nav {
  display: block;
  background-color: #ff9906;
  width: 100%;
  z-index: 20;
  box-sizing: border-box;
  transition: transform 0.3s;
}
#menu .page-nav ul {
  display: flex;
  justify-content: flex-end;
  column-gap: .5em;
  place-items: center;
  max-width: 1000px;
  width: 95%;
  height: 75px;
  margin: 0 0 0 auto;
  margin-right: 2em;
}
#menu .page-nav li a {
  position: relative;
  display: block;
  color: #ff9906;
  font-weight: 600;
  transition: .3s all ease-out;
  text-align: center;
  background-color: #fff;
  height: 65px;
  padding: 0 .5em;
}
#menu .page-nav li a {
  display: flex;
  align-items: center;
}
#menu .page-nav li a .menu-flex {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  column-gap: .5em;
  flex-wrap: wrap;
  width: 100%;
}
#menu .page-nav ul a:hover {
  filter: brightness(.8);
}
#menu .page-nav li .menu-flex div:nth-child(1) {
  width: 40px;
  padding: .2em;
}
#menu .page-nav li.xxs a .menu-flex div {
  padding: .5em;
  border-radius: .5em;
  background: #000;
}
#menu .page-nav li:nth-child(2) a span {
  display: block;
  width: 100%;
  font-size: 12px;
  line-height: 1;
  margin-top: -2px;
}
#menu .page-nav .menu-flex .small {
  font-size: 14px;
}
#menu .page-nav ul li a.coming-soon{position: relative;}
#menu .page-nav ul li a.coming-soon::before{
	content: "comingsoon";
	position: absolute;
	left: 10%;
	background: rgba(0,0,0,0.70);
	color: #fff;
	padding: .2em 1em;
	transform: rotate(-10deg);
	z-index: 1000;
}
/*----------------------------------------------------------------------------------- nav の場合*/
nav{
	position: sticky;
	top: .6em;
	width: 1000px;
	margin: auto;
	z-index: 9999;
}
.my-parts ul {
	list-style: none;
	margin: 0;
	padding: 0;
	
	display: flex;
	transition: 1.0s ;
}
.my-parts ul::after {
	content: "";
	display: block;
	clear: both;
}
.my-parts ul > li {
	position: relative;
	flex: 1;
	margin-left: 3px;
	box-sizing: border-box;
	font-weight: 800;
}
.my-parts ul > li:first-child {margin-left: 0;}
.my-parts ul li a {
    border-radius: 15px;
    display: block;
    padding: .8em;
    text-decoration: none;
    color: #FFF;
    background: #FFC20B;
    border: #FFF7D6 2px solid;
    text-align: center;
    font-size: 1.2em;
    font-weight: 600;
  text-shadow    : 
       2px  2px 1px #2A5AED,
      -2px  2px 1px #2A5AED,
       2px -2px 1px #2A5AED,
      -2px -2px 1px #2A5AED,
       2px  0px 1px #2A5AED,
       0px  2px 1px #2A5AED,
      -2px  0px 1px #2A5AED,
       0px -2px 1px #2A5AED;	
	
    transition: .5s;

}
.my-parts ul li a:hover {
	background: #F4E409;
	border-radius: 15px 15px 0 0;
}
.my-parts ul > li ul {
	display: none;
	position: absolute;
	top: 100%;
	width: 100%;
}
.my-parts ul > li li {
	float: none;
	width: 100%;
	margin: 2px 0;
}
.my-parts ul > li li a{
	background: rgba(255,255,255,0.90);
	padding: .3em .8em;	
	font-size: 1em;
	color: #FF6700;
	font-weight: 600;
	border: none;	
	border-radius: 0 ;
	  text-shadow:none;
}
.my-parts ul > li li a:hover{
	border-radius: 0;
}
.my-parts ul li:hover ul {
	display: block;
}


/*------------------------------------------------------------------- content */
.w1200{
	padding: 0 5%;
	margin: 0 auto;
}
.content{
	padding: 4em 0 0;
/*	background: url("../img/bg02.png") repeat;	*/
}
.content h2{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	text-align: center;
	font-size: 2.3em;
	font-weight: 900;
	color: #FFFFFF;
  letter-spacing : 4px;                /* 文字間 */
  text-shadow    : 
       2px  2px 3px #2A5AED,
      -2px  2px 3px #2A5AED,
       2px -2px 3px #2A5AED,
      -2px -2px 3px #2A5AED,
       2px  0px 3px #2A5AED,
       0px  2px 3px #2A5AED,
      -2px  0px 3px #2A5AED,
       0px -2px 3px #2A5AED;        /* 文字の影 */
}
.content h2 + p{
	text-align: center; 
	margin-bottom: 3em;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 1.1em;
}
.content .attention{
	text-align: center; 
	margin-bottom: 3em;
	color:#A037E9;
	font-weight: 600;
	border-bottom: #A037E9 solid 2px;
}
/*----------------------------------------------------- map*/
.map{
	max-width: 1500px;
	margin: 1em auto 3em;
	background: rgba(255,255,255,0.70);	
	padding: 1em;
}
.map .pamphlet.flex_box{
	justify-content: space-between;
	max-width: 800px;
	margin: auto;
}

.map .pamphlet li{width:49.5%;}
.map p{text-align: center;}
.map a{text-decoration: underline;}
.map .secchi{margin-top: 1em; font-size: 0.9em;}
.map .secchi strong{
	display: block;
	max-width: 30em;
	text-align: center;
	background: #FFDAFB;
	margin: auto;
	padding: 2px .5em;
}
.map .secchi small{display: block;}
.announce h5,.map h5{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 25px;
	text-align: center;
	font-weight: 900;
	color: #FF4394;
	padding: .5em;
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;	
}
.card.pamphlet.flex_box{
	flex-wrap: wrap;
	max-width: 100%;
}
.card.pamphlet.flex_box li{ margin: 2px; width: 24%;}
/*----------------------------------------------------- announce*/
.announce{
	text-align: center;
	margin-bottom: 2em;
	max-width: 1500px;
	margin: 1em auto;
	background: rgba(255,255,255,0.70);
	padding: .5em 0;
}
.announce dt{
	font-size: 1.4em;
	font-weight: bold;
	margin-top: 1em;
}
.announce dt small{
	font-weight: normal;
	
}
.announce dd{
	max-width: 1300px;
	margin: auto;
}

.deramasu_x a{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 2em;
	max-width: 400px;
	margin: 1em auto 3em;
	background: #fff;
	padding: 1em;
	font-size: 0.8em;
	border-radius: 1em;
	border: 3px #000 solid;
	color: #000;
}
.deramasu_x a:hover{
	background: #000;
	color: #fff;
}
.deramasu_x dd{
	

	width: 25em;
	text-align: center;	
}
.deramasu_x dt{
	width: 6em;
	padding: .5em;
	border-radius: .5em;
	background: #000;
}
.deramasu_x dd strong{
	display: block;
	font-size: 2em;
	font-weight: 900;
}
/*----------------------------------------------------------- box */
.click{
	text-align: center;
	margin-bottom: 1em;
	padding: 3px;
	background: #ff9906;
	color: #fff;
	font-weight: 700;
	font-size: min(4.5vw,1.2em);
}

.icon_info{
	margin-bottom: 2em;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.icon_info h5{
	background: #ff5a08;
	color: #fff;
	padding: 2px .5em;
}
.icon_info ul{
	display: flex;
	justify-content: flex-end; 
}
.icon_info ul li{
	display: flex;
	align-items: center;
	padding: .2em .3em;
	background: #fff;
}
.icon_info ul li span{
	width: 2em;
	margin-right: .5em;
}

.box{
/*	padding-top: 80px;
	margin: 2em 0;*/
	background: linear-gradient(0deg, #fff calc(100% - 80px), rgba(255,255,255,0.00) 80px);
}
.box h3{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 1.5em;
	padding: 5px .5em;
	background: #fa8333;
	color: #fff;
	justify-content: space-between;
	align-items: flex-end;
}

.box h3 .fa-solid,.fa-brands{
    color: #FFF;
	font-size: 1.5em;
	margin: 0 4px;
	transition: 0.4s ;
}
.box h3 .fa-icon{
	max-width: 1.7em!important;
	margin: 0 8px;
	transition: 0.4s ;
}
.box h3 a small{
	font-size: 0.5em;
	font-weight: normal;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
}
.box h3 a{	text-decoration: none;}
.box h3 .link{display: flex; align-items: center; }
.box h3 .link a:hover{	font-size: 1.2em;}

.box > dl dt{ flex: 3;}
.detail{ flex: 4.5; padding: 0 1.5em 1.5em;}


/*.box .center_dd{ flex: 4.5; padding: 1em 1em .5em 1.5em;}
.box .img_dd{ flex: 2.5; padding: 1em 1em; position: relative;}
.box .img_dd img{ border: #fff 3px solid;}
.box .img_dd .flex_box{flex-wrap: wrap;	justify-content: center;}
.box .img_dd .flex_box li{width: calc(100% / 2); margin-bottom: 0;}
.box .img_dd a{font-size: .9em; letter-spacing: -1px;}
.img_dd .fa-magnifying-glass-plus{
	position: absolute;
	top:20%; 
	right: .7em;
	font-size: 2em;
	color: rgba(255,126,0,0.60);
}*/
.detail h4{ 
	background:linear-gradient(transparent 80%, #FFDFD9 80%);
	font-size: 1.1em;
	display: inline-block;
	padding-right: .5em;
	margin: 1.5em 0 .2em;
}
.detail h4 .icon{    width: 3em!important;}
.detail dt{margin-top: .3em; font-weight: 600;}
.detail dd{line-height: 1.2; margin-left: 1em;}

/*.box dd li{ 	margin-bottom: 1em;}*/

.box .btn {display: block;}
.box .btn a{
	display: inline-block;
	color: #fff;
	padding: .4em 2em;
	border-radius: 5px;
    background: linear-gradient(34deg, #2A5AED 10%, #8ADFFF 90%);
	text-decoration: none;
	margin: .5em 0 .8em;
}
.box .btn a:hover{
	background: linear-gradient(34deg, #8ADFFF 10%, #2A5AED 90%);
}
.box a{text-decoration: underline;}
.box .btn.btnsoon a{
    background: #939393;
}


.fa-solid.xxs{font-size: .6em; margin-right: 1em;}
.fa-solid.red{color: #EB4B4B;}
.box .soon{
	border: #676767 1px solid;
	padding: 0px 1em;
	color: #676767 ;
	display: inline-block;
	transform: rotate(-3deg);
	margin-top: 0.3em;
	margin-left: 2em;
	font-size: .9em;
}
.box strong.soon{font-size: 1.7em;}

/*.skd strong{
	font-size: 1.1em; 
	display: block; 
	padding: 1px .3em;
}
.skd{
	font-weight: 700;
	background: #FCFFE0;
	border: #91B1FC 2px solid;
}
.skd span{
	font-size: .8em;
	padding: 0 0.3em;
	background: #91B1FC;
	color: #fff;
	font-weight: 400;
	display: block;
	text-align: center;
}
.skd .s_font{
	background: none;
	color: #535353;
	display: block;
	text-align: left;
}*/
/*ul.map{	width: 70%;}
ul.map li{margin-bottom: 0;}
ul.map li:first-child{margin-right: 1em;}*/


.collabo-con .text{flex: 3; margin-bottom: 0.5em;}
.collabo-con .pamphlet{	flex: 2;	margin-left: 1em;}
.collabo-con .pamphlet ul{margin-bottom: 0;}
.collabo-con .pamphlet ul li:nth-of-type(even){margin-left: 5px;}
.collabo-con .image{	flex: 1;	margin: .5em 0 0 3em;}
.collabo-con .pamphlet .flex_box{flex-wrap: wrap; justify-content: space-between; }
.collabo-con .pamphlet .flex_box li{width: 48.5%; margin-bottom: 2px;}
.collabo-con .pamphlet .flex_box li.w100p{width: 100%; margin-bottom: 2px;}

.detail.flex_box .collabo-con{flex: 3;}
.detail.flex_box .image{	flex: 1;	margin: 2em 0 0 3em;}
.collabo-con.flex_box .pamphlet{	flex: 2;	margin: 2em 0 0 3em;}


/*.collabo-con ul li:first-child{margin-right: .5em;}
.collabo-con ul li{margin-bottom: 0;}
.collabo-con ul + a{font-size: .9em; letter-spacing: -1px;}*/

.pac{
	border: #FFBCD0 5px solid;
	padding: .5em 1em;
	margin-top: 1em;
}
.pac h4{background:linear-gradient(transparent 80%, #FFCDDA 80%);margin-top: 0!important;}
.pac a{	color: #FF0054;}
.pac .pamphlet{margin-top: 0!important;}
.add{
    font-size: 0.85em;
    display: block;
	padding: .5em 0; 
	margin-left: 0;
} 
.pamphlet,.image{position: relative;}
/*.pamphlet::before,
.image::before{
	content: '\f00e';
	content:url(../img/magnifying-glass-plus-solid.svg);
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size: 2em;
	color: #F94500;
 text-shadow    : 
       2px  2px 1px rgba(255,255,255,0.50),
      -2px  2px 1px rgba(255,255,255,0.50),
       2px -2px 1px rgba(255,255,255,0.50),
      -2px -2px 1px rgba(255,255,255,0.50),
       2px  0px 1px rgba(255,255,255,0.50),
       0px  2px 1px rgba(255,255,255,0.50),
      -2px  0px 1px rgba(255,255,255,0.50),
       0px -2px 1px rgba(255,255,255,0.50);
	position: absolute;
	right: .5em;
	top: .5em;
}*/
.pamphlet::before,
.image::before{
	content: url("../img/magnifying-glass-plus-solid.svg");
	width: 2em;
	position: absolute;
	right: .5em;
	top: .5em;
}
.link_other{	margin-top: 1.5em;}
.link_other .btn{	margin-top:-.5em;}
/*--------------------------------------------------------------------- 重要なお知らせ */
.attn{
	border: #FF0004 4px double;
	padding: .5em;
	font-size: .85em;
	margin-top: 1em;
}
.attn strong{
	color: #FF0004;
	display: block;
}
/*---------------------------------------------------------------------------- 日程 */
.date{
	border: #FF0004 4px double;
	padding: .3em 1em;
	margin-top: 1em;
	color: #FC3E00;
	width: -moz-fit-content;
	width: fit-content;
	text-align: center; 
	font-size: 1.2em;
	font-weight: bold;
	background: #FFF0EB;
}

/*---------------------------------------------------------------------- comingsoon */
.comingsoon{
	background: rgba(229,229,229,1.00);	
	padding: 2em 1.5em 2em;
}
.comingsoon h3{
	margin: auto;
	text-align: center;
	font-size: 8em;
	padding: .5em 0;
	transform: rotate(-10deg);
	line-height: 2;
}
.comingsoon h3 span{	
	display: block;
	transform: rotate(+10deg);
	font-size: .25em;
}
.box .comingsoon{
	background: rgba(229,229,229,1.00);	
	padding-top: 3%;
}
.box .comingsoon p{
	margin: auto;
	text-align: center;
	font-size: 3em;
	font-weight: 900;
	padding: .5em 0;
	  animation: 3s fuwafuwa infinite;
	transform: rotate(-5deg);
	line-height: 2;
}
.box .comingsoon p span{	
	display: block;
	transform: rotate(+5deg);
	font-size: .4em;
}
/*--@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0);
	  
  }
  50% {
    transform: translateY(-40px);
	  
  }
}*/

/*------------------------------------------------------------ mv */

.mv{
	border-top: dotted #8adfff 5px;
/*	border-bottom: dotted #8adfff 5px;*/
	margin: 5em 0;
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;
}
.mv .flex_box{
	justify-content: center;
	align-items: center; 
}
.mv .flex_box dl{
	width: calc(100%-600px -1em);
	text-align: center;
	margin-right: 1em;
}
.mv .flex_box dd{
	text-align: center;
	margin-top: 2em;
}
.mv .flex_box dd a{color: #e5007f; text-decoration: underline;}
.mv .flex_box p{
	max-width: 500px;
	flex: 1;
}
.mv h3{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: min(2.8vw, 35px);
	color: #e5007f;
	font-weight: 900;
	text-align: center;
	padding:1em 0 .5em; 
	max-width: 25em;
	margin: auto;
	text-shadow    : 
       3px  3px 2px #ffffff,
      -3px  3px 2px #ffffff,
       3px -3px 2px #ffffff,
      -3px -3px 2px #ffffff,
       3px  0px 2px #ffffff,
       0px  3px 2px #ffffff,
      -3px  0px 2px #ffffff,
       0px -3px 2px #ffffff; 	
}
/*
.mv li{text-align: center; 	margin-bottom: .5em;}
.mv li a{
	padding: 0 1em;
	border-bottom: 1px solid #38389C;
	color: #38389C;
}
.mv h4 img{ max-width: 350px!important;}
.mv h4{
	border-top: dotted #FFBAF3 3px;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 1.2em;
	color: #FF009E;
	font-weight: 900;
	text-align: center;
	padding:1em 0 .5em; 
	margin: 2em auto .5em;
	text-shadow    : 
       3px  3px 2px #ffffff,
      -3px  3px 2px #ffffff,
       3px -3px 2px #ffffff,
      -3px -3px 2px #ffffff,
       3px  0px 2px #ffffff,
       0px  3px 2px #ffffff,
      -3px  0px 2px #ffffff,
       0px -3px 2px #ffffff; 	
}
.mv h4 + 
.mv ul li a{
	border-bottom: 1px solid #FF5EC1;
	color: #FF5EC1;
}*/

.mv p:last-child{
	padding: 5em 0 1em;
	text-align: center;
	font-size: 0.9em;
	font-weight: 600;
}
/*----------------------------------------------------------------- aichi */

.aichi h3{
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	font-size: min(5.5vw, 28px);
	color: #F55153;
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;
	margin-bottom: 1em;
}
.aichi ul{
	flex-wrap: wrap;
	justify-content: center;
}
.aichi ul li{ 
	width: calc(100% / 3 - 10px);
	margin: 5px;
	max-width: 320px;
	border: 3px #fff solid;
}
.aichi ul li:hover{opacity: 0.7;} 
/*------------------------------------------------------ キャンペーン終了後*/
.end_coment{font-size: min(3.5vw,47px);}
.end_btnbox{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.end_btnbox li{
	flex:calc(100% / 4 - .4em);
	margin: .7em .2em;
	max-width:25%;
	display: flex;
	flex-direction: column;
	position: relative;/*相対配置*/
}
.end_btnbox li:after {/*画像を絶対配置*/
  position: absolute;
  content: '';
  top: 15vw;
  left:88%;
  display: block;
  width: 100%;/*幅*/
  height: 3em;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
  background-image: url(../img/click.png);
  background-size: contain;
  background-repeat: no-repeat;/*画像を繰り返さない*/
 }

.end_btnbox li p:hover {
	transform:scale(1.05,1.02);
	transition:.5s all;
}
.end_btnbox h3{	
	font-size: min(2.3vw,1.2em);
	background: #BDEAFD;
	color: #000;
	padding: 5px 1.2em 5px .5em;
	position: relative;
}
.end_btnbox h3 img{
	width: 1.5em!important; 
	position: absolute;
	right: .5em;
}
.end_btnbox h3 img:hover {	
	opacity: 0.7;
	transition:.5s all;
}
#btnList button{position: relative;}
#btnList .icon_li{
	display: flex;
	position: absolute;
	bottom:0.3em;
	left:0.2em;
}
#btnList .icon_li img{ width: 1.5em;}

/*
.btnbox .box h3 .link{
	position: absolute;
	right: 3px;
	top:.5em;
}
.btnbox .box h3 .fa-solid,.fa-brands{
	font-size: 2vw;
}
.btnbox .box h3 img{width: 80%!important;}
.btnbox .box h3 small{
	font-size: 0.7em;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 0.6;
}
.btnbox .box p a{
	position: relative;
}
.btnbox .box p a::before{
	font-family: 'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック';
	content: "メッセージはこちら";
	font-weight: bold;
	background: rgba(255,228,251,0.7);
	font-size:.8em;
	box-shadow: 2px 2px 5px #F58CE6;
	transform: rotate(-6deg);
	padding: .3em .5em;
	color: #FF49D6;
	position: absolute;
	bottom: 1em;
	left:.5em;
}*/
/*.btnbox #meitetsukyosho.box h3 .link{	background: blue; 	top:-2.2vw;	 width: 100%;}	*/
/*.fa-arrow-up-right-from-square{color: #fff;}*/
/*.btnbox #meitetsukyosho h3.flexbox{		flex-diretion: row;	}*/
.survey{
	margin-bottom: 5em;
	background: rgba(255,255,255,0.70);	
	padding: .5em 0;
	font-weight: 600;
}
.survey dd{
	text-align: center;
	margin-bottom: 1em;
}
.survey dt,.survey dd{
	text-align: center;
	margin-bottom: 1em;
	padding: .5em;
}
.survey dt a{
	padding: .5em 1em;
	background: #E96500;
	color: #fff;
	margin: 1em auto;
	font-size: min(4vw,1em);
}
.message{
	text-align: center;
	font-size:min(3vw,2em);
	font-weight: 900;
	margin-bottom: .8em;
	color: #E96500;
  text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;		
}

/************************************************************
					★min770px－max999px
************************************************************/
@media screen /*and (min-width: 770px) */and (max-width: 1000px){
.sp{display: block;}
.pc{display: none;}		
.w1000,.w1200{	padding: 0 2%;}	
h1{
	font-size: min(4.5vw,40px);
	line-height: 1.2;
	padding-top: .3em;
}
	
.mv .flex_box dl{	flex:1;}
.mv .flex_box dd{	text-align: left;}
.mv .flex_box dd br{display: none;}

/*-------------------------------------------------------------------------------- comingsoon */
.comingsoon h3 {
	width: 90%;
	font-size: min(20vw,60px);
/*	line-height: 1.3;*/
}
	
/*23/10/31 キャンペーン終了後*/
.btnbox .box h3{
	font-size: 2vw;
}
.end_coment{font-size: 6vw; }	
.collabo-con .pamphlet .flex_box li{width: 48%;}

.end_btnbox li{
	flex:calc(100% / 3 - .4em);
	margin: .7em .2em;
	max-width:33%;
}
/*------------------------------------------------------------------------------------------------------------ nav の場合*/
nav{	width: auto;}	
	
}


/************************************************************
					★タブレット対応
************************************************************/
@media screen /*and (min-width:600px) */and (max-width:769px)  {

	
.tb{display: block;}
/*--------------------パンくず */
#pankuzu{ display: none;}
/*--------------------------------------------------- twitter */
.twitter{
	text-align: left;
	margin:0 0 0 1em;
}
.twitter p{
	background: #fff;	
	padding: 5px 5px 0;
}

/*------------------------------------------------------------------------------------------------------------ content */
.content h2{	font-size: 4.5vw;}
.content h2 + p br{display: none;}	
.content h2 + p,.content .attention{text-align: left;}

.icon_info{
	margin-bottom: 1em;
	display: block;
}
.icon_info ul{
	background: #fff;
	justify-content: space-between;  
}

/*------------------------------------------------------------------------------------------------------------ box */
.box h3{
	font-size:1.95vw;
	padding: 5px .5em;
	color: #fff;
	justify-content: space-between;
	align-items: flex-end;
	
/*	min-height: 6em!important;*/
}
/*#meitetsukyosho h3.flexbox{		flex-direction: column-reverse;	}*/
	.box > dl.flex_box{display: block;}
/*---------------------------------------------------------------------------- mv */
	.mv{padding-bottom: 2em;}	
	#FFC20B
.mv p{font-size: 1em;}
.mv li a{font-size: 0.9em;}

	
/*23/10/31 キャンペーン終了後*/
.btnbox .box{
	flex:calc(100% / 2 - 1em);
	max-width:50%;
}
#meitetsukyosho .btnbox .box h3.flexbox{	color: blue;	}	
	
/*23/10/31 キャンペーン終了後*/
.btnbox .box	{position: relative;}		
.btnbox .box h3{	font-size: 1.9vw; }		
.btnbox .box a::before{	display: none;}
.message{	font-size:5.6vw;}
	
.map .secchi{text-align: left; }	
}
	
/************************************************************
						★スマホ対応
************************************************************/
@media screen and (max-width:599px)  {

.end_only{display: block;}	
.sp_only{display: block;}
.sp_none{display: none;}	
/*------------------------------------------------------------------------------------ content */
h1{	font-size: 5vw;}
.content{	padding: 1.5em 0;}	
.content h2{	font-size: 6vw;}

.content h2 + p{font-size: .95em; margin: .8em 0 0;}

#container .icon {	width: 2em;}	
.card.pamphlet.flex_box li{ width: 48.5%;}
	
	
/*--------------------------------------------------- menu */
#menu .page-nav li{width: 100%; margin: auto;}
#menu .page-nav li p{font-size: 3.55vw;}	
#menu .page-nav .menu-flex .small {
  font-size: 12px;
}
	
/*----------------------------------------icon_infox */
.icon_info{font-size: .8em;}
.icon_info ul{	display: block;	}

/*---------------------------------------------------------------------------- box */
.box{
	padding-top: 60px;
	margin: 1em 0;
	background: linear-gradient(0deg, #fff calc(100% - 60px), rgba(255,255,255,0.00) 60px);
}
.box h3{	
	font-size: 1.1em;
	line-height: 1.3;
	flex-direction: column-reverse;
}
.box h3 strong{
	width: 100%;
	font-size: 4.3vw;
}	
.detail{ 
	font-size: .9em;
	padding: 0 .5em .5em;	
	}
.detail h4{ 
	background:#FFFEDC ;
	margin: 1em 0 .2em 2.1em;
	text-indent: -2.1em;
	padding: 0 .3em;
	line-height: 1.2;
	width: 90%;
}
.pac h4{background:#FFCDDA; margin: 1em 0 .2em; text-indent: 0em;}
#container .detail h4 .icon {	margin-right: .2em;	}		
/*	
.detail dt{margin-top: .3em; font-weight: 600;}*/
.detail dd{/*line-height: 1.2; */margin-left:.5em;}

/*.box dd li{ 	margin-bottom: 1em;}*/
.box .btn a{
	display: block;
	text-align: center;
}
.collabo-con.flex_box,.detail.flex_box{display: block;}
.collabo-con .image{	margin: .5em 0 0 0em;}	
.detail.flex_box .image{	margin: 2em 0 0 0em;}
.collabo-con.flex_box .pamphlet{	margin: 2em 0 0 0em;}

/*---------------------------------------------------------------------- comingsoon */
/*.comingsoon{
	background: rgba(229,229,229,1.00);	
	padding: 2em 1.5em 2em;
}
.comingsoon h3{
	margin: auto;
	text-align: center;
	font-size: 8em;
	padding: .5em 0;
	transform: rotate(-10deg);
	line-height: 2;
}
.comingsoon h3 span{	
	display: block;
	transform: rotate(+10deg);
	font-size: .25em;
}
.box .comingsoon{
	background: rgba(229,229,229,1.00);	
	padding-top: 3%;
}
.box .comingsoon p{
	margin: auto;
	text-align: center;
	font-size: 3em;
	font-weight: 900;
	padding: .5em 0;
	  animation: 3s fuwafuwa infinite;
	transform: rotate(-5deg);
	line-height: 2;
}
.box .comingsoon p span{	
	display: block;
	transform: rotate(+5deg);
	font-size: .4em;
}*/

/*------------------------------------------------------------ mv */

.mv{
	margin: 2em 0;
	padding-top: 2em;
}
.mv .flex_box{	display: block;}
.mv .flex_box dd{
	text-align: justify;
	margin-top: 1em;
}
.mv .flex_box dd a{font-size: 4.2vw;}
.mv h3{	font-size: 5.3vw;}
.mv p:last-child{	padding: 1em 0 3em; }

	
/*23/10/31 キャンペーン終了後*/
.btnbox .box	{position: relative;}		
.btnbox .box h3{line-height: 1.2; align-items: center;}		
.btnbox .box h3 strong{	font-size:2.9vw; padding-left: 1.9em;}	
.btnbox .box h3 strong.one{padding-bottom: .5em;}	
.btnbox .box h3 .link{
	position: absolute;
	left: 3px;
	bottom:3px;
}
.btnbox .box h3 img{
	position: absolute;
	top:70px;
	left: 2px;
	
}	
.btnbox .box h3 .fa-solid,.fa-brands{
	font-size: 5vw;
	color: #F04A00;
}

	.end_only::after{
		content: "　";
	}
.end_btnbox li{
	flex:calc(100% / 2 - .4em);
	margin: .7em .2em;
	max-width:49%;
}
/*---------------------------------------------------------------------------------- comingsoon */
.comingsoon h3 {	line-height: 1;}
.comingsoon h3 span:first-child{margin-top: 2em;}
/*--------------------------------------------------------------------------- nav の場合*/

.my-parts ul {
	list-style: none;
	margin: 0;
	padding: 0;
	
	display: flex;
			transition: 1.0s ;
}
.my-parts ul::after {
	content: "";
	display: block;
	clear: both;
}
.my-parts ul > li {
/*	float: left;*/
	position: relative;
	flex: 1;
	margin-left: 3px;
	box-sizing: border-box;
	font-weight: 800;
}
.my-parts ul > li:first-child {margin-left: 0;}
.my-parts ul li a {
    padding: .4em;
    font-size: 4vw;
}
/*.my-parts ul li a:hover {
	background: #F4E409;
	border-radius: 15px 15px 0 0;
}*/
.my-parts ul > li ul {
/*	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;*/
	width: 400%;
}
.nav-inner2 {	left: -100%!important;}
.nav-inner3 {	left: -200%!important;}	
.nav-inner4 {	left: -300%!important;}		


/*.my-parts ul > li li {
	float: none;
	width: 100%;
	margin: 2px 0;
}
.my-parts ul > li li a{
	background: rgba(255,255,255,0.90);
	padding: .3em .8em;	
	font-size: 1em;
	color: #FF6700;
	font-weight: 600;
	border: none;	
	border-radius: 0 ;
	  text-shadow:none;
}
.my-parts ul > li li a:hover{
	border-radius: 0;
}
.my-parts ul li:hover ul {
	display: block;


}	*/
	
/*------------------------------------------------------------------------------------------------------------ aichi */
/*
.aichi h3{
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	font-size: 2em;
	color: #F55153;
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;
	margin-bottom: 1em;
}
.aichi ul{
	flex-wrap: wrap;
	justify-content: center;
}*/
.aichi ul li{ 	width: calc(100% / 2 - 10px);}

}

.x-news{
	margin: 5em auto;
	background: rgba(138,223,255,0.30);
	padding: 2em;
}
.x-news li a{display: block;}
.x-news li a:hover{opacity: .7; border: 5px solid #000;}
.x-news li span::before{
	content: '';/*何も入れない*/
	display: inline-block;
	width:1.5em;/*画像の幅*/
	height: 1.5em;/*画像の高さ*/
	background-image: url(../img/x-twitter-brands-solid_bk.svg);
	background-size: contain;
	vertical-align: middle;
	margin-right: .5em;
}
.slide-animation {
    display: flex;
    gap: 10px;
    overflow: hidden;
	
}
 
.slide-animation li {
    width: 500px;
}
 
.slide-contents {
	margin: auto;
	
    display: flex;
	justify-content: center; 
    gap: 10px;
    animation: loopAnimation 50s linear infinite;
}
.noslide{    animation: none;}

@keyframes loopAnimation {
    0% {
    transform: translate(0%);
    }
    100% {
    transform: translate(-100%);
    }
}
/************************************************************
						★スマホ対応
************************************************************/
@media screen and (max-width:599px)  {
.x-news{
	margin: 5em auto;
	padding: 2em .5em;
}
.slide-animation li {    width: 200px;}	
}
/*------------------------------------------------------------------------------------------------------------ passport */
.passport{
	max-width: 1000px;
	margin: auto;
	display: flex;
	background: rgba(255,255,255,0.70);
	justify-content: center; 
	align-items: center; 
	padding: .5em 0;
}
.passport dl{
	flex: 4;
	max-width: 37em;
	text-align: center;
}
.passport p{
	flex: 1;
	max-width: 15em;
}

.passport dl dt{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 1.5em;
	font-weight: 900;
	color: #FF4394;
	padding: .5em;
	text-shadow    : 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;	
}
.passport dl dd{
	text-align: center;
	font-weight: bold;
}
.passport dl dd a{
	background: #2676C8;
	color: #fff;
	padding: .5em 1em;
	display: inline-block;
	border-radius: 5px;
	margin-bottom: .8em;
}
.passport dl dd:nth-child(3){color: rgba(233,26,74,1.00);}
.passport dl dd:nth-child(5){font-size: .8em;}
.passport dl dd.flex_box{
	justify-content: center;
	align-items: center;
}

.passport dl dd.flex_box span{
	background: #FFE6F0;
	color: #FF4394;;
/*	border: #FCA7CB dotted 3px;*/
	margin: .5em;
	border-radius: 50px;
	padding: .5em 2em;
	width: 15em;
	line-height: 1;
}
.passport dl dd.flex_box span small{font-size: .7em;}
.passport dl dd.flex_box span:first-child{padding: 1.2em;}

.my-parts ul li a {
    font-size: 0.8em;
	text-shadow    : none;	
}


/************************************************************
						★スマホ対応
************************************************************/
@media screen and (max-width:750px)  {
.passport{	
	display: block; 
}
.passport dl{
	max-width: 100%;

}
.passport p{
	max-width: 10em;
	margin: 1em auto;
}
.passport dl dt{	font-size: 5vw;}
}




/************************************************************
						過去実績
************************************************************/
/*全体*/
.hidden_box {
    margin: 4em 0;/*前後の余白*/
    padding: 0;
	text-align: center;
}

/*ボタン装飾*/
.hidden_box label {
    padding: 10px 10%;
	border-radius: 2em;
    font-weight: bold;
    border: solid 2px #fff;
	background: #2A5AED;
	color: #fff;
    cursor :pointer;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: min(3.5vw,1.3em);
}

/*ボタンホバー時*/
.hidden_box label:hover {
    background: #4189DF;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}
