@charset "utf-8";

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

/* COMMON */
* {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600;
	letter-spacing: 0.04em;
    color : #f2c935;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    box-sizing: border-box;
    font-size: 3vw;
}

html {
	height: 100%;
	width: 100%;
}

body {
	height: 100%;
	width: 100%;
	margin: 0;
}

.main{
    margin : 0 auto;    
    width: 100vw;
    height: 178vw;
    aspect-ratio: 100/178;
    position: relative;
}

@media screen and (max-width:320px) {
    *{
        font-size: 10px;
    }
    .main{
        width :320px;
        min-width:320px;
        max-width:320px;
        height :570px;
        min-height:570px;
        max-height:570px;
    }
}
@media screen and (min-width:640px) {
    *{
        font-size: 20px;
    }
    .main{
        width :640px;
        min-width:640px;
        max-width:640px;
        height :1140px;
        min-height:1140px;
        max-height:1140px;
    }
}


input:not([type=checkbox]){
    width: 100%;
    padding: 1%;
    margin-bottom: 0.5em;
    color : #333333;
    border: 0;
    background: transparent;
    
}
form span{    
    background-image: url(./input_bg.png);
    background-repeat: repeat-y;
    background-position: center;
    background-size: 102%;
    display: block;
    height: 2em;
}

#editInput input:focus {
}


h1{    
    position: relative;
    margin-top: 23%;
    width: 100%;
    text-align: center;
    font-weight: 800;
    display: block;
    height: 3%;
    background-repeat: no-repeat;
    background-position: 52% center;
    background-size: auto 50%;
    padding-left: 100%;
}

#login h1{
    background-image: url(welcome.png);
}


#join h1{
    background-image: url(join.png);
}

#top h1{
    background-image: url(mainmenu.png);
}

#history h1{
    background-image: url(history.png);
}

#wishedit h1{
    background-image: url(present.png);
}

#wishedit h1{
    background-image: url(present.png);
}

#invite h1{
    background-image: url(invitation.png);
}

label[for]{
    display: inline-block;
    width : 90%;
    padding-left: 0.5em;
}
input[type=checkbox] {
    transform: scale(2);
    margin: 0.5em;
    vertical-align: top;
}
select{
    color: #333333;
}

select >option{
    font-size: 0.75em;
    color: #333333;
}

button{
    padding: 1.2em 0.5em;
    background-color: #E95514;
    border-radius: 0.75em;
    box-shadow: 4px 4px 10px 2px #3c3c3c;
    border: none;
    display: inline-block;
    color: #FFDF42;
    font-weight: 800;
    font-size: 114%;
    line-height: 1;
    position: relative;
}
button:disabled {
    background: #e5c0b0;
    color: #f5f0d5;
}

textarea{
    resize: none;
    width: 100%;
    color: #333333;
    
    background-image: url(./input_bg.png);
    background-repeat: repeat-y;
    background-position: center;
    background-size: 102%;
    border: 0;
}

h2{
    width: 100%;
    text-align: center;
    margin-top: 3%;
    display: block;
    font-size: 1.75em;
    line-height: 1.25em;
    padding: 0.75em;
    background-image: url(./h2.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    height: 20%;
}

#footer{ 
    position: relative;
    bottom: 2em;
    width: 100%;
    text-align: center;
}

#contact{
    background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20style%3D%22width%3A256px%3Bheight%3A256px%3Bopacity%3A1%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M510.68%20112.28a70.82%2070.82%200%200%200-19.49-36.4%2070.86%2070.86%200%200%200-50.21-20.82H71.02A70.96%2070.96%200%200%200%2016%2081.22a69.98%2069.98%200%200%200-14.6%2031.06A68.69%2068.69%200%200%200%200%20126.08v259.84c0%209.97%202.11%2019.55%205.88%2028.2a69.61%2069.61%200%200%200%2014.93%2022%2077.4%2077.4%200%200%200%204.9%204.5%2070.96%2070.96%200%200%200%2045.31%2016.32h369.96c17.18%200%2033.1-6.15%2045.32-16.39a71.07%2071.07%200%200%200%2019.88-26.43v-.06a70.27%2070.27%200%200%200%205.82-28.14V126.1c0-4.7-.46-9.33-1.32-13.81zM46.5%20101.58A34.3%2034.3%200%200%201%2071.02%2091.4h369.96a34.18%2034.18%200%200%201%2027.62%2013.8l-193.9%20169a28.15%2028.15%200%200%201-18.7%207%2028.4%2028.4%200%200%201-18.7-7L43.47%20105.14a26.21%2026.21%200%200%201%203.04-3.57zM36.33%20385.91V142.73l140.33%20122.42L36.4%20387.44c-.08-.47-.08-1-.08-1.52zm404.65%2034.68H71.02a34.2%2034.2%200%200%201-17.17-4.56L201.83%20287.1l13.81%2012.01A61.6%2061.6%200%200%200%20256%20314.24c14.4%200%2028.87-5.09%2040.43-15.14l13.81-12.01%20147.92%20128.95a34.25%2034.25%200%200%201-17.18%204.56zm34.69-34.68c0%20.53%200%201.05-.07%201.51l-140.25-122.2L475.67%20142.8v243.12z%22%20style%3D%22fill%3A%234b4b4b%22%2F%3E%3C%2Fsvg%3E);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 2em;
    background-size: 20%;
    color: black;
}

