@charset "utf-8";


/* ベース */
body{ height: 100%; background: #03181f; background-size: cover; -webkit-text-size-adjust: 100%; }
*{ margin: 0; padding: 0; border:none; list-style: none; }
h1 , h2 , h3 , h4 , h5 , h6{ font-weight: normal; }
img{ vertical-align: text-bottom; }
.flat{ border-radius: 8px; }
*{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }


/* フォント */
*{
font-family: 'Noto Sans JP', sans-serif;
color: #2d2e2f;
line-height: 1.5em;
}
.meiryo{ font-family: 'メイリオ','Meiryo', serif !important; }
::selection{ background: rgba(133, 133, 133, 0.5); color: #fff; }


/* ボタンリンク */
.bt-link{ transition: all 0.4s ease; animation: all 0.4s ease; }
.bt-link:hover{
z-index: 1;
opacity: 0.5;
}
.no-link{ opacity: 0.15; }


/* ローディング */
#loading{
width: 100%;
height: 100%;
z-index: 9999;
background: #002bab url(../img/_/bg_02.gif);
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
position: fixed;
top: 0;
left: 0;
padding: 100px;
}
#loading .item{
width: 100%;
max-width: 600px;
position: relative;
}
#loading .item img{
width: 100%;
position: relative;
margin: 0 0 30px;
}
#loading .item #loading_text{
width: 100%;
text-align: center;
font-size: 14px;
line-height: 1.0em;
color: #424242;
position: relative;
margin: 0;
}
.load{ display: none; }


/* メニュー */
header{
width: 100%;
min-width: 1200px;
z-index: 8888;
position: fixed;
top: 0;
left: 0;
padding: 20px 5% 0;
}
header nav{
width: 100%;
max-width: 1200px;
background: linear-gradient(to left, #002bab 0%,#467efd 50%,#002bab 100%);
position: relative;
margin: 0 auto;
padding: 8px;
border: 1px #2d2e2f solid;
border-radius: 60px;
box-shadow: 0 5px 25px rgba(0,0,0,0.3);
}
header nav .frame{
width: 100%;
height: 100%;
z-index: 1;
display: flex;
align-items: center;
justify-content: space-between;
position: absolute;
top: 0;
left: 0;
}
header nav .frame img:nth-child(2){ transform: scaleX(-1);}
header nav ul{
width: 100%;
background: #fff url(../img/_/body_bg.jpg) center;
display: flex;
align-items: center;
justify-content: center;
position: relative;
border-radius: 60px;
padding: 0 20px;
border: 1px #2d2e2f solid;
}
nav ul li,
nav ul p{
height: 100%;
display: flex;
position: relative;
}
nav ul p{
font-size: 10px;
line-height: 1em;
color: #9a662d;
}
nav ul li a{
width: 100%;
height: 100%;
z-index: 2;
display: flex;
align-items: center;
font-size: 20px;
line-height: 1em;
text-decoration: none;
position: relative;
padding: 20px;
}
nav ul li a.new::before{
width: 100%;
content: "NEW";
text-align: center;
font-size: 12px;
color: #1755e6;
font-family: 'メイリオ','Meiryo', serif!important;
font-weight: bold;
position: absolute;
bottom: 0;
left: 0;
}


/* ページトップ */
#side-bt{
width: 80px;
z-index: 998;
position: fixed;
bottom: 20px;
right: -100px;
cursor: pointer;
}
#side-bt a{
width: 100%;
display: block;
position: relative;
}
#side-bt a img{ width: 100%; }


