@charset "UTF-8";

/* -----------------------------------------------------------
	reset
----------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
caption,
tbody,
tfoot,
thead,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

html,
body {
    height: 100%;
}

table,
tr,
th,
td {
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* -----------------------------------------------------------
	共通装飾等
----------------------------------------------------------- */
html,
body {
    height: 100%;
}

@font-face {
    font-family: はれのそら明朝;
    src: url('fonts/harenosora_web.woff2') format("woff2");
}

.harenosora {
    font-family: 'はれのそら明朝', sans-serif;
}

body {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    -webkit-text-size-adjust: 100%;
    font-size: 105%;
    line-height: 1.8em;
    color: #000;
    overflow-x: hidden;
}

a {
    color: #000;
}

.inner {
    max-width: 1180px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

input[name="image"]:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}

img {
    -webkit-backface-visibility: hidden
}

img a:hover {
    filter: alpha(opacity=70);
    opacity: 0.70;
}

@media screen and (max-width:1180px) {
    .inner {
        width: 90%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    img {
        max-width: 100%;
        height: auto;
        width
        /***/
        : auto;
    }
}

/*=======================================================*/
/* float解除
/*=======================================================*/
.clearfix {
    zoom: 1;
    /*for IE 5.5-7*/
}

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    font-size: 0.1em;
    line-height: 0;
}

.clearfix {
    display: inline-table;
}

/* Hides from IE-mac \*/
* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

/* End hide from IE-mac */

/* margin*/
.mt_5 {
    margin-top: 5px;
}

.mt_10 {
    margin-top: 10px;
}

.mt_20 {
    margin-top: 20px;
}

.mt_30 {
    margin-top: 30px;
}

.mt_40 {
    margin-top: 40px;
}

.mt_50 {
    margin-top: 50px;
}

.mt_100 {
    margin-top: 100px;
}

.ml_5 {
    margin-left: 5px;
}

.ml_20 {
    margin-left: 20px;
}

.ml_30 {
    margin-left: 30px;
}

.ml_40 {
    margin-left: 40px;
}

.ml_50 {
    margin-left: 50px;
}

.ml_60 {
    margin-left: 60px;
}

.ml_70 {
    margin-left: 70px;
}

.ml_80 {
    margin-left: 80px;
}

.mr_5 {
    margin-right: 5px;
}

.mr_10 {
    margin-right: 10px;
}

.mr_20 {
    margin-right: 20px;
}

.mr_30 {
    margin-right: 30px;
}

.mb_0 {
    margin-bottom: 0px !important;
}

.mb_5 {
    margin-bottom: 5px;
}

.mb_10 {
    margin-bottom: 10px;
}

.mb_20 {
    margin-bottom: 20px;
}

.mb_30 {
    margin-bottom: 30px;
}

.mb_40 {
    margin-bottom: 40px;
}

.mb_50 {
    margin-bottom: 50px !important;
}

.mb_60 {
    margin-bottom: 60px;
}

.mb_70 {
    margin-bottom: 70px;
}

.mb_80 {
    margin-bottom: 80px;
}

/*----- 横幅指定 -----*/
.wd1 {
    width: 1%;
}

.wd5 {
    width: 5%;
}

.wd10 {
    width: 10%;
}

.wd13 {
    width: 13%;
}

.wd15 {
    width: 15%;
}

.wd20 {
    width: 20%;
}

.wd25 {
    width: 25%;
}

.wd30 {
    width: 30%;
}

.wd35 {
    width: 35%;
}

.wd37 {
    width: 37%;
}

.wd40 {
    width: 40%;
}

.wd44 {
    width: 44%;
}

.wd45 {
    width: 45%;
}

.wd50 {
    width: 50%;
}

.wd60 {
    width: 60%;
}

.wd65 {
    width: 65%;
}

.wd70 {
    width: 70%;
}

.wd75 {
    width: 75%;
}

.wd80 {
    width: 80%;
}

.wd85 {
    width: 85%;
}

.wd90 {
    width: 90%;
}

.wd95 {
    width: 95%;
}

.wd100 {
    width: 100%;
}


