@font-face {
	font-family: 'Noto Serif TC';
	font-style: normal;
	font-weight: 400;
	src: url('../../../fonts/NotoSerifCJKtc-Regular.otf') format('otf');
}

@font-face {
	font-family: 'Noto Serif TC';
	font-style: normal;
	font-weight: 700;
	src: url('../../../fonts/NotoSerifCJKtc-Bold.otf') format('otf');
}

@font-face {
	font-family: 'Noto Sans TC';
	font-style: normal;
	font-weight: 400;
	src: url('../../../fonts/NotoSansCJKtc-Regular.otf') format('otf');
}

@font-face {
	font-family: 'Noto Sans TC';
	font-style: normal;
	font-weight: 400;
	src: url('../../../fonts/NotoSansCJKtc-Bold.otf') format('otf');
}

@charset "utf-8";

/* CSS INFORMATION -====================================================

File name : index.css

Description : TOPページ

===================================================================== */



/* =====================================================================

*    0. 共通・大枠

* =================================================================== */

.conInner {

	padding-top: 4.6875%;

}



@media screen and (min-width:1024px){

	.conInner {

		padding-top: 40px;

		text-align: center;

		letter-spacing: -.40em;

	}



	.conInner > * {

		letter-spacing: normal;

		vertical-align: top;

	}

}



/* =====================================================================

*    1. メインビジュアル

* =================================================================== */

#visual_slider {

	width:100%;
	height:100%;
	min-height:205px;
	overflow:hidden;
	position:relative;
}

.slide-wrap	{
	width:100%;
	height: min(63.014vw, 644px);
	position: relative;
}
.slide-wrap::before	{
	position: absolute;
	content: "";
	top: min(1.957vw , 20px);
	left: 50%;
	transform: translateX(-50%);
	width: min(29.354vw, 300px);
	height: min(29.354vw, 300px);
	background: url(../images/index/img_h1_sp.png) no-repeat center top;
	background-size: contain;
}
.slide-wrap img{
	object-fit: cover;
	height: 100%;
}


/*mainvisual*/


.frontPage .swiper-pagination {
  position: relative;
  margin-top: 20px;
  margin-bottom: 4.16vw;
}

.frontPage .swiper-pagination .swiper-pagination-bullet:not(:last-of-type) {
  margin-right: 24px;
}

.frontPage .swiper-pagination-bullet {
  background: #787e85;
  width: 10px;
  height: 10px;
  opacity: 1;
}

.frontPage .swiper-pagination-bullet-active {
  background: #85ccc1;
}

.mv {
  width: 100%;
}

.mv-slide {
  height: 100%;
}

.mv-slide-item {
  width: 100%;
  /* height: 100%; */
  overflow: hidden;
  position: relative;
  display: block;
  /* height: min(37.604vw, 722px); */
  height: 37.604vw;
  background:  url(../images/18newTop/palm1bg.jpg) no-repeat;
  background-size: auto 120%;
  background-position: 50% 12%;
}
@media only screen and (max-width: 900px) {
  .mv-slide-item {
    height: 100vw;
  }
}
.mv-slide-item::before{
  position: absolute;
  content: "";
  top: 1.8vw;
  left: 15%;
  background:  url(../images/18newTop/nintendoswitch_c.svg) no-repeat;
  background-size: contain;
  width: 4vw;
  height: 4vw;
}
@media only screen and (max-width: 900px) {
  .mv-slide-item::before{
    width: 10vw;
    height: 10vw;
    left: 2%;
  }
}
.mv-slide-item .main-logo{
  position: absolute;
  top:12vw;
  left: 0vw; margin-left: calc(50vw - 22.24vw * .9 / 2);
  width: calc(22.24vw * .9);
  height: calc(25.573vw * .9);
}
@media only screen and (max-width: 900px) {
  .mv-slide-item .main-logo{
    top: initial;
    bottom: 29px;
    left: 50%; margin-left: 0;
    transform: translateX(-50%);
    width: calc(47.444vw * .96);
    height: calc(54.556vw * .96);
  }
.mv-slide-item{
  background:  url(../images/18newTop/palm1bg-sp2.jpg) no-repeat;
  background-size: auto 160%;
  background-position: 50% 0%;}
}
.mv-slide-item img {
  width: 100%;
}