/* メイン */
main{
width: 100%;
max-width: 2560px;
min-width: 1200px;
background: #fff url(../img/_/body_bg.jpg) center;
position: relative;
margin: 0 auto;
}
/* 見出し */
main h2{
width: 100%;
max-width: 825px;
display: flex;
justify-content: center;
position: relative;
margin: 0 auto 100px;
}
main h2 img{ width: 100%; }
.wp{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
/* ボタンベース */
.bt-base{
width: 100%;
display: flex;
justify-content: center;
position: relative;
margin: 0 0 -20px;
}
.bt-base a{
width: auto;
background: #03181f;
overflow: hidden;
display: inline-block;
font-size: 22px;
text-align: center;
color: #fff;
font-weight: bold;
text-decoration: none;
position: relative;
margin: 0 10px 20px;
padding: 10px 20px;
border-radius: 10px;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
}


/* トップ */
#top{
width: 100%;
overflow: hidden;
position: relative;
padding: 0 5%;
}
#top .bg{
width: 70%;
height: 70%;
background: #002bab url(../img/_/bg_02.gif);
clip-path: polygon(0 0, 0% 100%, 100% 0);
position: absolute;
top: 0;
left: 0;
box-shadow: inset 0px -3px 10px rgba(0,0,0,0.2);
}
#top .bg img{
width: 100%;
height: 100%;
opacity: 0;
object-fit: cover;
position: relative;
/*mix-blend-mode: luminosity;*/
animation: anime_top01 1.5s ease forwards;
-webkit-animation: anime_top01 1.5s ease forwards;
animation-delay: 0.5s;
-webkit-animation-delay: 0.5s;
left: -100px;
}
@keyframes anime_top01{
	0% { opacity: 0; left: -100px; }
	100% { opacity: 1; left: 0px; }
}
@-webkit-keyframes anime_top01{
	0% { opacity: 0; left: -100px; }
	100% { opacity: 1; left: 0px; }
}
#top .box{
width: 100%;
max-width: 1920px;
position: relative;
margin: 0 auto;
}
#top .img{
width: 100%;
display: flex;
justify-content: center;
position: relative;
padding: 5% 0 0 0;
}
#top .img img{
width: 100%;
min-width: 1400px;
position: relative;
}
#top .item{
width: 50%;
height: 100%;
display: flex;
align-items: center;
position: absolute;
top: 0;
right: 0;
}
#top .item > div{
width: 100%;
position: relative;
}
#top .item .text,
#top .item h1,
#top .item .day,
#top .item .staff{
width: 100%;
position: relative;
}
#top .item .text img,
#top .item h1 img,
#top .item .day img,
#top .item .staff img{
width: 100%;
display: block;
position: relative;
}


/* インフォ */
#info{
width: 100%;
background: #002bab url(../img/_/bg_02.gif);
position: relative;
padding: 100px 0;
}
#info #topic{
width: 100%;
position: relative;
padding: 0 calc(5% - 15px);
}
#info #topic ul{
width: 100%;
max-width: calc(1400px + 30px);
display: flex;
flex-wrap: wrap;
justify-content: center;
position: relative;
margin: 0 auto;
}
#info #topic ul li{
width: calc(50% - 30px);
position: relative;
margin: 0 15px 30px;
}
#info #topic ul li a{
width: 100%;
display: block;
position: relative;
}
#info #topic ul li a img{
width: 100%;
border-radius: 20px;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
}
/*
	#info #topic ul li:nth-child(1) a img{ border-radius: 20px 4px 4px 4px; }
	#info #topic ul li:nth-child(2) a img{ border-radius: 4px 20px 4px 4px; }
	#info #topic ul li:nth-child(3) a img{ border-radius: 4px 4px 4px 20px; }
	#info #topic ul li:nth-child(4) a img{ border-radius: 4px 4px 20px 4px; }
*/
#info #news{
width: 100%;
position: relative;
margin: 0 0 30px;
padding: 0 5%;
}
#info #news > div{
width: 100%;
max-width: 1400px;
display: flex;
background: #fff url(../img/_/body_bg.jpg) center;
position: relative;
margin: 0 auto;
padding: 40px 40px 40px 0;
border-radius: 15px;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
}
#info #news h2{
width: calc(134px + 40px + 40px);
display: flex;
flex-shrink: 0;
align-items: center;
position: relative;
margin: 0;
padding: 0 40px;
}
#info #news h2 img{
width: 100%;
max-width: 134px;
position: relative;
}
#info #news dl{
width: 100%;
max-height: 150px;
overflow-y: auto;
display: flex;
flex-wrap: wrap;
position: relative;
}
#info #news dl::-webkit-scrollbar{ width: 8px; }
#info #news dl::-webkit-scrollbar-track{ background: rgba(0,0,0,0.15); border-radius: 5px; }
#info #news dl::-webkit-scrollbar-thumb{ background-color: #1755e6; border-radius: 5px; }
#info #news dl dt{
width: 120px;
font-size: 18px;
position: relative;
}
#info #news dl dt.new{ font-weight: bold; color: #1755e6; }
#info #news dl dd{
width: calc(100% - 120px);
font-size: 18px;
position: relative;
}
#info #news dl dd a{
font-weight: bold;
color: #1755e6;
text-decoration: underline;
cursor: pointer;
}
#info #news dl hr{
width: 100%;
border-top: 1px #9d713e dashed;
position: relative;
}


