/**/

body,html {
    height:100%;
}

body {
    color:#231815;
    line-height: 1.6;
    margin:0;
    padding:0;
    font-family:sans-serif;
    background-color:#fff;
}

a {
    text-decoration: none;
}
div, section, article, header, footer, aside, figure, nav, li, img, a, span, p, dl, ol, ul, td, th, table {
    box-sizing:border-box;
}


.txc {
    text-align: center;
}
.txr {
    text-align: right;
}
.b {
    font-weight:bold !important;
}

.jf {
    text-align: justify;
}

.m0 {
    margin:0 !important;
}
.mt0 {
    margin-top: 0 !important;
}
.mb0 {
    margin-bottom: 0 !important;
}

.mt025em {
    margin-top: 0.25em;
}
.mt05em {
    margin-top: 0.5em;
}
.mt1em {
    margin-top: 1em;
}
.mt2em {
    margin-top:2em !important;
}
.mt3em {
    margin-top:3em !important;
}
.pink {
    color:#EB6EA5 !important;
}
.gray {
    color:rgba(0,0,0,.9);
}

.pt0 {
    padding-top: 0 !important;
}
.pb0 {
    padding-bottom: 0 !important;
}
.pr05em {
    padding-right:.5em !important;
}
.pb1em {
    padding-bottom:1em !important;
}

.fs80 {
    font-size:80% !important;
}
.fs90 {
    font-size:90% !important;
}
.fs100 {
    font-size:100% !important;
}
.fs110 {
    font-size:110% !important;
}
.fs120 {
    font-size:120% !important;
}
.fs125 {
    font-size:125% !important;
}

.flexContainer {
    display: flex;
}
.tbl {
    display:table;
}
.tbl .tr {
    display: table-row;
}
.tbl .cell {
    display: table-cell;
}
.cell.vt {
    vertical-align: top;
}

.replaceElm {
    background-repeat: no-repeat;
    display: block;
    text-indent: -9999px;
    overflow: hidden;
}

.nodisp {
    display:none !important;
}

.swInner {
    position:relative;
}


/*
------------------------------------------------------------------------------------
*
*
*   header
*
*
------------------------------------------------------------------------------------
*/
#header {
    font-size:100%;
    height:3em;
    width:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:3;
    background-color: #eeeeee;
    color:#000;
    text-align: center;
    line-height: 3em;
    letter-spacing: .2em;
    border-bottom:1px solid #87bc5f;

    transform: translate3d(0, 0, 0);
}

/*
------------------------------------------------------------------------------------
*
*
*   footer Menu
*
*
------------------------------------------------------------------------------------
*/
#footerNav {
    font-size:100%;
    height:3em;
    width:100%;
    position:fixed;
    bottom:0;
    left:0;
    z-index:5;
}
#btnOpen {
    display: block;
    height:100%;
    background:url(../img/btn-footer.png) no-repeat 50% top/cover #e08cb2;
}
#btnClose {
    display: block;
    height:100%;
    background:url(../img/btn-footer-close.png) no-repeat 50% top/cover #b286b7;
}

/*
------------------------------------------------------------------------------------
*
*
*   Drawer Navigation
*
*
------------------------------------------------------------------------------------
*/

#drawerNav {
    height:100%;
    width:100%;
    position: fixed;
    top:100%;
    left:0;
    background-color:#e08cb2;
    z-index:4;
    /*opacity:0;*/

    transition: all 360ms 0s ease-in-out;
}
#drawerNav.open {
    top:0;
    /*opacity:1;*/
}
#drawerNav .swInner {
    height:100%;
}

#drawerNavHeader {
    height:3em;
    font-size: 100%;
    width:100%;
    display:block;
    background:url(../img/drawer-nav-header.png) no-repeat 50% top;
    background-size: auto 100%;
}

#drawerItems {
    padding:0;
    /*position:absolute;*/
    /*top:3em;*/
    /*left:0;*/
    /*right:0;*/
    /*bottom:3em;*/
    /*margin:auto;*/
    overflow-y: scroll;
    background-color: #e08cb2;
}