.releaseDate {
	width: 100%;
	/* height: 0; */
	/* padding-top: 10.9375%; */
	/* background: url(../images/index/img_releaseDate_sp.jpg) no-repeat center top; */
	/* overflow: hidden; */
	/* text-decoration: none;
	background-size: 100% auto;
	-o-background-size: 100% auto;
	-ms-background-size: 100% auto;
	-moz-background-size: 100% auto;
	-webkit-background-size: 100% auto; */
}
.releaseDate dl {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	background: #2f333f;
	color: #d3d6d4;
	font-size: min(3.935vw, 25px);
	padding: min(1.478vw, 10px) min(3.914vw, 40px) min(1.968vw, 15px);
	line-height: 1;
}
.releaseDate dt {
	position: relative;
	padding: min(.978vw, 10px) 0 0 min(1.968vw, 15px);
}
.releaseDate dt:before {
	position: absolute;
	content: "";
	width: 1px;
	height: 100%;
	background: rgba(255, 255, 255, .8);
	top: 0;
	left: 0;
}
.releaseDate dd {
	font-size: min(6.914vw, 40px);
	font-weight: 500;
	color: #e7c805;
	letter-spacing: .05em;
}

.attentionText {
	width: 90.625%;
	margin-top: 1.5625%;
	margin-left: auto;
	margin-right: auto;
	text-align: right;
}

.buyLink {
	text-align: center;
	letter-spacing: -.40em;
	margin-top: 4.1875%;
}

.buyLink li {
	width: 42.1875%;
	display: inline-block;
	letter-spacing: normal;
	margin-left: 1.5625%;
	margin-right: 1.5625%;
}

@media screen and (min-width:1024px){
	#visual_slider {
		width:100%;
		height:100%;
		min-height:600px;
		overflow:hidden;
		position:relative;
	}

	.slide-wrap	{
		width:1500px;/* 画像width*枚数 */
		height:600px;
		position:absolute;
		left:50%;
		margin-left:-750px;/* 画像width+画像width/2 */
	}

	.bx-controls {
		position:absolute;
		width:1500px;
		z-index:100;
		bottom: 0;
		left:50%;
		margin-left:-750px;
	}

	.releaseDate {
		/* height: 60px; */
		/* padding-top: 0; */
		/* background: none; */
		/* font-size: 0;
		line-height: 0; */
		background-color: #2f333f;
		width: 100%;
	}
	.releaseDate dl{
		text-align: center;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 1rem 1rem .9rem;
		font-family: serif;
		width: 900px;
		margin: 0 auto;
		padding: 10px 40px;
	}
	.releaseDate dt{
		color: rgba(255, 255, 255, .8);
		font-size: 1.64rem;
	}
	/* .releaseDate dt:before {
		position: absolute;
		content: "";
		width: .15rem;
		height: 100%;
		background: rgba(255, 255, 255, .8);
		top: 0;
		left: 0;
	} */
	.releaseDate dd{
		font-size: 2.6rem;
	}

	.attentionText {
		width: 940px;
		margin-top: 10px;
		margin-left: auto;
		margin-right: auto;
		text-align: right;
	}

	.buyLink {
		margin-top: 55px;
	}

	.buyLink li {
		width: auto;
		margin-left: 15px;
		margin-right: 15px;
	}
}

/* =====================================================================

*    2. メインコンテンツ

* =================================================================== */

@media screen and (min-width:1024px){

	#mainContents {

		margin-bottom: 45px;

	}

}


#bnrArea {

	width: 90.625%;

	box-sizing: border-box;

	margin-left: auto;

	margin-right: auto;

	margin-bottom: 3.25%;

}

#bnrArea img{

	width: 100%;

}

#bnrArea img.u-pc-only {
	display: none;
}

#bnrArea img.u-sp-only {
	display: block;
}

@media (min-width: 1024px) {
	#bnrArea img.u-pc-only {
		display: block;
	}
	#bnrArea img.u-sp-only {
		display: none;
	}

}

@media screen and (min-width:1024px){

	#bnrArea {

		width: 640px;

	}
}

/* 新着ニュース */

#newsList {

	width: 90.625%;

	box-sizing: border-box;

	margin-left: auto;

	margin-right: auto;

	margin-bottom: 6.25%;

}