#login,#join{
    background-image: url(./bg2.png);
    
}

#login H1,#join H1{
    margin-top: 109.5%;
}

#login >form, #join >form{ 
    height: 31.5%;
}

#login div:not([class]) , #join div:not([class]){
    width: 68%;
    margin: 0 auto;
    padding: 5px;
    padding-left: 15px;
}

#login div:not([class]){
    height: 40%;
}

#login >form >button,#join >form >button{
    margin: 0 auto;
    display: block;
    margin-top: 17%;
    font-size: 130%;
    width : 50%;
}

#join >form >button{
    margin-top: 10%;
}

#join form>div {
    padding-bottom: 0.5em;
}

.errmsg{    
    color: #fd3131;
    font-weight: 200;
    font-size: 0.75em;
    height: 2em;
    text-shadow: 2px 1px 9px black;
}
div.main >div{
    background-repeat: no-repeat;
    background-size: 100%;
}

.box{
    width : 100%;
    height: 100%;
    margin : 0 auto;
    position: relative;
    background-image: url(./bg1.png);
    overflow: hidden;
}
    
.subbox{
    width: 68%;
    height: 69%;
    padding-bottom: 2em;
    position: relative;
    margin: 0 auto;
    padding-left: 2%;
}

.linkbutton{
    border-radius: 0.25em;
    /* position: absolute; */
    display: block;
    margin: 0 auto;
    /* top: 23%; */
    /* left: 9%; */
    width: 61%;
    height: 10.5%;
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
    color : #1b2a74;
    /* z-index: 10; */
}

#top > div:not([class]){
    position: absolute;
    margin: 0 auto;
    top: 16%;
    width: 100%;
    height: 68%;
    background-image: url(./top01.png);
    background-size: 44%;
    background-position: 50% 4%;
    background-repeat: no-repeat;
}

#btnWish{
    height : 36%;
    background-image: url(./btnWish.png);
    margin-top: 28%;
}

#btnInvite{
    background-image: url(./btnInvite.png);
    top: 64%;
    margin-top: 6%;
}

#btnHistory{
    background-image: url(./btnHistory.png);
    margin-top: 4%;
}

#invite > div:not([class]){
    width: 68%;
    height: 70%;
    margin: 0 auto;
    padding-top: 1em;
    padding-left: 3%;
}

#inviteform{
    padding-top:3em;
}

#btnIntro{
    width: 45%; 
}

.msg{
    width: 66%;
    left: 18%;
    position: absolute;
    top: 30%;
    height: 5em;
}

.gotoBack, .gotoTop{
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
    display: inline-block;
    width: 17%;
    height: 89%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    line-height: 3.5em;
}


.gotoTop{
    background-image: url(./btnHome.png);

}

.gotoBack{
    background-image: url(./btnBack.png);
    
}

.previewtext{
    width: 80%;
    margin: 0 auto;
    left: 19%;
    color: #333333;
    padding: 0.5em;
    background-image: url(./input_bg.png);
    background-repeat: repeat-y;
    background-position: left;
    background-size: 100%;
    height: 82%;
    overflow: auto;
}

.previewtext > span{
    color: #333333;
}

#edit > table{
    top:39%;
    left: 19%;
    width: 64%;
    position: absolute;
}

th{
    font-size: 0.8em;
    text-align: left;
    padding : 0.5em 0 0 0;
}

#preview{
    display:none;
}

.warning{
    color: #f93c3c;
    text-shadow: 0 0 5px black;
}

#preview span{
    background-image: none;
    display: inline-block;
    height: auto;
}
#showhistory{
    
}

.txtcnt{
    background: none;
    display: inline-block;
    width: 2.5em;
    text-align: right;
    font-size: inherit;
    height: auto;
}

.showhistory{
border-bottom: 1px solid #898989;
    border-top: 1px solid #fbfbfb;
    width: 99%;
    padding: 0.25em 1em;
    margin: 0 auto;
}

.date,.toname{
    color : #333333;
    display: inline-block;
}

.date{
    font-size:0.5em;
}
.toname{
    width : 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

span.counter{
    background: none;
    display: inline-block;
    right: 0;
    position: absolute;
    font-size: 0.75em; 
    padding-right: 0.5em;
    height: auto;
    padding-top: 0.4em;

}


#history .subbox >div:not([class]){
    height: 82%;
    width: 96%;
    margin: 0 auto;
    
    background-image: url(./input_bg.png);
    background-repeat: repeat-y;
    background-position: left ;
    background-size: 100%;
    
    overflow: auto;
}

#invite >div.btnset,
#history >div.btnset{
    
}

#edit {
    padding-bottom: 2em;
}

#editInput{ 
    width: 95%;
    margin: 0 auto;
    padding-bottom: 9%;
}

#editInput .msg{   
    position: relative;
    top: 0;
    height: auto;
    width: 100%;
    left: 0;
    padding-bottom: 0.5em;
}

#wishform{
    height :100%;
}
.btnset{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    -webkit-align-items: center;
    align-items: center;
    
    position: relative;
    width: 66%;
    padding-left: 2%;
    height: 7%;
    margin: 0 auto;
    margin-top: 3%;
}

#btnPreview{
    padding: 0.75em;
    position: initial;
}
#btnRewrite{
    display: none;
    position: initial;
}
#askSubmit{
    display: none;
    position: initial;
}