#drawerItems ul {
    padding:0;
    margin: 0;
}
#drawerItems ul li {
    padding:0.4em 0;
    display:block;
    margin:0;
    text-align: center;
}
#drawerItems ul li a {
    text-align: center;
    color:#000;
}


/*
------------------------------------------------------------------------------------
*
*
*   viewport
*
*
------------------------------------------------------------------------------------
*/
#viewport {
    padding-top:3em;
    padding-bottom:3em;
    height:100%;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}


/*
------------------------------------------------------------------------------------
*
*
*   coverPage
*
*
------------------------------------------------------------------------------------
*/
.coverPage {
    height:100%;
    width:100%;
    position:relative;
    overflow-y: hidden;
}
.coverPage img {
    position: absolute;
    left:0;
    right:0;
    top:-50%;
    bottom:-50%;
    margin:auto;
    width:100%;
    height:auto;
}

#topCoverPage {
    background: url(../img/logo-sawarabi.png) no-repeat 50% 50% #fff;
    background-size: 100% auto;
    height:100%;
}
#next55,
#promise,
#contactList {
    background-color: #EE87B4;
}


/*
------------------------------------------------------------------------------------
*
*
*   pg
*
*
------------------------------------------------------------------------------------
*/

.page__background {
    background-color:#fff;
}
.pg {
    width:100%;
}
.pg img {
    max-width:100%;
    height:auto;
}


.innerText {
    padding: 4em 3em;
}
.innerText p {
    text-indent: 1em;
    text-align: justify;
    font-size: 94%;
    line-height: 1.6;
}
.innerText p.txt {
    text-indent: 0;
}
.underLine {
    border-bottom:4px solid #F7C9DD;
    /*border-bottom:4px solid #E4007F;*/
}

.swTitle {
    color:rgba(0,0,0,.9);
    font-size:110% !important;
}
.flex {
    display:flex;
}



#principal .name,
#greeting .name {
    font-size: 120%;
    padding-left: 1em;
}

.swTitleWrapper {
    text-align: center;
    border-bottom:1px solid #E4007F;
    padding:.6em 0;
}
.swTitleWrapper h3 {
    font-size:90%;
    font-weight: bold;
    margin:0;
    letter-spacing: .12em;
}
.swTitleWrapper h4 {
    font-size: 75%;
    font-weight: bold;
    margin: 0;
    padding:.2em 0 0;
}

.swSubTitleWrapper {
    font-weight: bold;
    font-size:80%;
    border-radius: .75em;
    background-color:#F7C9DD;
    margin:1.5em 0;
    text-align: center;
    letter-spacing: .12em;
    padding:.4em 1em;
}
.swSubTitle {
    color:#E4007F;
    font-weight: bold;
    font-size:80%;
    margin:1em 0;
    letter-spacing: .12em;
}
.swTitleBdrLeft {
    color:#EB6EA5;
    border-left:4px solid #EB6EA5;
    padding:2px 0 2px 10px;
    font-size:100%;
    font-weight:bold;
    margin:1em 0;
}

.borderBox {
    padding:1em;
    border:1px solid #EB6EA5;
}
.borderBox .borderBoxTitle {
    text-align:center;
}

.contactItem {
    margin-bottom: 1em;
    padding-bottom: 1em;
    border-bottom: 1px dotted #231815;
}
.contactItem.noBorder {
    border-bottom: 0 none;
}
.contactItem .name {
    font-size:100%;
    letter-spacing: .12em;
    font-weight: 500;
}
.contactItem .address,
.contactItem .tel,
.contactItem .fax,
.contactItem .mail {
    font-size:90%;
    letter-spacing: .12em;
    margin: .4em 0;
    padding:0;
}



.pg .inner {
    position:relative;
}

#pgLink {
    padding-bottom:3em;
}
.linkURLWrapper {
    padding-bottom:1em;
    text-align: center;
}
.linkURLWrapper .linkURL {
    text-decoration: none;
}
.linkURL .linkTitle {
    font-weight: bold;
    color:#231815;
}
.linkTitle .linkTitleSmall {
    font-size:80%;
}
.linkURL .linkText {
    font-size:90%;
}