/* ホップアップ */
#master-up,
#pop01{
width: 100%;
max-width: 1280px;
position: relative;
}
#master-up img,
#pop01 img{ width: 100%; }


/* 作品紹介 */
#intro{
width: 100%;
overflow: hidden;
position: relative;
padding: 100px 0;
}
#intro > .bg{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
#intro > .bg .img_bg{
width: calc(50% + 20px);
height: 620px;
background: rgba(0,0,0,0.2);
clip-path: polygon(44% 44%, 40% 31%, 24% 29%, 22% 18%, 9% 13%, 0% 0, 0% 100%, 100% 100%, 87% 89%, 84% 75%, 69% 66%, 59% 50%);
position: absolute;
bottom: 0;
left: 0
}
#intro > .bg .img{
width: 50%;
height: 600px;
clip-path: polygon(44% 44%, 40% 31%, 24% 29%, 22% 18%, 9% 13%, 0% 0, 0% 100%, 100% 100%, 87% 89%, 84% 75%, 69% 66%, 59% 50%);
position: absolute;
bottom: 0;
left: 0
}
#intro > .bg .img img{ width: 100%; }
/* 作品紹介 概要 */
#intro #about{
width: 100%;
position: relative;
padding: 0 5%;
}
#intro #about .bg{
width: 100%;
display: flex;
justify-content: flex-end;
position: absolute;
top: 0;
left: 0;
}
#intro #about .bg > div{
width: calc(50% - 50px);
position: relative;
}
#intro #about .bg .img01{
width: 100%;
min-height: 1000px;
/*background: #9d713e;*/
background: #9d713e url(../img/_/bg_99.gif);
clip-path: polygon(100% 0, 0 50%, 100% 100%);
/*clip-path: polygon(100% 25%, 50% 50%, 100% 75%, 0 100%, 0 0);*/
display: block;
position: relative;
}
#intro #about .bg .img02{
width: 100%;
height: 100%;
min-height: 1000px;
clip-path: polygon(100% 2%, 2% 50%, 100% 98%);
position: absolute;
top: 0;
left: 0;
}
#intro #about .bg .img02 img{
width: 100%;
height: 100%;
object-fit: cover;
position: relative;
}
#intro #about .bg .img03{
display: block;
position: absolute;
top: -25%;
left: -7%;
}
#intro #about .item{
width: 100%;
max-width: 1920px;
display: flex;
position: relative;
margin: 0 auto 100px;
}
#intro #about .item > div{
width: 50%;
position: relative;
}
#intro #about .item h3{
width: 100%;
position: relative;
margin: 0 0 30px -18%;
}
#intro #about .item h3 img{
width: 118%;
position: relative;
}
#intro #about .item h3 img:nth-child(n+2){
display: none;
position: absolute;
top: 0;
left: 0;
}
#intro #about .item .text{
width: 100%;
position: relative;
}
#intro #about .item .text p{
width: 100%;
font-size: 25px;
position: relative;
margin: 0 0 50px;
}
#intro #about .item .text p span{
font-size: 33px;
font-weight: bold;
color: #1755e6;
}
/* 作品紹介 コンセプト */
#intro #conce{
width: 100%;
position: relative;
padding: 0 5%;
}
#intro #conce ul{
width: 100%;
max-width: 1400px;
position: relative;
margin: 0 auto;
}
#intro #conce ul li{
width: 100%;
background: #002bab url(../img/_/bg_02.gif);
position: relative;
margin: 0 0 50px;
padding: 50px;
border-radius: 15px;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
}
#intro #conce ul li .number{
width: 310px;
height: 40px;
background: url(../img/_/h3_img.webp) no-repeat;
display: flex;
align-items: center;
justify-content: center;
font-size: 23px;
color: #fff;
position: absolute;
top: -20px;
left: -20px;
}
#intro #conce ul li h3{
width: 100%;
position: relative;
margin: 0 0 30px;
}
#intro #conce ul li h3 img{ width: 100%; }
#intro #conce ul li .text{
width: 100%;
font-size: 25px;
color: #fff;
position: relative;
}
#intro #conce ul li .text span{
font-size: 33px;
font-weight: bold;
color: #ffe241;
border-bottom: 2px #ffe241 solid;
}