#newsList h1 {

	width: 100%;

	height: 0;

	padding-top: 10.3448%;

	background: url(../images/index/img_news_h1_sp.jpg) no-repeat center top, #f6d700;

	overflow: hidden;

	text-decoration: none;

	background-size: auto 100%;

	-o-background-size: auto 100%;

	-ms-background-size: auto 100%;

	-moz-background-size: auto 100%;

	-webkit-background-size: auto 100%;

}



#newsList dl {

	width: 100%;

	height: 12em;

	background-color: #FFF;

	border-left: 1px solid #2f333f;

	border-right: 1px solid #2f333f;

	border-bottom: 1px solid #2f333f;

	box-sizing: border-box;

	padding: 3.45%;

	overflow: auto;

}



#newsList dl dt,

#newsList dl dd {

	padding-left: 4.5%;

	padding-right: 4.5%;

}



#newsList dl dt:not(:first-child) {

	padding-top: 3.735%;

}



#newsList dl dt .new {

	color: #bf372e;

	padding-left: 1em;

}



#newsList dl dd:not(:last-child) {

	padding-bottom: 3.735%;

	border-bottom: 1px solid #f8df33;

}



#newsList dl dd a {

	color: #2f333f;

}



@media screen and (min-width:1024px){

	#newsList {

		width: 464px;

		display: inline-block;

		box-sizing: border-box;

		margin-left: 6px;

		margin-right: 6px;

		margin-bottom: 18px;

	}



	#newsList h1 {

		height: 40px;

		padding-top: 0;

		background: #f6d700;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	#newsList h1:before {

		content: url(../images/index/img_news_h1_pc.jpg);

		display: inline-block;

	}



	#newsList dl {

		height: 272px;

		padding: 15px 19px;

		text-align: left;

	}



	#newsList dl dt {

		padding-left: 10px;

		padding-right: 10px;

		padding-bottom: 10px;

	}



	#newsList dl dd {

		padding-left: 20px;

		padding-right: 20px;

	}



	#newsList dl dt:not(:first-child) {

		padding-top: 10px;

	}



	#newsList dl dd:not(:last-child) {

		padding-bottom: 10px;

	}

}




/* 3. プロモーション映像 */

.conInner .movie {
	width: 90.625%;
	background-color: #777e86;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 6.25%;
}
.conInner .movie .movie-thumb-caption {
	color: #fff;
	font-size: min(3.157vw, 20px);
	font-weight: 300;
	padding: min(.6rem, 8px) min(.6rem, 8px) min(.8rem, 10px);
	text-align: center;
}



@media screen and (min-width:1024px){

	.conInner .movie {

		width: 464px;

		display: inline-block;

		box-sizing: border-box;

		margin-left: 6px;

		margin-right: 6px;

		margin-bottom: 30px;

		padding-top: 7px;

		padding-left: 7px;

		padding-right: 7px;

	}



	#wrapper .conInner .movie img {

		width: 100%;

	}



	.conInner #movie01.movie .text {

		height: 40px;

		padding-top: 0;

		background: #777e86;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	.conInner #movie01.movie .text:before {

		content: url(../images/index/img_movie_text_pc.jpg);

		display: inline-block;

	}



	.conInner #movie02.movie .text {

		height: 40px;

		padding-top: 0;

		background: #777e86;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	.conInner #movie02.movie .text:before {

		content: url(../images/index/img_movie_text02_pc.jpg);

		display: inline-block;

	}

	

	.conInner #movie03.movie .text {

		height: 40px;

		padding-top: 0;

		background: #777e86;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	.conInner #movie03.movie .text:before {

		content: url(../images/index/img_movie_text04_pc.jpg);

		display: inline-block;

	}	

}



/* メニュー共通 */

.innerMenu {

	width: 90.625%;

	box-sizing: border-box;

	margin-left: auto;

	margin-right: auto;

	margin-bottom: 6.25%;

	border-bottom: 1px solid #f6d700;

	position:relative;

}



.innerMenu .text {

	width: 100%;

	height: 0;

	padding-top: 8.276%;

	overflow: hidden;

	text-decoration: none;

}




.innerMenu.newIcon:before {

	content:"";

	background: url(../images/common/newIcon.png) 0 0 no-repeat;

	background-size:contain;

	width:9.655%;

	height:0;

	padding-bottom:100%;

	position:absolute;

	top:0;

	left:0;

}