/* -----------------------------------------------------------
	商品ページ メイン
----------------------------------------------------------- */
#maintitle {
    max-height: 652px;
    overflow-y: hidden;
}

#maintitle img {
    width: 100%;
}

/* -----------------------------------------------------------
	商品ページ フローティングカートボタン
----------------------------------------------------------- */
.floating {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 0;
    top: 20%;
    z-index: 999999;
}

@media screen and (max-width:1024px) {
    .floating {
        display: none !important;
    }
}

/* -----------------------------------------------------------
	商品ページ カート周り
----------------------------------------------------------- */
.name {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 80px 0 16px 0;
}

#cart {
    margin: 46px auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#cart .list {
    width: 48%;
    text-align: center;
}

#cart .list p {
    font-size: 1.3rem;
    margin-bottom: 16px;
    display: block;
}

#cart .list p span {
    font-size: 1.7rem;
    color: #8C0000;
    margin: 0 0 0 8px;
}

#cart .list table {
    margin: 0 auto 46px auto;
    border-collapse: collapse;
    width: 100%;
    line-height: 1.4em;
}

#cart .list td {
    padding: 16px 8px;
    border: 1px solid #ccc;
    vertical-align: middle;
    text-align: left;
    box-sizing: border-box;
}

#cart .list tbody th {
    padding: 16px 8px;
    text-align: center;
    border: 1px solid #ccc;
    vertical-align: middle;
    font-weight: bold;
    box-sizing: border-box;
    width: 20%;
}

#cart .list thead th {
    background-color: #eee;
    padding: 8px;
    text-align: center;
    border: 1px solid #ccc;
    vertical-align: middle;
    font-weight: bold;
    box-sizing: border-box;
}

#cart .list img {
    max-width: 347px;
    margin: 0 auto;
}

#cart .photo {
    width: 48%;
}

#cart .photo h3 {
    font-size: 1.5rem;
    margin: 32px 0 8px 0;
    color: #005278;
    font-weight: 800;
}

#cart .photo p a {
    display: inline-block;
    background-color: #005278;
    color: #fff;
    padding: 8px 16px;
    box-sizing: border-box;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    text-decoration: none;
    margin-top: 24px;
}

#cart #main {
    border: 1px solid #ccc;
    margin-bottom: 10px;
    min-height: 550px;
    text-align: center;
    padding: 30px;
    box-sizing: border-box;
}

#cart #main img {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

#cart #thumbnail {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    flex-wrap: wrap;
}

#cart #thumbnail li {
    cursor: pointer;
    display: block;
    min-width: 126px;
    min-height: 126px;
    max-width: 126px;
    max-height: 126px;
    padding: 8px;
    margin: 8px 7px 8px 7px;
    text-align: center;
    box-sizing: border-box;
    border: 1px solid #ccc;
}

#cart #thumbnail li:hover {
    border: 2px solid #ccc;
}

#cart #thumbnail li.current {
    border: 2px solid #ccc;
}

#cart #thumbnail li img {
    width: auto;
    height: 100%;
    margin: 0 auto;
}

@media screen and (max-width:768px) {
    .name {
        font-size: 1.6rem;
        font-weight: bold;
        margin: 46px 0 16px 0;
    }

    #cart {
        margin: 16px auto;
        display: block;
    }

    #cart .list {
        width: 100%;
    }

    #cart .photo {
        width: 100%;
    }

    #cart .photo p a {
        margin: 24px auto;
    }

    #cart #main {
        min-height: 350px;
    }

    #cart #thumbnail li {
        min-width: 69px;
        min-height: 69px;
        max-width: 69px;
        max-height: 69px;
        margin: 8px 7px 8px 7px;
    }
}

@media only screen and (max-width:480px) {
    #cart .list td {
        padding: 8px 8px;
    }

    #cart .list tbody th {
        padding: 8px 8px;
    }

    #cart .list thead th {
        padding: 8px;
    }
}

/* -----------------------------------------------------------
	商品ページ ご購入について
----------------------------------------------------------- */
#about_purchase {
    margin: 70px auto;
}