/* あらすじ */
#story{
width: 100%;
overflow: hidden;
background: #03181f;
position: relative;
padding: 100px 5%;
}
#story .bg{
width: 100%;
height: 100%;
opacity: 0.5;
overflow: hidden;
background: url(../img/story_bg.jpg) no-repeat center fixed;
background-size: cover;
/*filter: blur(5px);*/
position: absolute;
top: 0;
left: 0;
}
#story .item{
width: 100%;
max-width: 1920px;
position: relative;
margin: 0 auto -50px;
}
#story .item p{
width: 100%;
text-align: center;
font-size: 25px;
line-height: 2.0em;
color: #fff;
position: relative;
margin: 0 0 50px;
}
#story .item span{
background: #03181f;
font-style: italic;
font-size: 25px;
line-height: 2.0em;
font-weight: bold;
/*color: #1755e6;*/
padding: 0 5px;
}
#story .item h3{
width: 100%;
font-size: 55px;
color: #fff;
text-align: center;
font-weight: 700;
font-style: italic;
position: relative;
margin: 100px 0 50px;
text-shadow: 0 0 10px rgba(249, 74, 255, 0.5);
}
#story .item h3 span{
font-size: 55px;
line-height: 2.0em;

text-shadow: none;
}
#story .item .img{
width: 100%;
max-width: 1400px;
aspect-ratio: 1400 / 250;
overflow: hidden;
position: relative;
margin: 0 auto 50px;
border-radius: 20px;
}
#story .item .img img{
width: 100%;
height: 100%;
min-height: 800px;
object-fit: cover;
display: block;
position: relative;
}


/* 登場人物 */
#chara{
width: 100%;
position: relative;
padding: 100px 0;
}
#chara .bg{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
/* 登場人物 選択 */
#chara #select{
width: 100%;
z-index: 10;
position: sticky;
top: 100px;
padding: 0 5%;
}
#chara #select ul{
width: 100%;
max-width: 700px;
display: flex;
position: relative;
margin: 0 auto;
}
#chara #select ul li{
width: 20%;
position: relative;
margin: 0;
cursor: pointer;
}
#chara #select ul li div{
width: 85px;
height: 85px;
display: none;
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
position: absolute;
top: 5px;
left: 8px;
animation: anime_chara01 2.0s infinite;
-webkit-animation: anime_chara01 2.0s infinite;
}
@keyframes anime_chara01{
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@-webkit-keyframes anime_chara01{
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
	#chara #select ul li.focus div{ display: block; }
	#chara #select ul li.sebt_1 div{ background: #e61739; }
	#chara #select ul li.sebt_2 div,
	#chara #select ul li.sebt_6 div{ background: #1755e6; }
	#chara #select ul li.sebt_3 div{ background: #e6bd17; }
	#chara #select ul li.sebt_4 div,
	#chara #select ul li.sebt_5 div,
	#chara #select ul li.sebt_7 div{ background: #a117e6; }
#chara #select ul li img{
width: 100%;
position: relative;
}
/* 登場人物 紹介 */
#chara #chara_intro{
width: 100%;
overflow: hidden;
position: relative;
padding: 0 5%;
}
#chara #chara_intro .item{
width: 100%;
max-width: 1400px;
display: flex;
position: relative;
margin: 0 auto;
padding: 100px 0 0 0;
}
	#chara #chara_intro .item:nth-child(n+2){ display: none; }
