@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;400;700&display=swap');

/*common*/
html {
    height: 100%;
}

body {
    color: #333;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(10px, 16 / 1200 * 100vw, 16px);
    font-weight: 400;
    line-height: 1.8;
    line-break: strict;
    word-break: break-all;
    text-align: justify;
    text-justify: distribute;
    position: relative;
    min-height: 100vh;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #000;
}

body::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -10;
    width: 100vw;
    height: 100vh;
    background: url(../images/common/bg.jpg) no-repeat top center;
    background-size: cover;
}

a:link {
    text-decoration: none;
    color: #2682b2;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
}

a:visited {
    text-decoration: none;
    color: #2682b2;
}

a:hover {
    opacity: 0.7;
}

p:not(:last-child) {
    margin-bottom: 1.3em;
}


/*PC--------------------------------------------------------------------------------------*/




/*navi*/

nav {
    display: block;
    position: fixed;
    top: 0;
    right: -900px;
    bottom: 0;
    width: 450px;
    background: #fff7f5;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 999;
    opacity: 0;
}

.open nav {
    right: 0;
    opacity: 1;
}

nav .inner {
    padding: 0 10px 25px 10px;
}

nav .inner ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

nav .inner ul li {
    margin: 0 auto;
    justify-content: center;
    align-items: center;
    max-width: 300px;
    width: 80%;
}

nav .inner ul li a {
    display: block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    transition-duration: 0.2s;
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
    font-size: 2em;
}

.wf-active nav .inner ul li a {
    visibility: visible;
}

nav .inner ul li {
    padding: 5px 0;
}

nav .inner ul li a:hover {
    opacity: 0.7;
}

.nav_logo {
    width: 200px;
    margin: 20px auto;
}

.nav_logo img,
nav .inner ul li a img {
    width: 100%;
    padding: 0;
}

.toggle_btn {
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px;
    transition: all .5s;
    cursor: pointer;
    z-index: 1000;
    background: #dd2b60;
    border-radius: 25px;
}

.toggle_btn span {
    display: block;
    position: absolute;
    left: 20%;
    width: 30px;
    height: 2px;
    background-color: #fff;
    transition: all .5s;
}

.toggle_btn span:nth-child(1) {
    top: 30%;
}

.toggle_btn span:nth-child(2) {
    top: 50%;
}

.toggle_btn span:nth-child(3) {
    top: 70%;
}

.open .toggle_btn {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: none;
}

.open .toggle_btn span {
    background-color: #dd2b60;
}

.open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}

.open .toggle_btn span:nth-child(2) {
    opacity: 0;
}

.open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-12px) rotate(45deg);
    transform: translateY(-12px) rotate(45deg);
}

#mask {
    display: none;
    transition: all .5s;
}

.open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .7;
    z-index: 998;
    cursor: pointer;
}

/*header*/

.header-bg{
    width: 100%;
    background: url(../images/header/bg.png) repeat-x;
}

.header-wrap {
    max-width: 1200px;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    margin: 0 auto;
}

.header-wrap .header {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 75%;
    position: relative;
    width: 100%;
}

.header-wrap .header .ill-pos {
    position: absolute;
    top: 0.000000%;
    left: 11.916667%;
    width: 76.083333%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: illFadeIn 2s ease 0s 1 normal;
    -webkit-animation: illFadeIn 2s ease 0s 1 normal;
    z-index: 5;
}

@keyframes illFadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10%);
    }

    50% {
        opacity: 1;
        transform: translateY(0);
    }
}

@-webkit-keyframes illFadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10%);
    }

    50% {
        opacity: 1;
        transform: translateY(0);
    }
}

.header-wrap .header .ill-pos .ill {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 124.64403%;
    position: relative;
    width: 100%;
    background: url("../images/header/ill.png") no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}

.header-wrap .header .logo-pos {
    position: absolute;
    top: 72.444444%;
    left: 50.000000%;
    width: 47.916667%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: logoFadeIn 2s ease 0s 1 normal;
    -webkit-animation: logoFadeIn 2s ease 0s 1 normal;
    z-index: 20;
}