#about_purchase h3 {
    font-size: 1.5rem;
    margin: 32px 0 8px 0;
    color: #005278;
    font-weight: 800;
}

/* -----------------------------------------------------------
	emaki
----------------------------------------------------------- */
.emaki {
    background: url("../images/top/emaki_bg.jpg");
    padding: 60px 0 30px 0;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.8em;
    overflow: hidden;
}

.emaki h2 {
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 46px;
    line-height: 1.5em;
}

.emaki p {
    margin-bottom: 46px;
}

@media screen and (max-width:768px) {
    .emaki {
        padding: 60px 0 30px 16px;
        font-size: 1.3rem;
    }

    .emaki h2 {
        font-size: 1.8rem;
        margin-bottom: 24px;
        margin-right: 16px
    }

    .emaki h2 span {
        font-size: 2.2rem;
        display: block;
    }

    .emaki p {
        margin-bottom: 24px;
        margin-right: 16px;
        text-align: left;
    }

    .emaki img {}
}

/* -----------------------------------------------------------
	attention
----------------------------------------------------------- */
.attention {
    border: 1px #444 solid;
    padding: 30px;
    box-sizing: border-box;
    margin: 70px auto 0 auto;
    line-height: 1.5em;
}

.attention h2 {
    text-align: center;
    font-size: 1.6rem;
    background-color: #eee;
    padding: 16px;
    box-sizing: border-box;
}

.attention ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
}

.attention li {
    width: 48%;
}

.attention h3 {
    font-size: 1.5rem;
    margin: 40px 0 8px 0;
    color: #005278;
    font-weight: 800;
}

@media screen and (max-width:767px) {
    .attention ul {
        display: block;
    }

    .attention li {
        width: 100%;
    }

    .attention h3 {
        margin: 32px 0 8px 0;
    }
}

/* -----------------------------------------------------------
	case-product
----------------------------------------------------------- */
.case-product h2 {
    padding: 46px 24px;
    box-sizing: border-box;
    margin-bottom: 50px;
    text-align: center;
    margin-top: 90px;
}

.case-product h2.tit_case01 {
    background: url("../images/top/bg_case01.jpg") center no-repeat;
    background-size: cover;
}

.case-product h2.tit_case02 {
    background: url("../images/top/bg_case02.jpg") center no-repeat;
    background-size: cover;
}

.case-product h2.tit_case03 {
    background: url("../images/top/bg_case03.jpg") center no-repeat;
    background-size: cover;
}

.case-product h3 {
    font-family: 'はれのそら明朝', sans-serif;
    margin-top: 24px;
    margin-bottom: 16px;
    font-size: 2rem;
    line-height: 1.5em;
}

.case-product h3 strong {
    color: #8C0000;
}

.case-product h3 span {
    display: inline;
}

@media screen and (max-width:768px) {
    .case-product h3 {
        margin-bottom: 24px;
        font-size: 1.6rem;
    }
}

/*=======================================================*/
/*  month
/*=======================================================*/
#month {
    margin: 100px auto;
}

#month .month_v {
    display: -webkit-flex;
    display: flex;
    line-height: 0;
}

#month .month_v .ph {
    margin-right: 140px;
}

#month .month_v .txt {}

#month .month_v img {
    width: 100%;
}

#month ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-top: 160px;
    flex-wrap: wrap;
}

#month li {
    text-align: center;
    width: 23%;
    position: relative;
    margin-bottom: 60px;
    margin-left: 1%;
    margin-right: 1%;
}

#month li h3 {
    width: 48px;
    line-height: 0;
    position: absolute;
    right: 0;
    top: 0;
}

#month li h4 {
    color: #005278;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 8px;
}

#month li .specific {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 10px;
}

#month li img {
    max-width: 100%;
}

#month li .thum {
    border-bottom: 1px #005278 solid;
    padding-bottom: 16px;
    margin-bottom: 16px;
}

#month li dl {
    font-size: 0.8rem;
    text-align: left;
    overflow: hidden;
    line-height: 1.4em;
}

#month li dt {
    float: left;
    clear: left;
}