/* 登場人物 紹介 イメージ */
#chara #chara_intro .img{
width: 50%;
position: relative;
}
	#chara #chara_intro #c_6 .img{ min-height: 1200px; }
#chara #chara_intro .img .bg{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 0;
left: 0;
}
#chara #chara_intro .img .bg > div{
width: 100%;
position: relative;
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
aspect-ratio: 1 / 1;
}
	#chara #chara_intro #c_1 .img .bg > div{ background: #8e0000 url(../img/_/bg_01.gif); }
	#chara #chara_intro #c_2 .img .bg > div,
	#chara #chara_intro #c_6 .img .bg > div{ background: #002bab url(../img/_/bg_02.gif); }
	#chara #chara_intro #c_3 .img .bg > div{ background: #ab7a00 url(../img/_/bg_03.gif); }
	#chara #chara_intro #c_4 .img .bg > div,
	#chara #chara_intro #c_5 .img .bg > div,
	#chara #chara_intro #c_7 .img .bg > div{ background: #7800ab url(../img/_/bg_04.gif); }
#chara #chara_intro .img .box{
width: 100%;
display: flex;
justify-content: center;
position: relative;
}
#chara #chara_intro .img .box img{
position: relative;
}
	#chara #chara_intro .img .box img:nth-child(n+2){ display: none; }
	#chara #chara_intro #c_2 .img .box img{ left: 31%; }
	#chara #chara_intro #c_3 .img .box img{ left: 5%; }
	#chara #chara_intro #c_4 .img .box img{ left: -12%; }
	#chara #chara_intro #c_5 .img .box img{ left: -10%; }
/* 登場人物 紹介 情報 */
#chara #chara_intro .info{
width: 50%;
position: relative;
margin: 10% 0 0 0;
padding: 0 0 0 30px;
}
#chara #chara_intro .info h3{
width: 100%;
position: relative;
}
#chara #chara_intro .info h3 img{
width: 100%;
max-width: 619px;
position: relative;
}
	#chara #chara_intro .info h3 img:nth-child(n+2){ display: none; }
#chara #chara_intro .info .cv{
width: 100%;
display: flex;
align-items: center;
position: relative;
margin: 20px 0 30px;
}
#chara #chara_intro .info .cv hr{
width: calc(100% - 310px);
height: 1px;
position: relative;
border-bottom: #9d713e 2px solid;
}
	#chara #chara_intro:nth-child(n+3) .info .cv hr{ width: 100%; }
	#chara #chara_intro #c_1 .info .cv hr{ border-bottom: #e61739 2px solid; }
	#chara #chara_intro #c_2 .info .cv hr,
	#chara #chara_intro #c_6 .info .cv hr{ border-bottom: #1755e6 2px solid; }
	#chara #chara_intro #c_3 .info .cv hr{ border-bottom: #e6bd17 2px solid; }
	#chara #chara_intro #c_4 .info .cv hr,
	#chara #chara_intro #c_5 .info .cv hr,
	#chara #chara_intro #c_7 .info .cv hr{ border-bottom: #a117e6 2px solid; }