@media screen and (min-width:1024px){
  .menuBox{
  	display: flex;
  	justify-content: center;
  	flex-wrap: wrap;
  }

	.innerMenu {

		width: 464px;

		box-sizing: border-box;

		margin-left: 6px;

		margin-right: 6px;

		margin-bottom: 10px;

		/*display: inline-block;*/

		border-bottom: 2px solid #f6d700;

		position:relative;

	}



	#wrapper .innerMenu img {

		width: 100%;

	}



	#wrapper .innerMenu a:hover img,
	#wrapper .bnrArea a:hover img{

		opacity: 0.7;

	}



.innerMenu.newIcon:before {

	content:url(../images/common/newIcon.png);

	position:absolute;

	top:0;

	left:0;

}



}



/* 『パルマ』ってどんなゲーム？ */

#whats .text {

	background: url(../images/index/img_whats_text_sp.jpg) no-repeat center top;

	background-size: auto 100%;

	-o-background-size: auto 100%;

	-ms-background-size: auto 100%;

	-moz-background-size: auto 100%;

	-webkit-background-size: auto 100%;

}



@media screen and (min-width:1024px){

	#whats .text {

		height: 38px;

		padding-top: 0;

		background: none;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	#whats .text:before {

		content: url(../images/index/img_whats_text_pc.jpg);

		display: inline-block;

	}

}



/* キャラクター */

#character .text {

	background: url(../images/index/img_character_text_sp.jpg) no-repeat center top;

	background-size: auto 100%;

	-o-background-size: auto 100%;

	-ms-background-size: auto 100%;

	-moz-background-size: auto 100%;

	-webkit-background-size: auto 100%;

}



@media screen and (min-width:1024px){

	#character .text {

		height: 38px;

		padding-top: 0;

		background: none;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	#character .text:before {

		content: url(../images/index/img_character_text_pc.jpg);

		display: inline-block;

	}

}



/* ストーリー */

#story .text {

	background: url(../images/index/img_story_text_sp.jpg) no-repeat center top;

	background-size: auto 100%;

	-o-background-size: auto 100%;

	-ms-background-size: auto 100%;

	-moz-background-size: auto 100%;

	-webkit-background-size: auto 100%;

}





@media screen and (min-width:1024px){

	#story .text {

		height: 38px;

		padding-top: 0;

		background: none;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	#story .text:before {

		content: url(../images/index/img_story_text_pc.jpg);

		display: inline-block;

	}

}



/* 性格診断 */

#personality .text {

	background: url(../images/index/img_personality_text_sp.jpg) no-repeat center top;

	background-size: auto 100%;

	-o-background-size: auto 100%;

	-ms-background-size: auto 100%;

	-moz-background-size: auto 100%;

	-webkit-background-size: auto 100%;

}



@media screen and (min-width:1024px){

	#personality .text {

		height: 38px;

		padding-top: 0;

		background: none;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	#personality .text:before {

		content: url(../images/index/img_personality_text_pc.jpg);

		display: inline-block;

	}

}



/* 製品情報 */

#product .text {

	background: url(../images/index/img_product_text_sp.jpg) no-repeat center top;

	background-size: auto 100%;

	-o-background-size: auto 100%;

	-ms-background-size: auto 100%;

	-moz-background-size: auto 100%;

	-webkit-background-size: auto 100%;

}



@media screen and (min-width:1024px){

	#product .text {

		height: 38px;

		padding-top: 0;

		background: none;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	#product .text:before {

		content: url(../images/index/img_product_text_pc.jpg);

		display: inline-block;

	}

}



/* facebook */

#facebook .text {

	background: url(../images/index/img_facebook_text_sp.jpg) no-repeat center top;

	background-size: auto 100%;

	-o-background-size: auto 100%;

	-ms-background-size: auto 100%;

	-moz-background-size: auto 100%;

	-webkit-background-size: auto 100%;

}



@media screen and (min-width:1024px){

	#facebook .text {

		height: 38px;

		padding-top: 0;

		background: none;

		font-size: 0;

		line-height: 0;

		text-align: center;

	}



	#facebook .text:before {

		content: url(../images/index/img_facebook_text_pc.jpg);

		display: inline-block;

	}

}


/* ゲーム内ヘプル */

#help.innerMenu {

	border-bottom: 0;

}