#month li dt:after {
    content: "：";
}

#month li dd {
    float: left;
}

#month li .maker {
    background-color: #F0F0E1;
    padding: 5px;
    box-sizing: border-box;
    font-size: 1.1rem;
    margin: 8px 0;
}

#month li .description {
    text-align: left;
}

#month .vs li .thum img {
    height: 200px;
}

#month .vs li h3 {
    width: 82px;
    line-height: 0;
    display: block;
    margin: 0 auto;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
}

@media screen and (max-width:1024px) {
    #month .month_v {
        padding: 0 1%
    }

    #month .month_v .ph {
        margin-right: 40px;
    }
}

@media screen and (max-width:767px) {
    #month {
        margin: 50px auto;
    }

    #month .month_v {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: flex-start;
        align-items: flex-start;
        -webkit-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin: 0 16px;
    }

    #month .month_v .ph {
        margin-right: 0;
    }

    #month ul {
        margin-top: 60px;
    }

    #month li {
        width: 47%;
        margin-bottom: 32px;
    }

    #month li h3 {
        width: 38px;
    }

    #month li h4 {
        font-size: 1.3rem;
    }

    #month li .maker {
        font-size: 1rem;
    }
}

/*=======================================================*/
/*  accordion
/*=======================================================*/
.acbox {
    margin-bottom: 2px
}

.acbox label {
    text-align: center;
    background: #005278;
    position: relative;
    display: block;
    padding: 16px;
    cursor: pointer;
    color: #fff;
    line-height: 1em;
}

.acbox label img {
    max-width: 100%;
}

.acbox input {
    display: none;
}

.acbox label:after {
    color: #fff;
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -14px;
    content: '';
    display: inline-block;
    width: 37px;
    height: 30px;
    background-image: url(../images/product/accordion_arrow_bottom.gif);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.acbox input:checked~label::after {
    content: '';
    display: inline-block;
    width: 37px;
    height: 30px;
    background-image: url(../images/product/accordion_arrow_top.gif);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}

.acbox .acbox-under {
    height: 0px;
    overflow: hidden;
    opacity: 0;
    transition: 0.35s;
}

.acbox input:checked~div {
    height: auto;
    padding: 24px 0 0 0;
    opacity: 1;
}

.acbox input:checked~label {}

.acbox-under {}

@media screen and (max-width:767px) {
    .acbox label img {
        width: 60%;
    }

    .acbox label:after {
        top: 60%;
        right: 15px;
        width: 25px;
        height: 20px;
    }

    .acbox input:checked~label::after {
        width: 25px;
        height: 20px;
    }
}

/*=======================================================*/
/*  indent
/*=======================================================*/
.indent-1 {
    text-indent: -1em;
    margin-left: 1em;
    text-align: left;
}

.indent {
    margin-left: 1em;
}

/* -----------------------------------------------------------
	PCで見えない
----------------------------------------------------------- */
.pc-hidden {
    display: none;
}

@media screen and (max-width:1024px) {
    .pc-hidden {
        display: block;
    }
}

/* -----------------------------------------------------------
	SPで見えない
----------------------------------------------------------- */
.sp-hidden {
    display: none;
}

@media screen and (max-width:1001px) {
    .sp-hidden {
        display: block;
    }
}


/* -----------------------------------------------------------
	テキスト
----------------------------------------------------------- */
.text_c {
    text-align: center;
}

.text_l {
    text-align: left;
}

.text_r {
    text-align: right;
}

.font-s {
    font-size: 0.9rem;
}

/* -----------------------------------------------------------
	フェードイン
----------------------------------------------------------- */
#wrapper {
    overflow-x: hidden;
}

.fade-in {
    opacity: 0;
    transition-duration: 900ms;
    transition-property: opacity, transform;
}

.fade-in-up {
    transform: translate(0, 50px);
}

.fade-in-down {
    transform: translate(0, -50px);
}

.fade-in-left {
    transform: translate(-50px, 0);

}

.fade-in-right {
    transform: translate(50px, 0);
}

.scroll-in {
    opacity: 1;
    transform: translate(0, 0);
}