#chara #chara_intro .info .cv > div{
width: 310px;
position: relative;
}
#chara #chara_intro .info .cv img{ position: relative; }
#chara #chara_intro .info .cv p{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 23px;
color: #fff;
position: absolute;
top: 0;
left: 0;
}
#chara #chara_intro .info .lines{
width: 100%;
position: relative;
margin: 0 0 30px;
}
#chara #chara_intro .info .lines span{
/*background: #03181f;*/
font-size: 33px;
line-height: 1.4em;
font-style: italic;
/*color: #fff;*/
}
	#chara #chara_intro #c_1 .info .lines span{ color: #e61739; }
	#chara #chara_intro #c_2 .info .lines span{ color: #1755e6; }
	#chara #chara_intro #c_3 .info .lines span{ color: #e6bd17; }
	#chara #chara_intro #c_4 .info .lines span,
	#chara #chara_intro #c_7 .info .lines span{ color: #a117e6; }
#chara #chara_intro .info .text{
width: 100%;
font-size: 20px;
line-height: 1.5em;
position: relative;
margin: 0 0 50px;
}
#chara #chara_intro .info dl{
width: 100%;
display: flex;
align-items: center;
position: relative;
margin: 0 0 20px;
}
#chara #chara_intro .info dl dt{
width: 80px;
background: #9d713e;
flex-shrink: 0;
text-align: center;
font-size: 14px;
line-height: 1.0em;
color: #fff;
position: relative;
margin: 0 20px 0 0;
padding: 5px 10px 7px;
border-radius: 50px;
}
	#chara #chara_intro #c_1 .info dl dt{ background: #8e0000; }
	#chara #chara_intro #c_2 .info dl dt{ background: #002bab; }
	#chara #chara_intro #c_7 .info dl dt{ background: #610092; }
#chara #chara_intro .info dl dd{
width: calc(100% - 90px);
display: flex;
position: relative;
}
#chara #chara_intro .info dl dd a{
width: 60px;
height: 60px;
background: #03181f;
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
line-height: 1.0em;
font-weight: bold;
color: #fff;
position: relative;
margin: 0 10px 0 0;
padding: 8px 10px 10px;
border-radius: 50px;
text-shadow: none;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
cursor: pointer;
}
	#chara #chara_intro #c_1 .info dl dd a.focus{ background: #e61739; }
	#chara #chara_intro #c_2 .info dl dd a.focus{ background: #1755e6; }
	/*#chara #chara_intro .info dl.voice dd a{ cursor: default; }*/


/* サンプルCG */
#cg{
width: 100%;
background: #002bab url(../img/_/bg_02.gif);
position: relative;
padding: 100px calc(5% - 15px);
}
#cg ul{
width: 100%;
max-width: 1430px;
display: flex;
flex-wrap: wrap;
justify-content: center;
position: relative;
margin: 0 auto -30px;
}
#cg ul li{
width: calc(33.33% - 30px);
position: relative;
margin: 0 15px 30px;
}
/*#cg ul li:nth-child(n+4){ width: calc(50% - 30px); }*/
#cg ul li a{
width: 100%;
display: block;
position: relative;
}
#cg ul li a img{
width: 100%;
position: relative;
border-radius: 15px;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
}


