@charset "UTF-8";
/*----------------------------------------
0.0 Color root
----------------------------------------*/
:root{
	--font: Zen Maru Gothic, Montserrat, sans-serif;
	--white: #ffffff;
	--gr-fa: #fafafa;
	--gr-f3: #f3f3f3;
	--gr-e0: #e0e0e0;
	--gr-ee: #eeeeee;
	--gr-e9: #e9e9e9;
	--gr-dd: #dddddd;
	--gr-cc: #cccccc;
	--gr-b2: #b2b2b2;
	--gr-aa: #aaaaaa;
	--bl-99: #999999;
	--bl-88: #888888;
	--bl-68: #686868;
	--bl-52: #525252;
	--bl-41: #414141;
	--bl-22: #222222;
	--black: #000000;
	--green: #4ea396;
	--blue: #64afcf;
	--red: indianred;
	--red-50: #E28082;
	--yellow: #FFCE1B;
	--yellow-75: #ffe37d;
	--yellow-50: #ffe37d;
	--yellow-30: #ffeca5;
	--main: #3C5898;
}
/*----------------------------------------
0.0 Menu
----------------------------------------*/
.button_menu img {
    width: 128px;
    height: 128px;
}
/* メニューの土台 */
.custom_menu {
	width: 300px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	background-color: var(--main);
	animation: menuSlideIn .3s 0s forwards;
}

@keyframes menuSlideIn {
    0% { transform: translateX(300px); }
    100% { transform: translateX(0); }
}

.custom_menu .custom_menu_inner {
	width: 100%;
	height: 100%;
	position: relative;
}

/* 閉じるボタン */
.custom_menu .menu_close {
	width: 100%;
	position: absolute;
	right: 0;
	bottom: 24px;
	cursor: pointer;
}
.custom_menu .menu_close .close_btn {
	width: 70%;
	margin: 25px auto 0;
	padding: 8px 15px;
	border-radius: 30px;
	color: var(--main);
	background-color: var(--white);
	font-size: 22px;
	font-weight: normal;
	cursor: pointer;
	font-family: var(--font);
}
/* メニューボタンの表示エリア */
.custom_menu .menu_btn {
	padding-top: 24px;
}

/* メニューボタン */
.custom_menu .menu_btn div {
	width: 70%;
	margin: 25px auto 0;
	padding: 8px 15px;
	border-radius: 30px;
	color: var(--main);
	background-color: var(--white);
	font-size: 22px;
	font-weight: normal;
	cursor: pointer;
	opacity: 0;
	font-family: var(--font);
}

/* メニューボタンのアニメーション */
@keyframes menuItemSlideIn {
  0% { opacity: 0; transform: translateX(30px); }
  100% { opacity: 1; transform: translateX(0); }
}

.custom_menu .menu_btn div:nth-child(1) {
	animation: menuItemSlideIn .5s .1s forwards;
}
.custom_menu .menu_btn div:nth-child(2) {
	animation: menuItemSlideIn .5s .15s forwards;
}
.custom_menu .menu_btn div:nth-child(3) {
	animation: menuItemSlideIn .5s .2s forwards;
}
.custom_menu .menu_btn div:nth-child(4) {
	animation: menuItemSlideIn .5s .25s forwards;
}
.custom_menu .menu_btn div:nth-child(5) {
	animation: menuItemSlideIn .5s .3s forwards;
}
/* メニューの背景 */
.custom_menu_bg {
	background-color: var(--white);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 0.8;
}
/*----------------------------------------
0.0 Modal
----------------------------------------*/
img.modal_layer {
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}
img.tips_layer {
    border-radius: 16px;
}
/*----------------------------------------
0.0 Inventory
----------------------------------------*/
.inventory_layer {
    z-index: 1000!important;
}
.item-slot {
    outline-offset: -4px;
    outline: 4px solid #fff;
}
/*----------------------------------------
0.0 Tips
----------------------------------------*/
p.tips-contents {
    z-index: 9999!important;
}
.tips-text {
	font-size: 24px;
	font-family: var(--font);
	color: var(--white);
}
.benefit {
    margin: 32px 0;
    font-weight: bold;
    font-size: 20px;
    background-color: var(--main);
    padding: 12px 0 6px 16px;
    border-radius: 16px;
}
.benefit ul {
    list-style: disc;
    padding-left: 22px;
}
.benefit ul li {
    margin-bottom: 12px;
}
/*----------------------------------------
0.0 Form
----------------------------------------*/
.message_outer {
    background-size: 100%;
}
/* custom css */
.submit-button {
	width: 320px;
    height: 50px;
    margin: 0 auto;
    box-sizing: border-box;
    cursor: pointer;
    padding: 0;
}
.submit-button {
	background-image: url(../../image/button/btn_confirm_off.png);
    background-repeat: no-repeat;
    background-size: 100%;
    background-color: transparent;
    border: none;
}
.submit-button:hover {
	background-image: url(../../image/button/btn_confirm_on.png);
}
.text_box {
    padding: 0.5rem 1rem;
    box-sizing: border-box;
    border: none;
	background-color: transparent;
}
/*----------------------------------------
0.0 button
----------------------------------------*/
/* custom glink css */
.btn_confirm {
	position: relative;
    display: inline-block;
	background-color: var(--main);
    color: var(--white);
	font-weight: bold;
    text-shadow: none;
    box-sizing: border-box;
    transition: all .13s 0s linear;
    border-radius: 8px;
	line-height: 52px;
	padding: 0 0 0 2px;
	border: 2px solid var(--white);
}
.btn_confirm.btn_off {
    background-color: var(--gr-b2);
}
.btn_shop_confirm {
	position: relative;
    display: inline-block;
    background-color: var(--main);
    color: var(--white);
	font-weight: bold;
    text-shadow: none;
    box-sizing: border-box;
    transition: all .13s 0s linear;
    border-radius: 8px;
	line-height: 44px;
	padding: 0 0 0 2px;
	border: 2px solid var(--white);
}
.btn_confirm.btn_off {
    background-color: var(--gr-b2);
}
.btn_shop_back {
	position: relative;
    display: inline-block;
    background-color: var(--main);
    color: var(--white);
	font-weight: bold;
    text-shadow: none;
    box-sizing: border-box;
    transition: all .13s 0s linear;
    border-radius: 8px;
	line-height: 44px;
	padding: 0 0 0 2px;
	border: 2px solid var(--white);
}
.btn_shop_back.btn_off {
    background-color: var(--gr-b2);
}
/* hover */
.btn_custom {
	position: relative;
    display: inline-block;
	padding: 0.7rem;
	background-color: rgb(0 0 0 / 80%);
    color: var(--white);
	font-weight: bold;
    text-shadow: none;
    border: none;
    border-radius: 0;
    box-sizing: border-box;
    transition: all .13s 0s linear;
	border-radius: 8px;
}
.btn_custom:hover {
	background-color: rgb(0 0 0 / 100%);
}
/*----------------------------------------
0.0 notifications
----------------------------------------*/
.notification {
	background-color: var(--red);
    padding: 2px 16px 2.8px;
    border: 2px solid var(--white);
	color: var(--white);
    border-radius: 25px;
	font-weight: 600;
    z-index: 100000000;
	font-family: var(--font);
}
/*----------------------------------------
0.0 date parameter
----------------------------------------*/
/* custom css */
.weekday_style {
	display: inline-block;
    padding: 0 5px;
}
.weekday_style.saturday.holiday {
    color: var(--blue);
}
.weekday_style.holiday {
	color: var(--red);
}