#help.innerMenu img {

	padding-bottom: 0;

}



@media screen and (min-width:1024px){

	#help.innerMenu {

		margin-bottom: 0;

	}



	#wrapper #help.innerMenu img {

		padding-bottom: 0px;

	}

}



/* =====================================================================

*    3. プロモーションコンテンツ

* =================================================================== */

#promoContents {

	border-top: 1px solid #2f333f;

}



#promoContents .innerPromo {

	width: 90.625%;

	box-sizing: border-box;

	margin-left: auto;

	margin-right: auto;

	margin-bottom: 6.25%;

	border: 1px solid #2f333f;

}



@media screen and (min-width:1024px){

	#promoContents .conInner {

		padding-top: 50px;

	}



	#promoContents .innerPromo {

		width: 464px;

		box-sizing: border-box;

		margin-left: 6px;

		margin-right: 6px;

		margin-bottom: 50px;

		display: inline-block;

		border: 2px solid #2f333f;

	}



	#promoContents .innerPromo img {

		width: 100%;

	}

}




/* =====================================================================

*    4. 製品情報

* =================================================================== */

#productContents {

	border-top: 1px solid #2f333f;

	padding-top: 3.125%;

	text-align: center;

}



#productContents h1,

#productContents p {

	max-width: 580px;

	width: 90.625%;

	margin-left: auto;

	margin-right: auto;

}



#productContents h1 img,

#productContents p img {

	margin-left: auto;

	margin-right: auto;

}



#productContents p img {

	padding-bottom: 4.69%;

}

#productContents .productDetail {
	background-color: #2f333f;
	color: #f0f9f8;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	padding-top: 6.25%;

}

#productContents .productDetail .productDetailH1 {
  max-width: 580px;
  width: 90.625%;
  margin-left: auto;
	margin-right: auto;
	font-size: 140%;
	line-height: 1.4em;
	padding-bottom: 3.125%;
}

#productContents .productDetail dl {
	max-width: 580px;
	width: 90.625%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 4.69%;
}

#productContents .productDetail dl dt {
	padding-left: 1em;
	font-weight: bold;
	font-size: 110%;
	border-left: 3px solid #fff;
}

#productContents .productDetail dl dd {
	padding-left: 1em;
	line-height: 1.8;
}

#productContents .productDetail dl dd.ml0 {
	padding-left: 0;
}

#productContents .productDetail dl dd {
	width:100%;
	display: block;
	margin-bottom: 3%;
}

#productContents .productDetail dl dd.dspflx{
	display: flex;
	justify-content: space-around;
  align-items: stretch;
}

#productContents .productDetail dl dd.dspflx p{
 /* width:auto; */
 text-align: left;
}

#productContents .productDetail dl dd.dspflx .cero img{
	height:70px;
	width:auto;
}

#productContents .productDetail .btn_faq{
  color: #fff;
}

#productContents .productDetail .btn_faq:hover{
  color: #f6d700;
}
#productContents .productDetail dl dt,
#productContents .productDetail dl dd {
	width:100%;
	display: block;
	margin-bottom: 2%;
}

#productContents .productDetail dl dt:nth-last-child(4),
#productContents .productDetail dl dt:nth-last-child(2) {
	padding-bottom: 0;
}

@media screen and (min-width:1024px){
	#productContents {
		padding-top: 20px;
	}

	#productContents .productDetailH1 {
		width: 470px;
		height: auto;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 7px;
	}

	#productContents p {
		max-width: none;
		width: 600px;
		height: auto;
		margin-left: auto;
		margin-right: auto;
		padding-bottom: 22px;
	}

	#productContents p img {
		padding-bottom: 4.69%;
	}

	#productContents .productDetail {
		padding-top: 25px;
	}

	#productContents .productDetail .productDetailH1 {
		width: 400px;
		font-size: 140%;
		line-height: 1.4em;
		padding-bottom: 10px;
	}

	#productContents .productDetail dl {
		width: 400px;
		padding-bottom: 5px;
	}
	#productContents .productDetail dl:nth-child(3) {
		width: 90%;
		max-width: initial;
	}
	#productContents .productDetail dl:nth-child(3) dd.dspflx p {
		text-align: center;
		padding-top: 3rem;
	}

	/* #productContents .productDetail dl dt,
	#productContents .productDetail dl dd {
		padding-bottom: 10px;
	} */

  #productContents .productDetail dl dd.dspflx .cero{
		height:70px;
		width:auto;
  }

}



