/* --------------------------------
acordion
-------------------------------- */


/* Login用 acordion */

.ac-container {
    width: 100%;
}

.ac-container .emailid,
.password {
    display: none !important;
    font-size: 14px;
    border: none;
    float: left;
}

.ac-container label {
    background-color: #0CA6AA;
    border: 0.1rem solid #0CA6AA;
    border-radius: .3rem;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 13px;
    height: 3.4rem;
    width: 50%;
    line-height: 3.4rem;
    display: block;
    margin: -5rem 0 0 0;
    padding: 0 1.5rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    float: right;
}

.ac-container label:after {
    color: #fff;
    font-family: "FontAwesome", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino KakuGothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    content: "ログインする　\f067";
    margin: 0 1rem;
}

.ac-container input:checked ~ label::after {
    color: #fff;
    font-family: "FontAwesome", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino KakuGothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    content: "閉じる　\f068";
}

.ac-container #ac-1 {
    display: none;
}

.ac-container div {
    width: 100%;
    margin: 0 .1rem;
    margin-top: -1px;
    overflow: hidden;
    height: 0px;
    position: relative;
    z-index: 10;
    transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
}

.ac-container input:checked ~ div {
    transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
}

.ac-container p {
    line-height: 1.5;
    font-size: 11px;
    padding: 0;
}

.ac-container p a {
    color: #2490d0;
    padding: 0;
    line-height: 5;
    float: right;
}

.ac-container input:checked ~ div.ac-large {
    border: 1px solid #DCDCDC;
    padding: 1.5rem;
    height: auto;
}


/* ログイン後の表示 */

.ac-container-lg label {
    background-color: #FFFFFF;
    border: 0.1rem solid #2490d0;
    border-radius: .3rem;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 1.3rem;
    height: 3rem;
    line-height: 3rem;
    width: 50%;
    display: block;
    margin-top: -5.5rem;
    padding: 0 .8rem height: 3.8rem;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    float: right;
}

.ac-container-lg label:after {
    color: #2490d0;
    background-color: #FFFFFF;
    font-family: "FontAwesome", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino KakuGothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    content: "ログアウト";
    margin: 0 .5rem;
}

.ac-container-lg input:checked ~ label::after {
    background-color: #FFFFFF;
    color: #2490d0;
    font-family: "FontAwesome", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino KakuGothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    content: "ログインする　\f067";
    margin: 0 .5rem;
}


/* チェックボックス用 acordion */

.ac-container2 {
    width: 100%;
}

.ac-container2 #ac-2 {
    margin: 0 5px 0 30px;
}

.ac-container2 div {
    margin-top: -1px;
    overflow: hidden;
    height: 0px;
    position: relative;
    z-index: 10;
    transition: height 0.3s ease-in-out, box-shadow 0.6s linear;
}

.ac-container2 input:checked ~ div {
    transition: height 0.5s ease-in-out, box-shadow 0.1s linear;
}

.ac-container2 p {
    font-size: 1.6rem;
    margin-top: 2rem;
    padding-top: .3rem;
}

.ac-container2 input:checked ~ div.ac-large2 {
    height: auto;
}


/* Point用 acordion */

.ac-container3 {
    width: 100%;
}