/* 特典 */
#bonus{
width: 100%;
position: relative;
padding: 100px 0;
}
#bonus h3{
width: 100%;
display: flex;
justify-content: center;
position: relative;
margin: 0 0 30px;
}
#bonus h3 p{
width: 310px;
height: 40px;
background: url(../img/_/h3_img.webp) no-repeat;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
color: #fff;
position: relative;
}
#bonus .text{
width: 100%;
font-size: 18px;
text-align: center;
position: relative;
}
/* 特典 ポップ */
#bonus #shop_pop{
width: 100%;
position: relative;
padding: 0 calc(5% - 5px);
}
#bonus #shop_pop > div{
width: 100%;
max-width: calc(1400px + 10px);
display: flex;
flex-wrap: wrap;
justify-content: center;
position: relative;
margin: 0 auto 20px;
}
#bonus #shop_pop a{
width: calc(65% - 10px);
display: block;
position: relative;
margin: 0 5px 10px;
}
#bonus #shop_pop a img{
width: 100%;
border-radius: 20px;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
}
/* 特典 ダウンロードボイス特典付き */
#bonus #pur,
#bonus #dl{
width: 100%;
position: relative;
margin: 0 0 50px;
padding: 0 5%;
}
/* 特典 店舗特典 */
#bonus #shop{
width: 100%;
position: relative;
margin: 0 0 50px;
padding: 0 calc(5% - 15px);
}
#bonus ul{
width: 100%;
max-width: 1430px;
display: flex;
flex-wrap: wrap;
justify-content: center;
position: relative;
margin: 0 auto -30px;
}
#bonus ul li{
width: calc(50% - 30px);
background: #002bab url(../img/_/bg_02.gif);
position: relative;
margin: 0 15px 30px;
padding: 50px;
border-radius: 15px;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
}
#bonus ul li h4{
width: 100%;
font-size: 24px;
text-align: center;
color: #fff;
font-weight: bold;
position: relative;
}
#bonus ul li img{
width: 100%;
position: relative;
margin: 30px 0;
border-radius: 10px;
}
#bonus ul li p{
width: 100%;
color: #fff;
font-size: 18px;
position: relative;
text-align: center;
margin: auto 0 30px;
}
#bonus ul li p span{
color: #fff;
font-size: 15px;
}
#bonus ul li .bt-base a{ width: 60%; }
#bonus ul > p{
width: 80%;
background: #2d2e2f;
text-align: center;
font-size: 35px;
font-weight: bold;
color: #fff;
margin: 20px auto 30px;
padding: 10px 20px;
clip-path: polygon(40px 0%, calc(100% - 40px) 0%, 100% 50%, calc(100% - 40px) 100%, 40px 100%, 0% 50%);
}


/* 製品概要 */
#spec{
width: 100%;
position: relative;
padding: 0 5% 100px;
}
#spec .item{
width: 100%;
max-width: 1400px;
display: flex;
position: relative;
margin: 0 auto;
}
#spec .item .info{
width: calc(60% - 30px);
position: relative;
margin: 0 30px -70px 0;
}
#spec .item .info dl{
width: 100%;
display: flex;
flex-wrap: wrap;
align-items: flex-start;
position: relative;
margin: 0 0 50px;
}
#spec .item .info dl dt{
width: 150px;
background: #002bab;
flex-shrink: 0;
text-align: center;
font-size: 14px;
line-height: 1.0em;
color: #fff;
position: relative;
margin: 0 20px 20px 0;
padding: 5px 10px;
border-radius: 50px;
}
#spec .item .info dl dd{
width: calc(100% - 170px);
font-size: 18px;
position: relative;
margin: 0 0 20px;
}
#spec .item .img{
width: 40%;
display: flex;
align-items: center;
position: relative;
}
#spec .item .img img{
width: 100%;
border-radius: 15px;
box-shadow: 0px 3px 10px rgba(0,0,0,0.2);
}


/* フッター */
footer{
width: 100%;
max-width: 2560px;
min-width: 1200px;
background: #002bab;
position: relative;
margin: 0 auto;
padding: 100px 5%;
}
footer a{
width: 100%;
max-width: 350px;
display: block;
position: relative;
margin: 0 auto 20px;
}
footer a img{ width: 100%; }
footer p{
width: 100%;
max-width: 1400px;
font-size: 12px;
line-height: 1.4em;
color: #fff;
font-style: normal;
text-align: center;
position: relative;
margin: 0 auto;
}


/* レスポンシブ */


@media screen and (max-width: 2250px){



}


@media screen and (max-width: 1920px){



}


@media screen and (max-width: 1600px){

	#intro #about .bg .img03{ left: -15%; }

}


@media screen and (max-width: 1300px){

	#intro #about .bg .img03{ left: -30%; }

	#chara #chara_intro #c_2 .img .box img{ left: 45%; }
	#chara #chara_intro #c_3 .img .box img{ left: 15%; }
	#chara #chara_intro #c_4 .img .box img{ left: -20%; }
	#chara #chara_intro #c_5 .img .box img{ left: -15%; }

}


/* end */