.attention{

	width: 90.625%;

	box-sizing: border-box;

	margin: 2em auto 0;

	padding: 1em;

	border: 1px solid #000;

	line-height: 1.6em;

	text-align: center;

}



.attention h2{

	font-size: 110%;

	font-weight: bold;

	margin-bottom: 0.5em;

}



.attention p+p{

	margin-top: 0.5em;

}



@media screen and (min-width:1024px){

	.attention {

		width: 960px;

		padding: 20px;

	}

}


/**********************************************************/
/*                  snsArea                              */
/**********************************************************/

.snsArea__ttl {
  text-align: center;
  font-size: 24px;
  margin-bottom: 1em;
}

@media only screen and (max-width: 1024px) {
  .snsArea__ttl {
    font-size: 3.33333vw;
  }
}

.snsBtns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
	margin-bottom: 4.69%;
}

.snsBtn {
  text-align: center;
	margin-right: 40px;

}

.snsBtn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 170px;
  height: 170px;
  /*border: 2px solid #2f333f;*/
  background: #2f333f;
  border-radius: 50%;
  -webkit-transition: .4s ease;
  transition: .4s ease;
  text-decoration: none;
}

.snsBtn:last-child{
	margin-right: 0;
}

@media only screen and (min-width: 1080px) {
  .snsBtn a:hover {
    background: #f6d700;
  }
}

@media only screen and (max-width: 1024px) {
  .snsBtn a {
    width: 20.37vw;
    height: 20.37vw;
  }
}

.snsBtn-inner {
  margin: 0 auto;
}

.snsBtn__image {
  margin: 0 auto;
}

.snsBtn__image  img{
  width:100%;
  margin: 0 auto;
}

.twitterBtn {
  width: 30.72727% !important;

}

.facebookBtn {
  width: 38.63636%;
}

.instagramBtn{
  width: 38.63636%;
}

.snsBtn__name {
  font-size: 20px;
  color: #fff;
  margin-top: -6%;
  margin-bottom: .3em;
}
.snsBtn__name .small{
	font-size: 18px;
}


@media only screen and (max-width: 1024px) {
  .snsBtn__name {
    font-size: 2.87037vw;
  }
	.snsBtn__name .small{
		font-size: 2vw;
	}
}

.hover_underline{
	padding-bottom: 5px;
	position: relative;
	text-decoration: none;
	color: #000;transform: scale(1, 1);
		transition: transform .3s;
}
@media only screen and (max-width: 1024px) {
	.hover_underline{
    padding-bottom: 2px;
    border-bottom: 1px solid #e60012;
  }
}

@media only screen and (min-width: 1025px) {
  .hover_underline{
    background: linear-gradient(
      0deg,
      rgba(230, 0, 18, 0) 0%,
      rgba(230, 0, 18, 0) calc(0% + 4px),
      rgba(230, 0, 18, 1) calc(0% + 4px),
      rgba(230, 0, 18, 1) calc(0% + 5px),
      rgba(230, 0, 18, 0) calc(0% + 5px),
      rgba(230, 0, 18, 0) 100%
      );
      transition: background .8s ease;
  }
  .hover_underline:hover{
    background: none;
  }
  /* .hover_underline::before{
    position: absolute;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #e60012;
    left: 0;
    bottom: 0;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
  }
	.hover_underline:hover::before{
		transform-origin: right top;
		transform: scale(0, 1);
	} */
}
@media screen and (min-width: 1024px) {
    .hide-pc {
        display: none;
    }
}

.headerLink .link_btn{
	width:90.625%;
	font-size: 16px;
	margin: 3.90625% auto 0;
}
.headerLink .link_btn a{
	font-family: 'Noto Serif TC', serif;
	background: #2c323d;
	box-sizing: border-box;
	border: 1px solid #fff;
	width:100%;
	padding: 1em .5em;
	color: #fff;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.headerLink .link_btn .pv{
	position: relative;
}
.headerLink .link_btn .pv:after{
	content:'';
	width:30px;
	height:26px;
	background: url("../images/switch/icon_movie.png") no-repeat;
	background-size:contain;
	position: absolute;
	top:50%;
	right:5%;
	transform: translateY(-50%);
}
@media screen and (min-width:1024px){
	.headerLink .link_btn{
		width:36%;
		font-size: 18px;
		padding: 0;
		margin: 50px auto 0;
	}
	.headerLink .link_btn a{
		padding: 1.3em .5em;
	}
}