.ac-container3 label {
    border: 1px solid #ddd;
    position: relative;
    color: #313131;
    background-color: #f1f1f1;
    border-radius: 2px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f1f1f1));
    background: -webkit-linear-gradient(top, #fff, #f1f1f1);
    background: -moz-linear-gradient(top, #fff, #f1f1f1);
    background: -ms-linear-gradient(top, #fff, #f1f1f1);
    background: -o-linear-gradient(top, #fff, #f1f1f1);
    background: linear-gradient(top, #fff, #f1f1f1);
    -pie-background: linear-gradient(top, #fff, #f1f1f1);
    font-size: 13px;
    height: 3.4rem;
    width: 50%;
    line-height: 3.4rem;
    margin: .1rem 0;
    padding: 0 1rem;
    text-align: center;
    float: right;
}

.ac-container3 label:after {
    color: #606c76;
    font-family: "FontAwesome", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino KakuGothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    content: "ポイント　\f067";
    margin: 0;
}

.ac-container3 input:checked ~ label::after {
    color: #606c76;
    font-family: "FontAwesome", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino KakuGothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    content: "閉じる　\f068";
}

.ac-container3 #ac-3 {
    display: none;
}

.ac-container3 div {
    width: 80%;
    margin-top: -1px;
    margin-left: 6rem;
    overflow: hidden;
    height: 0px;
    position: relative;
    z-index: 10;
    transition: 0.2s ease-in-out, 0.3s linear;
}

.ac-container3 input:checked ~ div {
    transition: 0.2s ease-in-out, 0.3s linear;
    border: 1px solid #ccc;
}

.ac-container3 input:checked ~ div.ac-large {
    height: auto;
    padding: 1rem;
}


/* Copon用 acordion */

.ac-container4 {
    width: 100%;
}

.ac-container4 label {
    border: 1px solid #ddd;
    position: relative;
    color: #313131;
    background-color: #f1f1f1;
    border-radius: 2px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f1f1f1));
    background: -webkit-linear-gradient(top, #fff, #f1f1f1);
    background: -moz-linear-gradient(top, #fff, #f1f1f1);
    background: -ms-linear-gradient(top, #fff, #f1f1f1);
    background: -o-linear-gradient(top, #fff, #f1f1f1);
    background: linear-gradient(top, #fff, #f1f1f1);
    -pie-background: linear-gradient(top, #fff, #f1f1f1);
    font-size: 13px;
    height: 3.4rem;
    width: 50%;
    line-height: 3.4rem;
    margin: 1rem 0 .1rem 0;
    padding: 0 1rem;
    text-align: center;
    float: right;
}

.ac-container4 label:after {
    color: #606c76;
    font-family: "FontAwesome", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino KakuGothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    content: "クーポン　\f067";
    margin: 0;
}

.ac-container4 input:checked ~ label::after {
    color: #606c76;
    font-family: "FontAwesome", "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino KakuGothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    content: "閉じる　\f068";
}

.ac-container4 #ac-4 {
    display: none;
}

.ac-container4 div {
    width: 80%;
    margin-left: 6rem;
    margin-top: -1px;
    overflow: hidden;
    height: 0px;
    position: relative;
    z-index: 10;
    transition: 0.2s ease-in-out, 0.3s linear;
}

.ac-container4 input:checked ~ div {
    transition: 0.2s ease-in-out, 0.3s linear;
    border: 1px solid #ccc;
}

.ac-container4 p {
    line-height: 1.5;
    font-size: 13px;
    margin: auto;
    padding: 0;
    text-align: right;
}

.ac-container4 input:checked ~ div.ac-large {
    height: auto;
    padding: 1rem;
}


/* Radio+CheckBox用 acordion */

.accordion {
    border: 1px solid #DCDCDC;
    margin-bottom: 1rem;
}

.accordionbox input + label div {
    opacity: 0;
    padding: 0px 0px;
    height: 0px;
    font-weight: 300;
    overflow: hidden;
}

.accordionbox input:checked + label div {
    opacity: 1;
    height: auto;
    font-size: 14px;
}

.accordionbox div {
    transition: all 0.2s ease-out 0s;
}


/* 続きを読む用 acordion */

.grad-wrap {
    position: relative;
}

.grad-link {
    z-index: 3;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: -1rem auto;
    padding: .5em 0;
    font-size: 1.3rem;
    text-align: right;
    color: #0CA6AA;
    line-height: .2;
    text-decoration: underline;
}

.grad-link::before {
    content: "すべて表示";
}

.grad-item {
    position: relative;
    overflow: hidden;
    margin: auto;
    height: 3.5px;
}

.grad-trigger:checked ~ .grad-link::before {
    content: "閉じる";
}

.grad-trigger:checked ~ .grad-item {
    height: auto;
}

.grad-trigger:checked ~ .grad-item::before {
    display: none;
}


/* 横向きの場合のスタイル */

@media screen and (orientation: landscape) and (max-width: 992px) {
    .ac-container input:checked ~ div.ac-large {
        height: 300px;
        margin: 1rem;
        padding: 0 1rem;
        border: 1px solid #DCDCDC;
    }
    .ac-container2 input:checked ~ div.ac-large2 {
        height: 500px;
    }
    .ac-container p a {
        font-size: 1.3rem;
        margin: 1rem 0;
        padding: 0 1rem;
    }
}
