@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700,900&amp;subset=japanese');
/*----------------------*/
/*mb*/
/*----------------------*/
@media screen and (max-width: 768px) {
	/* --------- 調整・消去 --------- */
	body .box-white,
	body .post-content{
		padding: 0 0 0;
	}
	body .group{
		padding: 0 0 80px;
	}
	body main > .title_area,
	body .group::before,
	body .inner > header,
	body .inner dl.periodText{
		display: none !important;
	}
	body .group .inner{
		width: 100%;
	}
	body .post-content h2,
	body .post-content p{
		margin: 0;
		text-align: start;
	}
	#campaign *{
		box-sizing: content-box;
	}
	#campaign .pc { display: none !important; }
	#campaign .sp { display: block !important; }

	/* ↓ここから個別↓ */

	#campaign {
		margin-top: 8px; /*Tokaiロゴとの距離*/
		background-color: #ffa4ac;
		padding-bottom:10px;
	}

	/*---------------------------------------- 共通 */

	#campaign a{
		color: #2c559f;
		background-color: #fff3b5;
	}
	body #campaign p,
	body #campaign th,
	body #campaign td,
	body #campaign li,
	body #campaign dt,
	body #campaign dd{
		font-family: 'Noto Sans JP','メイリオ','Meiryo',sans-serif;
		font-size: 14px;
		line-height:1.75em;
		color: #1b376b;
	}
	#campaign h1,
	#campaign h2,
	#campaign h3,
	#campaign h4,
	#campaign h5{
		font-family: "Kosugi Maru",'Noto Sans JP','メイリオ','Meiryo',sans-serif;
		line-height:1.4em;
		font-feature-settings : "palt";
		color: #1b376b;
	}
	#campaign img{
		display:block;
	}
	#campaign .margin-top30{
		margin-top: 30px;
	}

	#campaign .fuwafuwa { 
		-webkit-animation:fuwafuwa 2s infinite linear alternate;
		animation:fuwafuwa 2s infinite linear alternate; 
	}  
	@-webkit-keyframes fuwafuwa {
		0% {-webkit-transform:translate(0, 0) rotate(0deg);}
		50% {-webkit-transform:translate(0, -5px) rotate(0deg);}
		100% {-webkit-transform:translate(0, 0)rotate(0deg);} 
	}
	@keyframes fuwafuwa {
		0% {transform:translate(0, 0) rotate(0deg);}
		50% {transform:translate(0, -5px) rotate(0deg);}
		100% {transform:translate(0, 0)rotate(0deg);} 
	}

	/*-------------------------------------- header */
	#campaign header {
		margin-bottom: 25px;
	}

	/*-------------------------------------- about */

	#campaign .about-outer {
		margin:0 1.5em;
		color: #fff;
	}
	#campaign div.about-box{
	}
	#campaign div.about-box h2{
		font-weight: bold;
		margin: 0 0 25px;
		font-size: 1.15em;
		line-height: 1.55em;
		text-align: left;
		letter-spacing: 0.075em;
	}
	#campaign div.about-box .text-box{
		flex: 1;
		color:#fff;
		margin: 40px 0 0 0;
	}
	#campaign div.about-box .text-box p + p{
		margin-top: 15px;
	}
	#campaign div.about-box .img-box{
		margin: 30px 1.5em;
	}
	#campaign div.about-box .img-box img{
		width: 100%;
	}

	/*-------------------------------------- present */

	#campaign div#present{
		background-color: #fff;
		border-radius: 50px;
		margin: 1em;
		padding: 40px 0 5px;
	}
	#campaign div#present h1{
		margin: 0 3em;
		color: #2c559f;
	}
	#campaign div#present h1 img{
		width: 100%;
	}
	#campaign div#present h2{
		color: #2c559f;
		font-size: 1.2em;
		margin-bottom: 20px;
		border-bottom: 4px dotted #eee;
		padding: 0 0 10px;
		letter-spacing: 0.05em;
		font-weight: bold;
		text-align: center;
	}
	#campaign div#present h2 span{
		font-size: 1.3em;
	}
	#campaign div#present h3{
		color: #fff;
		line-height: 2em;
		border-radius: 1em;
		font-size: 1em;
		padding: 0 15px;
		width: 9em;
		text-align: center;
		margin: 0 auto 10px;
	}
	#campaign div#present #Acouse h3{ background-color: #d9273c;}
	#campaign div#present #Bcouse h3{ background-color: #6b91de;}
	#campaign div#present #Ccouse h3{ background-color: #ffcf3b;}
	#campaign div#present #Dcouse h3{ background-color: #339b65;}
	#campaign div#present #Ecouse h3{ background-color: #ed86b5;}
	#campaign div#present #Fcouse h3{ background-color: #ba84b8;}
	#campaign div#present #Scouse h3{ background-color: #e5007f;}
	#campaign div#present #Wcouse h3{ background-color: #ffac2a;}

	#campaign div#present p{
		color: #2c559f;
		font-size: 13px;
	}

	#campaign div.present-box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 20px;
		margin: 60px 2em;
	}
	#campaign div.present-box:nth-child(odd) {
		flex-direction: row-reverse;
	}
	#campaign div.present-box:nth-child(even) {
		flex-direction: row;
	}
	#campaign div.present-box .text-box{
		flex: 1;
		color:#fff;
	}
	#campaign div.present-box .text-box p + p{
		margin-top: 15px;
	}
	#campaign div.present-box .img-box{
		width:400px;
	}
	#campaign div.present-box .img-box img{
		width: 100%;
		border-radius: 20px;
	}
	#campaign div.present-box .img-box::after{
		content:"";
		display: block;
		width:160px;
	}


	/*-------------------------------------- regular_box */

	#campaign div.regular_box{
		margin: 50px 1.5em 0;
		padding: 40px 0;
		color: #fff;
	}
	#campaign div.regular_box h1{
		font-size: 1.7em;
		margin-bottom: 30px;
		letter-spacing: 0.05em;
	}
	#campaign div.regular_box h2{
		font-size: 1.3em;
		margin: 50px 0 15px;
		letter-spacing: 0.05em;
	}
	#campaign div.regular_box h2 span{
		background-color: #e53f64;
		border-radius: 1em;
		padding: 8px 15px;
		color: #fff;
	}

	/*-------------------------------------- schedule */

	#campaign #schedule table {
		width: 100%;
		border-collapse: collapse;
		border-spacing: 0;
		font-size: 14px;
		color: #2c559f;
		margin-top: 20px;
		border: 3px solid #ffcf3b ;
	}
	#campaign #schedule table td {
		background-color: #fff;
		box-sizing: border-box;
		padding: 5px;
		vertical-align: top;
		text-align: center;
		color: #2c559f;
		padding: 7px 20px;
		display: block;
		text-align: right;
		width: 100%;
		border-bottom: 3px dotted #eee ;
	}
	#campaign #schedule table .thead {
		display: none;
	}
	#campaign #schedule table tr {
		width: 100%;
	}
	#campaign #schedule table td:first-child {
		background: #ffcf3b;
		color: #2c559f;
		font-weight: bold;
		text-align: center;
		border-bottom: 0px dotted #eee ;
	}
	#campaign #schedule table td:last-child {
		border-bottom: 0px dotted #eee ;
		padding-bottom: 12px;
	}
	#campaign #schedule table td:before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		margin-right: 10px;
	}

	/*-------------------------------------- guideline */

	#campaign #guideline table{
		margin: 30px 0 0 0;
		border-collapse: collapse;
	}
	#campaign #guideline th{
		width: 9em;
		vertical-align: top;
		line-height:1.85em;
		font-size: 14px;
		padding: 17px 0 0;
		font-weight: bold;
		display: block;
	}
	#campaign #guideline td{
		padding: 5px 0 17px;
		border-bottom: 1px dashed #eee ;
		display: block;
	}
	#campaign #guideline td span{
		font-size: 1.5em;
	}
	#campaign #guideline td strong{
		font-size: 1.1em;
		font-weight: bold;
	}
	#campaign #guideline td p{
		text-align: left;
	}0
	#campaign #guideline ul{
		margin: 0 ;
	}
	#campaign #guideline li{
		line-height:1.85em;
		list-style-type: disc;
		margin: 0 0 5px 15px;
	}
	#campaign #guideline .backsheet{
		border: 1px solid #000;
		border-radius: 5px;
		padding: 30px;
		margin: 25px 0 30px;
	}
	#campaign #guideline .backsheet h4{
		font-weight: bold;
		font-size: 1.15em;
		margin-bottom: 20px;
	}
	#campaign #guideline .backsheet p{
		text-align: left;
	}

	/*-------------------------------------- btnsArea */

	#campaign .btnsArea {
		margin: 30px 0 0;
	}
	#campaign .btnsArea .btnActive,
	#campaign .btnsArea .btnWait {
		width: 400px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 10px;
	}
	#campaign .btnsArea .btnActive a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 50px;
		position: relative;
		background: #ffcf3b;
		border: 1px solid #ffcf3b;
		border-radius: 30px;
		box-sizing: border-box;
		padding: 0 25px 0 25px;
		color: #2c559f;
		line-height: 1.3;
		text-align: left;
		text-decoration: none;
		transition-duration: 0.3s;
	}
	#campaign .btnsArea .btnActive a:before {
		content: '';
		width: 8px;
		height: 8px;
		border: 0;
		border-top: 2px solid #2c559f;
		border-right: 2px solid #2c559f;
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 25px;
		margin-top: -6px;
	}
	#campaign .btnsArea .btnActive a:hover {
		background: #fff;
	}
	#campaign .btnsArea .btnActive a:hover:before {
		border-top: 2px solid #ffcf3b;
		border-right: 2px solid #ffcf3b;
	}
	#campaign .btnsArea .btnWait{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 50px;
		position: relative;
		background: #999;
		border: 1px solid #999999;
		border-radius: 30px;
		box-sizing: border-box;
		padding: 0 25px 0 25px;
		color: #ffffff;
		line-height: 1.3;
		text-align: left;
		text-decoration: none;
		transition-duration: 0.3s;
	}

	/*-------------------------------------- download */

	#campaign .download {
		margin: 40px auto;
		width: 380px;
	}
	#campaign .download p{
		text-align: center;
		color: #fff;
		font-weight: bold;
		margin-bottom: 20px;
	}
	#campaign .download .storeArea{
		display: flex;
		flex-wrap: wrap;
		gap: 15px;
	}
	#campaign .download .storeArea div{
		height: 60px;
	}
	#campaign .download .storeArea img{
		height: 100%;
		width: auto;
	}

}