/* modal */
.modal{
	font-family: 'Noto Serif TC', serif;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background:rgba(240,249,248,.9);
	display: flex;
	flex-direction: column;
	visibility: hidden;
	opacity: 0;
	transition: opacity .3s ease;
  height: 100%;
  width: 100%;
  align-items: center;
  overflow: auto;
}
@media (min-width: 1025px) {
	.modal{
		padding: 4rem;
	}
	.hide-pc{
		display: none;
	}
}
@media (max-width: 1024px) {
	.hide-sp{
		display: none;
	}
}
.modal.open{
	visibility: unset;
	opacity: 1;
	overflow-y: scroll;
	z-index: 1000;
}
.modal-close{
	position: absolute;
	top: 10px;
	right: 10px;
	width: 50px;
	height: 50px;
}
.modal-close-inner{
	position: relative;
	width: 100%;
	height: 100%;
}
.modal-close-inner::before,
.modal-close-inner::after{
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	width: 100%;
	height: 5px;
	background: #f6d80a;
}
.modal-close-inner::before{
	transform: translate(-50%, -50%) rotate(45deg);
}
.modal-close-inner::after{
	transform: translate(-50%, -50%) rotate(-45deg);
}
.modal-item{
	width: 90%;
	max-width: 1000px;
	background: rgba(255, 255, 255, .7);
	color: #2f333f;
	box-shadow: 0 3px 10px rgba(93,100,108,.6);
	display: none;
	margin: auto;
}
.modal-item.is-active{
	display: block;
}
@media (max-width: 1024px) {
	.modal-item{
		margin: 100px auto 50px;
	}
}
@media (min-width: 1025px) {
	.modal-item{
		justify-content: center;
	}
}
.modal-item-ttl{
	font-weight: 700;
	font-size: 20px;
	padding: 20px 10px;
	background: #5d646c;
	width: 100.2%;
	margin-left: -.1%;
	color: #f6d80a;
	border: 1px solid #5d646c;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
@media (max-width: 1024px) {
	.modal-item-ttl{
		font-size: 16px;
	}
}
.modal-item-ttl-inner{
	display: inline-block;
}
.modal-item-ttl-date{
	font-size: 16px;
}
.modal-item-ttl-txt{
	display: block;
	text-align: center;
	padding-left: 16px;
}
.modal-item-lead{
	padding: 50px 0 60px;
	margin: 0 60px;
	font-size: 16px;
}
@media (max-width: 1024px) {
	.modal-item-lead{
		padding: 40px 0 50px;
		margin: 0 15px;
		font-size: 14px;
	}
}
.modal-item-lead:nth-child(n + 2){
  border-top: 1px solid #d0d0d0;
}
.modal-item-lead a{
	text-decoration: underline;
	color: #4db6a4;
}
.modal-item-lead .qa{
	padding-top: 20px;
}
.modal-item-lead .qa-inner{
	padding-left: 2em;
	text-indent: -1.3em;
}
.modal-item-lead .qa-inner:nth-child(n + 2){
	padding-top: 30px;
}
.modal-item-lead .qa-inner dd{
	padding-top: 5px;
}
.modal-item-lead .note {
	font-size: 13px;
	display: inline-block;
}
@media (min-width: 1025px) {
	.modal-item-lead .note {
		padding-left: 2em;
	}
}
.modal-block-margin{
	padding-top: 2em;
}
.modal-item-list{
	padding-left: 1em;
	text-indent: -1em;
}
.modal-item-list dd:nth-of-type(n + 2){
	padding-top: .5em;
}
.modal-item-procedure > div:nth-child(n + 2){
	padding-top: .3em;
}
.modal-item-list-child{
	padding-left: 2em;
}
.modal-link-txt{
	display: inline-block;
}
.stand-out {
	color: #e60012;
	border: 1px solid #000;
	padding: 2rem;
	margin-bottom: 5rem;
	background: rgba(255, 255, 255, .6);
}
.stand-out a{
	color: #e60012;
	font-weight: bold;
	display: inline-block;
	padding: 0;
}