@keyframes logoFadeIn {
    0% {
        opacity: 0;
        transform: translateY(10%);
    }

    50% {
        opacity: 0;
        transform: translateY(10%);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@-webkit-keyframes logoFadeIn {
    0% {
        opacity: 0;
        transform: translateY(10%);
    }

    50% {
        opacity: 0;
        transform: translateY(10%);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.header-wrap .header .logo-pos h1 {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 54.26087%;
    position: relative;
    width: 100%;
    background: url("../images/common/logo.png") no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}

.header-wrap .header .catch-pos {
    position: absolute;
    top: 35.333333%;
    left: 2.583333%;
    width: 43.250000%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: catchFadeIn 2s ease 0s 1 normal;
    -webkit-animation: catchFadeIn 2s ease 0s 1 normal;
    z-index: 20;
}

@keyframes catchFadeIn {
    0% {
        opacity: 0;
        transform: translateX(-10%);
    }

    50% {
        opacity: 0;
        transform: translateX(-10%);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@-webkit-keyframes catchFadeIn {
    0% {
        opacity: 0;
        transform: translateX(-10%);
    }

    50% {
        opacity: 0;
        transform: translateX(-10%);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.header-wrap .header .catch-pos .catch {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 61.46435%;
    position: relative;
    width: 100%;
    background: url("../images/header/catch.png") no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}

.header-wrap .header .release-pos {
    position: absolute;
    top: 10.000000%;
    left: 74.166667%;
    width: 24.333333%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: releaseFadeIn 2s ease 0s 1 normal;
    -webkit-animation: releaseFadeIn 2s ease 0s 1 normal;
    z-index: 20;
}

@keyframes releaseFadeIn {
    0% {
        opacity: 0;
        transform: translateX(10%);
    }

    50% {
        opacity: 0;
        transform: translateX(10%);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@-webkit-keyframes releaseFadeIn {
    0% {
        opacity: 0;
        transform: translateX(10%);
    }

    50% {
        opacity: 0;
        transform: translateX(10%);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.header-wrap .header .release-pos .release {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 76.71233%;
    position: relative;
    width: 100%;
    background: url("../images/header/release.png") no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}

.header-wrap .header .ns-pos {
    position: absolute;
    top: 3.444444%;
    left: 1.833333%;
    width: 12.583333%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: nsFadeIn 2s ease 0s 1 normal;
    -webkit-animation: nsFadeIn 2s ease 0s 1 normal;
    z-index: 20;
}

@keyframes nsFadeIn {
    0% {
        opacity: 0;
        transform: translateX(0);
    }

    50% {
        opacity: 0;
        transform: translateX(0);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@-webkit-keyframes nsFadeIn {
    0% {
        opacity: 0;
        transform: translateX(0);
    }

    50% {
        opacity: 0;
        transform: translateX(0);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.header-wrap .header .ns-pos .ns {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 31.12583%;
    position: relative;
    width: 100%;
    background: url("../images/header/ns.png") no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}


/*content*/

.content-bg {
    background: #fff;
    z-index: 10;
}

.content-wrap {
    max-width: 1230px;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
    margin: 0 auto;
}

.intro {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 33.33333%;
    position: relative;
    width: 100%;
    margin-top: -2em;
}

.intro .pic-pos{
    position: absolute;
    top: 0;
    left: 0;
    width: 41.58333%;
}

.intro .pic-pos .pic {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 78.35671%;
    position: relative;
    width: 100%;
    background: url("../images/intro/pic.png") no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}

.intro .text-pos{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 56%;
    z-index: 10;
}

.intro .text-pos p{
    margin-bottom: 1em;
    font-weight: bold;
}

.info-wrap{
    display: flex;
    flex-wrap: wrap;
    margin: 50px 0 90px 0;
    align-items: center;
}

.info-wrap .if-title{
    width: 7em;
    font-family: 'Oswald', sans-serif;
    color: #dd2b60;
    padding: 1em 0;
    font-size: 1.2em;
}

.info-wrap .if-archive{
    flex: 1;
    border-left: 1px solid #63b6d5;
    padding: 1em 0 1em 2em;
}

.info-wrap .if-archive dl{
    display: flex;
    flex-wrap: wrap;
}

.info-wrap .if-archive dl dt{
    font-family: 'Oswald', sans-serif;
    width: 10%;
}

.info-wrap .if-archive dl dd{
    flex: 90%;
}

.info-wrap .if-archive dl dt::before{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    content: "\f15c";
    margin-right: 0.5em;
    font-weight: bold;
    color: #2682b2;
}


section{
    background-image:
        url("../images/common/frame-top-left.png"),
        url("../images/common/frame-top-right.png"),
        url("../images/common/frame-bottom-left.png"),
        url("../images/common/frame-bottom-right.png"),

        url("../images/common/frame-top-center.png"),
        url("../images/common/frame-middle-left.png"),
        url("../images/common/frame-middle-right.png"),
        url("../images/common/frame-bottom-center.png"),

        url("../images/common/frame-bg.png");
    background-repeat:
        no-repeat,
        no-repeat,
        no-repeat,
        no-repeat,
        repeat-x,
        repeat-y,
        repeat-y,
        repeat-x,
        repeat;
    background-position:
        left top,
        right top,
        left bottom,
        right bottom,
        left top,
        left top,
        right top,
        left bottom,
        left top;
    background-size: 40px 40px, 40px 40px, 40px 40px, 40px 40px, 40px 40px, 40px 40px, 40px 40px, 40px 40px, 40px 40px;
    padding: 50px;
    margin: 70px 0;
    position: relative;
}

section h2{
    margin-top: -90px;
    margin-bottom: 50px;
    max-width: 468px;
}

section h2 img{
    width: 100%;
}

section h3{
    margin: 2em 0;
    font-size: 1.2em;
    font-weight: bold;
}

section h3::before{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    content: "\f091";
    margin-right: 0.5em;
    font-weight: bold;
    color: #dd2b60;
}

.cc01{
    color: #dd2b60;
    font-size: 1.2em;
    font-weight: bold;
}

.st-wrap{
    display: flex;
    flex-wrap: wrap;
}

.st-wrap .st-text{
    width: 55%;
    padding-right: 30px;
    box-sizing: border-box;
}

.st-wrap .st-pic{
    width: 45%;
}

.st-wrap .st-pic img{
    width: 100%;
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}

.gs-wrap{
    display: flex;
    flex-wrap: wrap;
}

.gs-wrap .gs-text{
    width: 55%;
    padding-left: 30px;
    box-sizing: border-box;
}

.gs-wrap .gs-pic{
    width: 45%;
}

.gs-wrap .gs-pic img{
    width: 100%;
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}

ul.ss-wrap{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.5% -1.5em -1.5%;
    justify-content: center;
}

ul.ss-wrap li{
    width: calc( 100% / 3 );
    padding: 0 1.5%;
    box-sizing: border-box;
    margin-bottom: 1.5em;
}

ul.ss-wrap li img{
    width: 100%;
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}

ul.ss-wrap li p{
    font-size: 0.9em;
    line-height: 1.5;
    margin-top: 1em;
}

ul.gallery-wrap{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.5%;
}

ul.gallery-wrap li{
    width: 25%;
    padding: 0 1.5%;
    box-sizing: border-box;
}

ul.gallery-wrap li img{
    width: 100%;
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}

.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;
}

.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}

hr{
    margin: 50px 0;
}

.tab-wrap {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
    overflow: hidden;
}

.tab-label {
	color: #2682b2;
	cursor: pointer;
	flex: 1;
	font-weight: bold;
	order: -1;
	padding: 0.5em;
	position: relative;
	text-align: center;
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s;
	user-select: none;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
}

.tab-label:hover {
	background: rgba(99, 182, 213,.5);
}

.tab-switch:checked + .tab-label {
	color: #dd2b60;
}

.tab-label::after {
	background: #dd2b60;
	bottom: 0;
	content: '';
	display: block;
	height: 1px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	transform: translateX(100%);
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
	width: 100%;
	z-index: 1;
}

.tab-switch:checked ~ .tab-label::after {
	transform: translateX(-100%);
}

.tab-switch:checked + .tab-label::after {
	opacity: 1;
	transform: translateX(0);
}

.tab-content {
	height:0;
	opacity:0;
	pointer-events:none;
	transform: translateX(-30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
	width: 100%;
}

.tab-switch:checked ~ .tab-content {
	transform: translateX(30%);
}

.tab-switch:checked + .tab-label + .tab-content {
	height: auto;
	opacity: 1;
	order: 1;
	pointer-events:auto;
	transform: translateX(0);
}

.tab-wrap::after {
	content: '';
	height: 30px;
	order: -1;
	width: 100%;
}

.tab-switch {
	display: none;
}

.chara-wrap{
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 72.72727%;
    position: relative;
    width: 100%;
    display: block;
    margin: 0;
    z-index: 10;
    background: url(../images/character/bg.png) no-repeat;
    background-size: cover;
}

.chara-wrap .chara-text{
    position: absolute;
    top: 0;
    left: 4%;
    width: 60%;
}

.chara-wrap .chara-text .t01{
    font-size: 2em;
    font-weight: bold;
    margin: 1em 0;
}

.chara-wrap .chara-text .t01 span{
    font-size: 0.5em;
    color: #2682b2;
    vertical-align: baseline;
}

.chara-wrap .chara-text .t02{
    border-left: 5px solid #63b6d5;
    padding-left: 1em;
}

.chara-wrap .chara-text .t02 span
{
    font-family: 'Oswald', sans-serif;
    color: #dd2b60;
    font-size: 1.1em;
}

.chara-wrap .chara-text .t03{
    font-size: 1.6em;
    font-weight: bold;
    color: #dd2b60;
    line-height: 1.5;
}

.chara-wrap .chara-text span.cbr::before {
        content: "\A";
        white-space: pre;
    }

.chara-wrap .chara-pos{
    position: absolute;
    top: 0;
    right: 0;
    width: 51.54545%;
}

.chara-wrap .chara-pos .chara01{
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 141.09347%;
    position: relative;
    width: 100%;
    background: url(../images/character/character01.png) no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}

.chara-wrap .chara-pos .chara02{
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 141.09347%;
    position: relative;
    width: 100%;
    background: url(../images/character/character02.png) no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}

.chara-wrap .chara-pos .chara03{
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 141.09347%;
    position: relative;
    width: 100%;
    background: url(../images/character/character03.png) no-repeat;
    background-size: cover;
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    margin: 0;
    z-index: 10;
}

.spec-wrap{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.5%;
}

.spec-wrap .package01{
    width: 17.4%;
    padding: 0 1.5%;
    box-sizing: border-box;
}

.spec-wrap .package02{
    width: 20%;
    padding: 0 1.5%;
    box-sizing: border-box;
}

.spec-wrap .package01 img,
.spec-wrap .package02 img{
    width: 100%;
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}

.spec-wrap .package01 p,
.spec-wrap .package02 p{
    text-align: center;
    color: #dd2b60;
    font-weight: bold;
    margin-top: 0.3em;
}

.spec-wrap .spec{
    flex: 1;
    padding: 0 1.5%;
    box-sizing: border-box;
    font-size: 0.9em;
}

.spec-wrap .spec dl{
    border-top: 1px solid #63b6d5;
    display: flex;
    flex-wrap: wrap;
    padding: 0.5em 0;
}

.spec-wrap .spec dl dt{
    width: 9em;
    font-weight: bold;
    color: #2682b2;
}

.spec-wrap .spec dl dd{
    flex: 1;
}

ul.le-wrap{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.5% -1.5em -1.5%;
    justify-content: center;
}

ul.le-wrap li{
    width: calc( 100% / 3 );
    padding: 0 1.5%;
    box-sizing: border-box;
    margin-bottom: 1.5em;
}

ul.le-wrap li img{
    width: 100%;
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}

ul.le-wrap li p{
    font-size: 0.9em;
    line-height: 1.5;
    margin-top: 0.5em;
    text-align: center;
}

.bonus-wrap{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2em;
    margin: 2em -1.5% 0 -1.5%;
    box-sizing: border-box;
    align-items: center;
    position: relative;
    border-bottom: 1px solid #63b6d5;
    padding-bottom: 2em;
}

.bonus-wrap .bn-pic{
    width: 25%;
    padding: 0 1.5%;
    box-sizing: border-box;
}

.bonus-wrap .bn-pic img{
    width: 100%;
    -moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}

.bonus-wrap .bn-shop{
    width: 23%;
    padding: 0 1.5%;
    box-sizing: border-box;
}

.bonus-wrap .bn-shop .shopname{
    font-size: 1.2em;
    font-weight: bold;
    color: #dd2b60;
    line-height: 2.5;
}

.bonus-wrap .bn-shop .type{
    color: #2682b2;
    border: 1px solid #2682b2;
    background: #fff;
    font-size: 0.9em;
    padding: 0.3em;
    display: inline-block;
}

.bonus-wrap .bn-details{
    flex: 1;
    padding: 0 1.5%;
    box-sizing: border-box;
}

.bonus-wrap .bn-link{
    width: 20%;
    padding: 0 1.5%;
    box-sizing: border-box;
}

.bonus-wrap .bn-link a{
    display: block;
    overflow: hidden;
    text-align: center;
    padding: 0.5em;
    background: #2682b2;
    color: #fff;
    border-radius: 30px;
}

.bonus-wrap .bn-link a::before{
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    font-family: "Font Awesome 5 Free";
    content: "\f07a";
    margin-right: 0.5em;
    font-weight: bold;
    color: #fc0;
}

/*footer*/

footer {
    width: 100%;
    padding: 60px 0;
    box-sizing: border-box;
    font-size: 0.9em;
    line-height: 1.8;
    background: #63b6d5;
    color: #fff;
}

.footer-wrap {
    max-width: 1230px;
    width: 100%;
    padding: 0 15px;
    box-sizing: border-box;
    margin: 0 auto;
    text-align: center;
}

.sns {
    left: 0;
    bottom: 0;
    width: 100%;
    margin-bottom: 3%;
}

.sns ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 0;
}

.sns ul li {
    flex-basis: 60px;
    padding: 0 5px!important;
    box-sizing: border-box;
    margin: 0!important;
}

.sns ul li img {
    width: 100%;
}

.banner {
    width: 80px;
    margin: 0 auto 3% auto;
}

.banner img {
    width: 100%;
}





/*RESPONSIVE--------------------------------------------------------------------------------------*/

@media only screen and (max-width: 1200px) {}

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


}

/*MOBILE--------------------------------------------------------------------------------------*/

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

    span.br::before {
        content: "\A";
        white-space: pre;
    }

    body {
        font-size: clamp(10px, 14 / 375 * 100vw, 14px);
        line-height: 1.8;
    }

    /*H navi*/

    nav {
        width: 100%;
    }

    .toggle_btn {
    top: 5px;
    right: 5px;
}

    /*header*/

    .header-wrap .header {
    top: 0px;
    left: 0px;
    height: 0;
    padding-top: 160%;
    position: relative;
    width: 100%;
    overflow: hidden;
}

.header-wrap .header .ill-pos {
    position: absolute;
    top: 4%;
    left: -25%;
    width: 150%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: illFadeIn 2s ease 0s 1 normal;
    -webkit-animation: illFadeIn 2s ease 0s 1 normal;
    z-index: 5;
}

.header-wrap .header .logo-pos {
    position: absolute;
    top: auto;
    bottom: 4%;
    left: 10%;
    width: 80%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: logoFadeIn 2s ease 0s 1 normal;
    -webkit-animation: logoFadeIn 2s ease 0s 1 normal;
    z-index: 20;
}

.header-wrap .header .catch-pos {
    position: absolute;
    top: 38.333333%;
    left: 2.583333%;
    width: 60%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: catchFadeIn 2s ease 0s 1 normal;
    -webkit-animation: catchFadeIn 2s ease 0s 1 normal;
    z-index: 20;
}

.header-wrap .header .release-pos {
    position: absolute;
    top: 3.000000%;
    left: 52%;
    width: 35%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: releaseFadeIn 2s ease 0s 1 normal;
    -webkit-animation: releaseFadeIn 2s ease 0s 1 normal;
    z-index: 20;
}

.header-wrap .header .ns-pos {
    position: absolute;
    top: 3%;
    left: 1.833333%;
    width: 25%;
    -webkit-transition: all 500ms 0s ease;
    transition: all 500ms 0s ease;
    animation: nsFadeIn 2s ease 0s 1 normal;
    -webkit-animation: nsFadeIn 2s ease 0s 1 normal;
    z-index: 20;
}

    /*content*/

    .intro {
    top: 0px;
    left: 0px;
    height: auto;
    padding-top: 0;
    position: relative;
    width: 100%;
    margin-top: 5vh;
}

.intro .pic-pos{
    position: relative;
    top: 0;
    left: 5%;
    width: 90%;
    margin-bottom: 1em;
}

.intro .text-pos{
    position: relative;
    bottom: 0;
    right: 0;
    width: 100%;
    z-index: 10;
}

.info-wrap{
    display: flex;
    flex-wrap: wrap;
    margin: 5vh 0 5vh 0;
    align-items: center;
}

.info-wrap .if-title{
    width: 100%;
    font-family: 'Oswald', sans-serif;
    color: #dd2b60;
    padding: 0;
    font-size: 1.2em;
}

.info-wrap .if-archive{
    flex: 1;
    border-left: 1px solid #63b6d5;
    padding: 1em 0 0 2em;
}

.info-wrap .if-archive dl{
    display: flex;
    flex-wrap: wrap;
}

.info-wrap .if-archive dl dt{
    font-family: 'Oswald', sans-serif;
    width: 100%;
}

.info-wrap .if-archive dl dd{
    flex: 100%;
}

section{
    background-image:
        url("../images/common/frame-top-left.png"),
        url("../images/common/frame-top-right.png"),
        url("../images/common/frame-bottom-left.png"),
        url("../images/common/frame-bottom-right.png"),

        url("../images/common/frame-top-center.png"),
        url("../images/common/frame-middle-left.png"),
        url("../images/common/frame-middle-right.png"),
        url("../images/common/frame-bottom-center.png"),

        url("../images/common/frame-bg.png");
    background-repeat:
        no-repeat,
        no-repeat,
        no-repeat,
        no-repeat,
        repeat-x,
        repeat-y,
        repeat-y,
        repeat-x,
        repeat;
    background-position:
        left top,
        right top,
        left bottom,
        right bottom,
        left top,
        left top,
        right top,
        left bottom,
        left top;
    background-size: 20px 20px, 20px 20px, 20px 20px, 20px 20px, 20px 20px, 20px 20px, 20px 20px, 20px 20px, 20px 20px;
    padding: 30px;
    margin: 8vh 0;
    position: relative;
}

section h2{
    margin-top: -55px;
    margin-bottom: 30px;
    width: 250px;
}

.st-wrap .st-text{
    width: 100%;
    padding-right: 0;
    box-sizing: border-box;
}

.st-wrap .st-pic{
    width: 100%;
    margin-top: 1.7em;
}

.gs-wrap{
    display: flex;
    flex-wrap: wrap;
}

.gs-wrap .gs-text{
    width: 100%;
    padding-left: 0;
    box-sizing: border-box;
}

.gs-wrap .gs-pic{
    width: 100%;
    margin-bottom: 1.7em;
}

ul.gallery-wrap{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0 -1.5% -1em -1.5%;
}

ul.gallery-wrap li{
    width: 50%;
    padding: 0 1.5%;
    box-sizing: border-box;
    margin-bottom: 1em;
}

ul.ss-wrap li{
    width: 100%;
    padding: 0 1.5%;
    box-sizing: border-box;
    margin-bottom: 1.5em;
}

hr{
    margin: 5vh 0;
}

.chara-wrap{
    top: 0px;
    left: 0px;
    height: auto;
    padding-top: 0;
    position: relative;
    width: 100%;
    display: block;
    margin: 0;
    z-index: 10;
    background: none;
}

.chara-wrap .chara-text{
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
}

.chara-wrap .chara-text .t03{
    font-size: 1.4em;
    font-weight: bold;
    color: #dd2b60;
    line-height: 1.5;
}

.chara-wrap .chara-text span.cbr::before {
        content: "";
        white-space: normal;
    }

.chara-wrap .chara-pos{
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
}

.spec-wrap{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -3%;
    justify-content: center;
}

.spec-wrap .package01{
    width: 34.5%;
    padding: 0 3%;
    box-sizing: border-box;
}

.spec-wrap .package02{
    width: 40%;
    padding: 0 3%;
    box-sizing: border-box;
}

.spec-wrap .spec{
    flex: auto;
    width: 100%;
    padding: 0 3%;
    box-sizing: border-box;
    margin-top: 1em;
}

.spec-wrap .spec dl dt{
    width: 100%;
    font-weight: bold;
    color: #2682b2;
}

.spec-wrap .spec dl dd{
    flex: auto;
    width: 100%;
}

ul.le-wrap li{
    width: 80%;
    padding: 0 1.5%;
    box-sizing: border-box;
    margin-bottom: 1.5em;
}

.bonus-wrap{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2em;
    margin: 2em -1.5% 0 -1.5%;
    box-sizing: border-box;
    align-items: center;
    position: relative;
    border-bottom: 1px solid #63b6d5;
    padding-bottom: 2em;
    justify-content: center;
}

.bonus-wrap .bn-pic{
    width: 80%;
    padding: 0 1.5%;
    box-sizing: border-box;
    margin-bottom: 0.5em;
}

.bonus-wrap .bn-shop{
    width: 100%;
    padding: 0 1.5%;
    box-sizing: border-box;
    text-align: center;
}

.bonus-wrap .bn-details{
    flex: auto;
    width: 100%;
    padding: 0 1.5%;
    box-sizing: border-box;
    margin-top: 1em;
}

.bonus-wrap .bn-link{
    width: 100%;
    padding: 0 1.5%;
    box-sizing: border-box;
    margin-top: 1em;
}

    /*footer*/

    footer {
        width: 100%;
        padding: 7vh 0;
        box-sizing: border-box;
    }

    .footer-wrap {
        text-align: left;
    }

    .banner {
        width: 80px;
        margin: 3vh auto 7vh auto;
    }




}