@charset "UTF-8";
/* CSS Document */

/*------リセット------*/
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, table, caption, tbody, tfoot, thead, tr, th, td, 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;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
a{
    color: inherit;
}
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;
}
/*------リセットここまで------*/

body {
    /*font-family: "Sawarabi Mincho";*/
	/*font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";*/
    font-family: 'Yu Mincho', YuMincho, 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'HGP明朝B', serif;
    background-color: #F4F2E7;/*	text-align: center;*/
    font-size: 14px;
}

@media (max-width:520px) {
body {
    font-size: 13px;
}
}
.clearfix {
    zoom: 1;
}
.clearfix:before, .clearfix:after {
    content: "";
    display: table;
}
.clearfix:after {
    clear: both;
}
img {
    width: 100%;
    height: auto;
}
.wf-sawarabimincho {
    font-family: "Sawarabi Mincho";
}
.gothic {
    font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
.copy, p {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8em;
    letter-spacing: 0.04em;
    text-align: justify;
}

@media (max-width:520px) {
p {
    font-size: 13px;
}
}
.txt-bold {
    font-weight: bold;
}
.txt-orange {
    color: #E3801E;
}
.txt-red {
    color: #D91C24;
}
.txt-vermilion {
    color: #DD5A24;
}
h3 {
    font-family: "Sawarabi Mincho";
    font-size: 20px;
    line-height: 2em;
    font-weight: bold;
}
.tategaki {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
.line-dotted {
    background-image: radial-gradient(#000000 35%, transparent 0), radial-gradient(#000000 35%, transparent 0);
    background-position: 0 0, 8px 8px;
    background-size: 8px 8px;
    width: 8px;
    height: 100%;
}
#pageTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
}
#pageTop img {
    width: 46px;
}
#pageTop a {
    display: block;
    z-index: 999;
    padding: 4px 0 8px;
    border-radius: 33px;
    width: 66px;
    height: 54px;
    background-color: rgba(244,242,231,0.5);
    text-align: center;
}
#pageTop a:hover {
    text-decoration: none;
    opacity: 0.7;
}
.bg_white:before, .bg_white:after {
    content: "";
    display: block;
    width: 100%;
    height: 30px;
    background-position: center;
    background-repeat: no-repeat;
}
.bg_white:before {
    background-image: url(../img/bg_white_top.png);
}
.bg_white:after {
    background-image: url(../img/bg_white_bottom.png);
}
.bg_white > div {
    background-color: #ffffff;
}
/* Bob */
@-webkit-keyframes hvr-bob {
 0% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
 50% {
 -webkit-transform: translateY(-4px);
 transform: translateY(-4px);
}
 100% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
}
@keyframes hvr-bob {
 0% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
 50% {
 -webkit-transform: translateY(-4px);
 transform: translateY(-4px);
}
 100% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
}
@-webkit-keyframes hvr-bob-float {
 100% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
}
@keyframes hvr-bob-float {
 100% {
 -webkit-transform: translateY(-8px);
 transform: translateY(-8px);
}
}
.hvr-bob {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
	width: 100%;
}
.hvr-bob:hover, .hvr-bob:focus, .hvr-bob:active {
    -webkit-animation-name: hvr-bob-float, hvr-bob;
    animation-name: hvr-bob-float, hvr-bob;
    -webkit-animation-duration: .3s, 1.5s;
    animation-duration: .3s, 1.5s;
    -webkit-animation-delay: 0s, .3s;
    animation-delay: 0s, .3s;
    -webkit-animation-timing-function: ease-out, ease-in-out;
    animation-timing-function: ease-out, ease-in-out;
    -webkit-animation-iteration-count: 1, infinite;
    animation-iteration-count: 1, infinite;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-direction: normal, alternate;
    animation-direction: normal, alternate;
}

/* Bobここまで */


@media (max-width:720px) {
.pc_only {
    display: none;
}
}

@media (min-width:721px) {
.sp_only {
    display: none;
}
}

@media (max-width:480px) {
.pc_only480 {
    display: none;
}
}

@media (min-width:481px) {
.sp_only480 {
    display: none;
}
}