/* 基本パラメータエフェクト */
/* 基本パラメータ増加 */
.param-increase, .param-increase-subtle {
    color: inherit;
	display: block;
    animation: param-pulse-blue 0.6s ease-out;
}
/* 基本パラメータ減少 */
.param-decrease, .param-decrease-subtle {
    color: inherit;
	display: block;
    animation: param-pulse-red 0.6s ease-out;
}
/* 増加アニメーション */
@keyframes param-pulse-blue {
    0% {
        transform: scale(1) scaleX(1);
        color: var(--blue);
    }
    25% {
        transform: scale(1.2) scaleX(-1);
        color: var(--blue);
    }
    50% {
        transform: scale(1.2) scaleX(1);
        color: var(--blue);
    }
    100% {
        transform: scale(1) scaleX(1);
        color: var(--white);
    }
}
/* 減少アニメーション */
@keyframes param-pulse-red {
    0% {
        transform: scale(1) scaleX(1);
        color: var(--red-50);
    }
    25% {
        transform: scale(1.2) scaleX(-1);
        color: var(--red-50);
    }
    50% {
        transform: scale(1.2) scaleX(1);
        color: var(--red-50);
    }
    100% {
        transform: scale(1) scaleX(1);
        color: var(--white);
    }
}

/* ゲージのアニメーション */
.power-gauge-meter,
.stress-gauge-meter {
    transition: clip-path 0.6s ease-in-out !important;
}
/* ゲージ増加 */
.power-gauge-meter.gauge-increase,
.stress-gauge-meter.gauge-increase {
    animation: gauge-flash-increase 0.6s ease-in-out;
}
/* ゲージ減少 */
.power-gauge-meter.gauge-decrease,
.stress-gauge-meter.gauge-decrease {
    animation: gauge-flash-decrease 0.6s ease-in-out;
}
/* 増加アニメーション */
@keyframes gauge-flash-increase {
    0% {
        filter: brightness(1.0);
    }
    50% {
        filter: brightness(1.1) saturate(1.2);
    }
    100% {
        filter: brightness(1.0);
    }
}
/* 減少アニメーション */
@keyframes gauge-flash-decrease {
    0% {
        filter: brightness(1.0);
    }
    50% {
        filter: brightness(0.9) saturate(0.8);
    }
    100% {
        filter: brightness(1.0);
    }
}
/* ゲージテキストのアニメーション */
.countup.gauge-increase {
	color: inherit;
	display: block;
    animation: param-increase 0.6s ease-out;
}
p.power_gauge, p.stress_gauge {
	z-index: 998!important;
}
/* テキストのアニメーション */
.countup.gauge-increase,
.countup.gauge-decrease {
	position: relative;
	display: inline-block;
	animation: text-bounce 0.6s ease-out;
}

/* アニメーションの定義 */
@keyframes text-bounce {
	0% {
		transform: translateY(0);
		color: var(--white);
	}
	20% {
		transform: translateY(-5px);
		color: var(--yellow-75);
	}
	40% {
		transform: translateY(2px);
		color: var(--yellow-50);
	}
	60% {
		transform: translateY(-2px);
		color: var(--yellow-30);
	}
	80% {
		transform: translateY(0);
		color: var(--white);
	}
	100% {
		transform: translateY(0);
		color: var(--white);
	}
}
/*----------------------------------------
0.0 Layer
----------------------------------------*/
.layer.\30 _fore {
    z-index: inherit!important;
}
.layer.\31 _fore {
    z-index: inherit!important;
}
.layer.\32 _fore {
    z-index: inherit!important;
}
.layer.\33 _fore {
    z-index: inherit!important;
}
.layer.\34 _fore {
    z-index: inherit!important;
}
.layer.\35 _fore {
    z-index: inherit!important;
}