/*----------------------*/
/*pc*/
/*----------------------*/
@media print, screen and (min-width: 769px) {
	/* --------- 調整・消去 --------- */
	body .box-white,
	body .post-content{
		padding: 0 0 0;
	}
	body .inner > header,
	body .inner dl.periodText{
		display: none !important;
	}
	body .post-content h2,
	body .post-content p{
		margin: 0;
		text-align: start;
	}
	#campaign *{
		box-sizing: content-box;
	}
	#campaign div.image{
		text-align:center;
	}
	#campaign .pc { display: block !important; }
	#campaign .sp { display: none !important; }
	#campaign img { display:block; }

	/* ↓ここから個別↓ */

	#campaign {
		background-color: #ffa4ac;
		padding-bottom:30px;
	}

	/*---------------------------------------- 共通 */

	#campaign a{
		color: #2c559f;
		background-color: #fff3b5;
	}
	body #campaign p,
	body #campaign th,
	body #campaign td,
	body #campaign li,
	body #campaign dt,
	body #campaign dd{
		font-family: 'Noto Sans JP','メイリオ','Meiryo',sans-serif;
		font-size: 14px;
		line-height:1.75em;
		color: #1b376b;
	}
	#campaign h1,
	#campaign h2,
	#campaign h3,
	#campaign h4,
	#campaign h5{
		font-family: "Kosugi Maru",'Noto Sans JP','メイリオ','Meiryo',sans-serif;
		line-height:1.4em;
		font-feature-settings : "palt";
		color: #1b376b;
	}
	#campaign img{
		display:block;
	}
	#campaign .margin-top30{
		margin-top: 30px;
	}

	#campaign .fuwafuwa { 
		-webkit-animation:fuwafuwa 2s infinite linear alternate;
		animation:fuwafuwa 2s infinite linear alternate; 
	}  

	@-webkit-keyframes fuwafuwa {
		0% {-webkit-transform:translate(0, 0) rotate(0deg);}
		50% {-webkit-transform:translate(0, -5px) rotate(0deg);}
		100% {-webkit-transform:translate(0, 0)rotate(0deg);} 
	}

	@keyframes fuwafuwa {
		0% {transform:translate(0, 0) rotate(0deg);}
		50% {transform:translate(0, -5px) rotate(0deg);}
		100% {transform:translate(0, 0)rotate(0deg);} 
	}


	/*-------------------------------------- header */
	#campaign header {
		margin-bottom: 25px;
	}
	#campaign header h1 > img{
		width: 100%;
	}
	/*-------------------------------------- about */

	#campaign .about-outer {
		margin:0 5vw;
		color: #fff;
	}
	#campaign div.about-box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	#campaign div.about-box h2{
		font-weight: bold;
		margin: 0 0 25px;
		font-size: 1.3em;
		line-height: 1.55em;
		text-align: left;
		letter-spacing: 0.075em;
	}
	#campaign div.about-box .text-box{
		flex: 1;
		color:#fff;
		margin: 40px 0 0 0;
	}
	#campaign div.about-box .text-box p + p{
		margin-top: 15px;
	}
	#campaign div.about-box .img-box{
	}
	#campaign div.about-box .img-box img{
		width: 100%;
	}

	/*-------------------------------------- present */

	#campaign div#present{
		background-color: #fff;
		border-radius: 50px;
		margin: 70px 5vw;
		padding: 40px 0;
	}
	#campaign div#present h1{
		width: 420px;
		margin: 0 auto;
		color: #2c559f;
	}
	#campaign div#present h1 img{
		width: 420px;
	}
	#campaign div#present h2{
		color: #2c559f;
		font-size: 1.2em;
		margin-bottom: 20px;
		border-bottom: 4px dotted #eee;
		padding: 0 0 10px;
		letter-spacing: 0.05em;
		font-weight: bold;
	}
	#campaign div#present h2 span{
		font-size: 1.5em;
	}
	#campaign div#present h3{
		color: #fff;
		line-height: 2em;
		border-radius: 1em;
		font-size: 1.2em;
		padding: 0 15px;
		width: 9em;
		text-align: center;
		margin: 0 0 15px 0;
	}
	#campaign div#present #Acouse h3{ background-color: #d9273c;}
	#campaign div#present #Bcouse h3{ background-color: #6b91de;}
	#campaign div#present #Ccouse h3{ background-color: #ffcf3b;}
	#campaign div#present #Dcouse h3{ background-color: #339b65;}
	#campaign div#present #Ecouse h3{ background-color: #ed86b5;}
	#campaign div#present #Fcouse h3{ background-color: #ba84b8;}
	#campaign div#present #Scouse h3{ background-color: #e5007f;}
	#campaign div#present #Wcouse h3{ background-color: #ffac2a;}

	#campaign div#present p{
		color: #2c559f;
		font-size: 13px;
	}

	#campaign div.present-box{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 20px;
		width: 92%;
		margin: 60px auto;
	}
	#campaign div.present-box:nth-child(odd) {
		flex-direction: row-reverse;
	}
	#campaign div.present-box:nth-child(even) {
		flex-direction: row;
	}
	#campaign div.present-box .text-box{
		flex: 1;
		color:#fff;
	}
	#campaign div.present-box .text-box p + p{
		margin-top: 15px;
	}
	#campaign div.present-box .img-box{
		width: 55%;
	}
	#campaign div.present-box .img-box img{
		width: 100%;
		border-radius: 20px;
	}
	#campaign div.present-box .img-box::after{
		content:"";
		display: block;
		width:160px;
	}


	/*-------------------------------------- regular_box */

	#campaign div.regular_box{
		margin: 70px 70px 0;
		padding: 40px 0;
		color: #fff;
	}
	#campaign div.regular_box h1{
		font-size: 2em;
		margin-bottom: 30px;
		letter-spacing: 0.05em;
	}
	#campaign div.regular_box h2{
		font-size: 1.3em;
		margin: 30px 0 15px;
		letter-spacing: 0.05em;
	}
	#campaign div.regular_box h2 span{
		background-color: #e53f64;
		border-radius: 1em;
		padding: 8px 15px;
		color: #fff;
	}

	/*-------------------------------------- schedule */

	#campaign #schedule table {
		width: 100%;
		border-collapse: collapse;
		border-spacing: 0;
		font-size: 14px;
		color: #2c559f;
		margin-top: 40px;
	}
	#campaign #schedule table th {
		width: 22%;
		border: 1px solid #2c559f;
		box-sizing: border-box;
		padding: 15px;
		vertical-align: middle;
		font-weight: bold;
		text-align: center;
		background-color: #ffcf3b;
	}
	#campaign #schedule table td {
		border: 1px solid #2c559f;
		background-color: #fff;
		box-sizing: border-box;
		padding: 5px;
		vertical-align: top;
		text-align: center;
		color: #2c559f;
	}

	/*-------------------------------------- guideline */

	#campaign #guideline table{
		margin: 30px 0 0 0;
		border-collapse: collapse;
	}
	#campaign #guideline th{
		width: 144px;
		vertical-align: top;
		line-height:1.85em;
		font-size: 14px;
		padding: 17px 40px;
		border-bottom: 1px solid #fff;
		font-weight: bold;
	}
	#campaign #guideline td{
		padding: 17px 30px;
		border-bottom: 1px solid #fff;
	}
	#campaign #guideline td span{
		font-size: 1.5em;
	}
	#campaign #guideline td strong{
		font-size: 1.1em;
		font-weight: bold;
	}
	#campaign #guideline td p{
		text-align: left;
	}
	#campaign #guideline ul{
		margin: 0 ;
	}
	#campaign #guideline li{
		line-height:1.85em;
		list-style-type: disc;
		margin: 0 0 5px 15px;
	}
	#campaign #guideline .backsheet{
		border: 1px solid #000;
		border-radius: 5px;
		padding: 30px;
		margin: 25px 0 30px;
	}
	#campaign #guideline .backsheet h4{
		font-weight: bold;
		font-size: 1.15em;
		margin-bottom: 20px;
	}
	#campaign #guideline .backsheet p{
		text-align: left;
	}

	/*-------------------------------------- btnsArea */

	#campaign .btnsArea {
		margin: 30px 0 0;
	}
	#campaign .btnsArea .btnActive,
	#campaign .btnsArea .btnWait {
		width: 400px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 10px;
	}
	#campaign .btnsArea {
		margin: 30px 0 0;
	}
	#campaign .btnsArea .btnActive,
	#campaign .btnsArea .btnWait {
		width: 400px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 10px;
	}
	#campaign .btnsArea .btnActive a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 50px;
		position: relative;
		background: #ffcf3b;
		border: 1px solid #ffcf3b;
		border-radius: 30px;
		box-sizing: border-box;
		padding: 0 25px 0 25px;
		color: #2c559f;
		line-height: 1.3;
		text-align: left;
		text-decoration: none;
		transition-duration: 0.3s;
	}
	#campaign .btnsArea .btnActive a:before {
		content: '';
		width: 8px;
		height: 8px;
		border: 0;
		border-top: 2px solid #2c559f;
		border-right: 2px solid #2c559f;
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 25px;
		margin-top: -6px;
	}
	#campaign .btnsArea .btnActive a:hover {
		background: #fff;
	}
	#campaign .btnsArea .btnActive a:hover:before {
		border-top: 2px solid #ffcf3b;
		border-right: 2px solid #ffcf3b;
	}
	#campaign .btnsArea .btnWait{
		display: flex;
		justify-content: center;
		align-items: center;
		height: 50px;
		position: relative;
		background: #999;
		border: 1px solid #999999;
		border-radius: 30px;
		box-sizing: border-box;
		color: #ffffff;
		line-height: 1.3;
		text-align: left;
		text-decoration: none;
		transition-duration: 0.3s;
	}

	/*-------------------------------------- download */

	#campaign .download {
		margin: 40px auto;
		width: 385px;
	}
	#campaign .download p{
		text-align: center;
		color: #fff;
		font-weight: bold;
		margin-bottom: 20px;
	}
	#campaign .download .storeArea{
		display: flex;
		flex-wrap: wrap;
		gap: 15px;
	}
	#campaign .download .storeArea div{
		height: 60px;
	}
	#campaign .download .storeArea img{
		height: 100%;
		width: auto;
	}
}
