@charset 'UTF-8';

/* ***************************************************
*
* #breakpoint(basic rule)
* - max 1023 / min 1024
* - max 767 / min 768
* - max 639 / min 640
* - max 479 / min 480
*
* #util class
* - .sp-none: display none !important; / @media max-width 1023px
* - .acenter: margin: 0 auto; text-align: center;
* - .acenter img: margin: 0 auto;
* - .h2: margin-bottom: 10px; font-size: 18px; font-weight: bold;
* - .h3: margin-bottom: 10px; font-size: 16px; font-weight: bold;
* - img.center, figure.center: display: block; margin: 10px auto;
* - .noborder: border: none !important;
*
* #font size
* - base: 13px
* - unit rule: px
* - valiation: 10px / 11px / 12px / 14px / 16px / 18px / 20px / 24px / 26px / 28px / 32px
*
* #font size
* - base: 1.5
* - unit rule: no unit
* - valiation: 1 / 1.3 / 1.5 / 1.8 / 2 / 2.4 or specific pixel value
*
* #other rule
* - opacity valiation: 0.7 / 1
* - don't use px(or other unit) when a value is 0
*
*****************************************************/

/*----------------------------------------------------
 リセット
----------------------------------------------------*/
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,
font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,
th,td,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
    border: none;
    margin: 0;
    padding: 0;
    outline: 0;
    vertical-align: baseline;
    font-family: inherit;
    font-size: 100%;
    font-weight: inherit;
    font-style: inherit;
}
ul {
    list-style: none;
}
ol {
    list-style: decimal inside;
}
table {
    border-spacing: 0;
    border-collapse: separate;
}
caption,
th,
td {
    text-align: left;
    font-weight: normal;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
}
ol,
ul,
dl,
div,
section,
article,
footer,
header {
    zoom: 1;
}
dl:after,
div:after,
section:after,
article:after,
footer:after,
header:after,
.clearfix:after,
.cf:after {
    content: '';
    display: block !important;
    clear: both;
    visibility: hidden;
    height: 0;
}
.has-grid,
ul.has-grid {
    display: table;
    letter-spacing: -0.4em;
}
.has-grid li span,
.has-grid > span,
.has-grid > div,
.has-grid > ul,
.has-grid > li {
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;

    *display: inline;
    *zoom: 1;
}
.has-grid .icon {
    position: static;
}
.clickable a {
    display: block;
    text-decoration: none;
}
.clickable a:hover {
    text-decoration: none;
}
.clickable a:hover .title {
    text-decoration: underline;
}
.clickable a:hover .blue {
    text-decoration: underline;
}

/*----------------------------------------------------
 ベース
----------------------------------------------------*/
html {
    overflow-y: scroll;
}
img {
    display: block;
    -ms-interpolation-mode: bicubic;
    width: auto\9;
    max-width: 100%;
    max-width: none\9;
    height: auto;

    image-rendering: optimizequality;
}
p {
    word-break: break-all;
}
/* layout処理 */
.left {
    float: left;

    *display: inline;
}
.right {
    float: right;

    *display: inline;
}
.layout-center {
    position: relative;
    margin-right: auto;
    margin-left: auto;
}
img.layout-center {
    display: block;
}
.clear {
    clear: both;
}
.overflow-hidden {
    overflow: hidden;
}
/* テキスト処理 */
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-left {
    text-align: left;
}
.underline {
    text-decoration: underline;
}
.bold {
    font-weight: bold;
}
.normal {
    font-weight: normal;
}
/* display と visibility　*/
.hide {
    display: none;
}
.show,
.isBlock {
    display: block;
}
.isInline {
    display: inline;
}
.isInline-block {
    display: inline-block;
    zoom: 1;
}
*:first-child + html .isInline-block {
    display: inline;
}
.isInvisible {
    visibility: hidden;
}
/* ulに対して追加 */
.list-square {
    list-style: square inside;
}
.list-disc {
    list-style: disc inside;
}
.list-circle {
    list-style: circle inside;
}
ul ul,
ol ol {
    margin: 0 0 0 20px;
}
/* position */
.pos-rel {
    position: relative;
}
.pos-abs {
    position: absolute;
}
/* テキスト飛ばし */
.replace,
.ir {
    display: block;
    overflow: hidden;
    text-align: left;
    text-indent: -999em;
    background-repeat: no-repeat;

    direction: ltr;
}
/* リンク hoverで透明度を下げる */
a:hover img.trans,
a.trans:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    cursor: pointer;
}
/* ベースフォント設定 */
body {
    font: 13px 'メイリオ','ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic', 'ＭＳ Ｐゴシック', 'lucida grande',tahoma,verdana,arial, sans-serif;
    line-height: 1.5;
}
pre,
code,
kbd,
samp {
    font-family: monospace;
}
strong,
em,
th {
    font-weight: bold;
    font-style: normal;
}
sub {
    vertical-align: sub;
    font-size: smaller;
}
sup {
    vertical-align: super;
    font-size: smaller;
}
/* headings */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    word-break: break-all;
    font-weight: normal;
}
a {
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}
blockquote {
    padding: 0 10px;
}
cite {
    display: block;
    text-align: right;
    font-size: 10px;
}
code,
pre {
    padding: 0 4px 2px;
    font-size: 12px;
}
code {
    display: inline-block;
    padding: 4px 6px 2px;
}
pre,
kbd {
    display: block;
    margin: 0 0 20px;
    padding: 10px;
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
    word-break: break-all;
    font-size: 14px;
}
kbd {
    display: inline;
    padding: 2px 4px;
    font-size: 11px;
}
.noborder {
    border: none !important;
}
/* table */
table {
    border-spacing: 0;
    border-collapse: collapse;
}
.table {
    width: 100%;
    margin: 0 0 20px;
}
caption {
    padding: 8px;
}
.table th,
.table td {
    padding: 8px;
    text-align: left;
}
.table th {
    font-weight: bold;
}
.cleanline td {
    border-top: 0 !important;
}

/*----------------------------------------------------
 スペース
    p,m = paddingとmargin
    a,t,r,b,l,h,v = all,top,right,bottom,left,horizontal,vertical
    s,m,l,n = small(7px),medium(14px),large(21px),none(0) 
----------------------------------------------------*/
.ptn,
.pvn,
.pan {
    padding-top: 0 !important;
}
.pts,
.pvs,
.pas {
    padding-top: 7px !important;
}
.ptm,
.pvm,
.pam {
    padding-top: 14px !important;
}
.ptl,
.pvl,
.pal {
    padding-top: 21px !important;
}
.prn,
.phn,
.pan {
    padding-right: 0 !important;
}
.prs,
.phs,
.pas {
    padding-right: 7px !important;
}
.prm,
.phm,
.pam {
    padding-right: 14px !important;
}
.prl,
.phl,
.pal {
    padding-right: 21px !important;
}
.pbn,
.pvn,
.pan {
    padding-bottom: 0 !important;
}
.pbs,
.pvs,
.pas {
    padding-bottom: 7px !important;
}
.pbm,
.pvm,
.pam {
    padding-bottom: 14px !important;
}
.pbl,
.pvl,
.pal {
    padding-bottom: 21px !important;
}
.pln,
.phn,
.pan {
    padding-left: 0 !important;
}
.pls,
.phs,
.pas {
    padding-left: 7px !important;
}
.plm,
.phm,
.pam {
    padding-left: 14px !important;
}
.pll,
.phl,
.pal {
    padding-left: 21px !important;
}
.mtn,
.mvn,
.man {
    margin-top: 0 !important;
}
.mts,
.mvs,
.mas {
    margin-top: 7px !important;
}
.mtm,
.mvm,
.mam {
    margin-top: 14px !important;
}
.mtl,
.mvl,
.mal {
    margin-top: 21px !important;
}
.mrn,
.mhn,
.man {
    margin-right: 0 !important;
}
.mrs,
.mhs,
.mas {
    margin-right: 7px !important;
}
.mrm,
.mhm,
.mam {
    margin-right: 14px !important;
}
.mrl,
.mhl,
.mal {
    margin-right: 21px !important;
}
.mbn,
.mvn,
.man {
    margin-bottom: 0 !important;
}
.mbs,
.mvs,
.mas {
    margin-bottom: 7px !important;
}
.mbm,
.mvm,
.mam {
    margin-bottom: 14px !important;
}
.mbl,
.mvl,
.mal {
    margin-bottom: 21px !important;
}
.mln,
.mhn,
.man {
    margin-left: 0 !important;
}
.mls,
.mhs,
.mas {
    margin-left: 7px !important;
}
.mlm,
.mhm,
.mam {
    margin-left: 14px !important;
}
.mll,
.mhl,
.mal {
    margin-left: 21px !important;
}

/*----------------------------------------------------
 グリッド
----------------------------------------------------*/
.hasGrid {
    letter-spacing: -0.4em;
}
.size1of1,
.size1of2,
.size1of3,
.size2of3,
.size1of4,
.size3of4,
.size1of5,
.size2of5,
.size3of5,
.size4of5 {
    display: inline-block;
    zoom: 1;
    vertical-align: top;
    letter-spacing: normal;

    *display: inline;
}
.size1of1 {
    display: block;
    width: 100%;
}
.size1of2 {
    width: 50%;

    *width: 49.5%;
}
.size1of3 {
    width: 33.33333%;

    *width: 33%;
}
.size2of3 {
    width: 66.66666%;

    *width: 66%;
}
.size1of4 {
    width: 25%;
}
.size3of4 {
    width: 75%;
}
.size1of5 {
    width: 20%;

    *width: 19.8%;
}
.size2of5 {
    width: 40%;
}
.size3of5 {
    width: 60%;
}
.size4of5 {
    width: 80%;
}
.box-fl {
    float: left;

    *margin-right: -3px;
}
.box-fr {
    float: right;

    *margin-left: -3px;
}
.box-25 {
    width: 25%;
}
.box-33 {
    width: 33.33%;
}
.box-50 {
    width: 50%;
}
.box-66 {
    width: 66.66%;
}
.box-75 {
    width: 75%;
}
.box-100 {
    width: 100%;
}
.box-negmr {
    margin-right: -1px;

    *margin-right: -4px;
}
.box-negmx {
    margin-right: -1px;
}
.box-negml {
    margin-left: -1px;

    *margin-left: -4px;
}

/*----------------------------------------------------
 プラグイン
----------------------------------------------------*/
/**
 * BxSlider v4.1.2 - Fully loaded, responsive content slider
 * http://bxslider.com
 *
 * Written by: Steven Wanderski, 2014
 * http://stevenwanderski.com
 * (while drinking Belgian ales and listening to jazz)
 *
 * CEO and founder of bxCreative, LTD
 * http://bxcreative.com
 */
.bx-wrapper {
    position: relative;
    margin: 0 auto 45px;
    padding: 0;

    *zoom: 1;
}
.bx-wrapper img {
    display: block;
    max-width: 100%;
}
.bx-wrapper .bx-viewport {
    -webkit-transform: translatez(0);
    -ms-transform: translatez(0);
    transform: translatez(0);
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
    position: absolute;
    bottom: -30px;
    width: 100%;
}
.bx-wrapper .bx-loading {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2000;
    width: 100%;
    height: 100%;
    min-height: 50px;
}
.bx-wrapper .bx-pager {
    padding-top: 20px;
    text-align: center;
    font-family: Arial;
    font-size: 0.85em;
    font-weight: bold;
}
.bx-wrapper .bx-pager.bx-default-pager a {
    display: block;
    width: 10px;
    height: 10px;
    margin: 0 6px;
    outline: 0;
    text-indent: -9999px;
}
.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
    display: inline-block;
}
*:first-child + html .bx-wrapper .bx-pager .bx-pager-item,
*:first-child + html .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
    display: inline;
    zoom: 1;
}
.bx-wrapper .bx-prev {
    left: 10px;
}
.bx-wrapper .bx-next {
    right: 10px;
}
.bx-wrapper .bx-controls-direction a {
    position: absolute;
    top: 50%;
    z-index: 100;
    width: 32px;
    height: 32px;
    margin-top: -16px;
    outline: 0;
    text-indent: -9999px;
}
.bx-wrapper .bx-controls-direction a.disabled {
    display: none;
}
.bx-wrapper .bx-controls-auto {
    text-align: center;
}
.bx-wrapper .bx-controls-auto .bx-start {
    display: block;
    width: 10px;
    height: 11px;
    margin: 0 3px;
    outline: 0;
    text-indent: -9999px;
}
.bx-wrapper .bx-controls-auto .bx-stop {
    display: block;
    width: 9px;
    height: 11px;
    margin: 0 3px;
    outline: 0;
    text-indent: -9999px;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
    width: 80%;
    text-align: left;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
    right: 0;
    width: 35px;
}
.bx-wrapper .bx-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.bx-wrapper .bx-caption span {
    display: block;
    padding: 10px;
    font-family: inherit;
    font-size: 0.85em;
}

/*----------------------------------------------------
 アイコン
----------------------------------------------------*/
.slidemenu li a,
.slidemenu li ul a,
.more a,
.foot-contents li a,
.foot-contents li li a,
.foot-contents li.link-block a {
    position: absolute;
}
.icon {
    display: inline-block;
    position: absolute;
    width: 34px;
    height: 34px;
    margin-right: 5px;
    vertical-align: middle;
}
*:first-child + html .icon {
    display: inline;
    zoom: 1;
}
.icon.icon-small {
    width: 18px;
    height: 16px;
    margin-right: 7px;
}
.icon.icon-xsmall {
    width: 15px;
    height: 15px;
    margin-right: 5px;
}

/*----------------------------------------------------
 フォーム要素
----------------------------------------------------*/
fieldset {
    position: relative;
    margin: 0 0 20px;
}
.labelinputs,
input,
select,
textarea {
    width: 95%;
}
input[type='text'],
input[type='password'],
input[type='email'],
.labelinputs,
textarea,
select {
    padding: 2%;
    outline: 0;
    font: inherit;
    font-size: 16px;
}
select {
    padding: 2% 0;
}
textarea {
    min-height: 120px;
}
input[type='radio'],
input[type='checkbox'] {
    display: block;
    float: left;
    width: 18px;
    height: 18px;
}
label,
legend {
    font-weight: bold;
}
legend {
    padding-right: 10px;
    font-style: italic;
}
label span,
legend span {
    display: block;
    overflow: hidden;
    zoom: 1;
    font-weight: normal;
    line-height: 2;
}
button:-moz-focus-inner,
input:-moz-focus-inner {
    padding: 0;
}
.search input {
    width: 52%;
}
button,
input,
select,
textarea {
    vertical-align: middle;
}

/*----------------------------------------------------
 アラート
----------------------------------------------------*/
.alert ul {
    margin-left: 1.5em;
    list-style: disc;
}
.alert li {
    margin: 0.3em 0;
}

/*----------------------------------------------------
 ベースレイアウト
----------------------------------------------------*/
#body {
    position: relative;
    margin: 0;
}
.bleed {
    z-index: 1;
}
.bleed .unit-bd {
    width: 980px;
    margin: 0 auto;
}
.bleed .unit {
    width: 980px;
    margin: 0 auto;
}
.layout_1col .layout_main {
    width: 660px;
    margin: 0 auto;
    padding: 24px 0;
}
.layout_2col .layout_main {
    float: left;
    width: 100%;
    margin: 0 -310px 34px 0;
}
.layout_2col .layout_main > .inner {
    margin: 0 310px 0 0;
    padding: 0 15px 0 10px;
}
.layout_2col .layout_sidebar {
    float: left;
    width: 310px;
    max-width: 310px;
    font-size: 12px;
}
.layout_2col .layout_sidebar .inner {
    margin: 0 10px 0 0;
}
.form-actions {
    margin: 1em 0;
    margin: 0 auto;
    text-align: center;
}
.layout_main p {
    line-height: 1.8em;
}
.acenter {
    margin: 0 auto;
    text-align: center;
}
.acenter img {
    margin: 0 auto;
}

@media only screen and (max-width: 1023px) {
    .sp-none {
        display: none !important;
    }
    .bleed {
        padding-top: 0;
    }
    .bleed .unit-bd {
        width: 100%;
    }
    .bleed .unit {
        width: 100%;
    }
    .layout_2col .layout_main .box-50 {
        width: 100%;
    }
    .layout_2col .layout_main .box-fl {
        float: none;
    }
    .layout_2col .layout_main .box-fl .mrs,
    .layout_2col .layout_main .box-fl .mls {
        margin: 3% 0;
    }
    .size4of5,
    .size1of5 {
        width: 100%;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .layout_2col .layout_main {
        margin: 0 -315px 34px 0;
    }
    .layout_2col .layout_main > .inner {
        margin: 0 315px 0 0;
        padding: 0 10px;
    }
    .layout_2col .layout_main .size1of2 {
        width: 100%;
    }
    .layout_2col .layout_main .size1of2 .inner {
        margin-right: 3%;
        margin-left: 10px;
    }
    .layout_2col .layout_sidebar .inner {
        margin: 0 10px 0 0;
    }
}

@media only screen and (max-width: 767px) {
    .layout_1col .layout_main {
        width: 100%;
        margin: 0;
    }
    .layout_2col .layout_main {
        float: none;
        width: 100%;
        margin: 0;
    }
    .layout_2col .layout_main > .inner {
        margin: 0;
        padding: 0;
    }
    .layout_2col .layout_main .size1of2 {
        width: 100%;
    }
    .layout_2col .layout_main .size1of2 .inner {
        margin-right: 0;
        margin-left: 0;
    }
    .layout_2col .layout_sidebar {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 0;
        font-size: 13px;
    }
    .layout_2col .layout_sidebar .inner {
        margin: 14px 0 0 0;
        padding: 14px 0 0 0;
    }
    .layout_2col .layout_sidebar img {
        margin: 0 auto;
    }
}

/*----------------------------------------------------
 ヘッダー
----------------------------------------------------*/
.head-contents .inner {
    display: table;
    width: 100%;
    margin-bottom: 7px;
    padding-top: 10px;
    table-layout: fixed;
}
.area-logo,
.area-headnav {
    display: inline;
    display: table-cell;
}
.area-logo {
    vertical-align: middle;
}
.area-headnav {
    vertical-align: bottom;
}
*:first-child + html .area-logo {
    display: inline;
    zoom: 1;
}
.area-logo h1 {
    display: block;
}
.logo a {
    display: block;
    margin: 0 0 0 10px;
}
.area-logo h1.logo a {
    display: block;
    height: 57px;
    text-indent: -9999px;
}
.area-headnav {
    text-align: right;
}
.area-headnav .sitemap {
    display: inline-block;
    position: relative;
    margin: 0 10px 7px 0;
    padding: 0 0 0 14px;
    font-size: 11px;
}
*:first-child + html .area-headnav .sitemap {
    display: inline;
}
.area-headnav .login {
    display: block;
    margin: 0 10px 5px 0;
}
.area-headnav .login a {
    display: inline-block;
    width: 96px;
    height: auto;
}
*:first-child + html .area-headnav .login a {
    display: inline;
    zoom: 1;
}
.area-headnav .login a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
}

@media only screen and (max-width: 1023px) {
    .area-logo {
        padding: 0 0 0 10px;
    }
    .area-logo h1.logo a {
        margin: 0;
    }
    .area-headnav {
        padding: 0 15px 0 0;
    }
    .area-headnav .sitemap,
    .area-headnav .login {
        margin: 0;
    }
}

@media only screen and (max-width: 767px) {
    .head-contents .inner {
        margin-bottom: 7px;
    }
    .area-logo {
        padding: 0 0 0 5px;
    }
    .logo a {
        margin: 0;
    }
    .area-headnav {
        padding: 3px 0 0;
        vertical-align: top;
    }
    .area-headnav .sitemap,
    .area-headnav .login {
        display: none;
    }
    .area-headnav .login {
        margin: 0 62px 0 0;
    }
}

@media only screen and (max-width: 479px) {
    .area-logo {
        width: 45%;
        height: auto;
    }
    .area-logo h1.logo a {
        width: 100%;
        height: 35px;
    }
}

/*----------------------------------------------------
 フッター
----------------------------------------------------*/
footer {
    font-size: 12px;
}
.foot-contents .logo {
    display: inline-block;
    vertical-align: bottom;
}
.foot-contents .logo a {
    display: block;
    width: 183px;
    height: auto;
    margin: 0;
    text-indent: -9999px;
}
.foot-contents .logo img {
    width: auto;
}
.foot-contents .hasGrid {
    margin: 0 10px;
}
.foot-contents li a {
    display: inline-block;
    position: relative;
    margin: 7px 0;
    padding: 0 0 0 24px;
}
.foot-contents .hd .link-block a {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
}
.foot-contents li li a {
    margin: 3px 0;
    padding: 0 0 0 10px;
}
.foot-contents .size1of5 ul {
    margin: 0 5px;
}
.foot-contents .hd .hasGrid {
    padding-bottom: 7px;
}
.foot-contents .hd .hasGrid .inner {
    display: table;
    width: 100%;
}
.foot-contents .hd .hasGrid .inner .size1of2 {
    display: table-cell;
    vertical-align: bottom;
}
.foot-contents .hd .hasGrid section.mrm {
    padding-right: 7px;
}
.foot-contents .hd .hasGrid .text-right section {
    margin: 0 7px 0 0;
}
.foot-contents .bd {
    padding: 0 0 22px 0;
}
.foot-contents .bd .hasGrid {
    margin-top: 10px;
}
.foot-contents .ft {
    padding: 4px 0;
    text-align: center;
    font-size: 11px;
}
.copyright ul {
    display: inline-block;
    padding: 5px 0 0 10px;
}
*:first-child + html .copyright ul {
    display: inline;
    zoom: 1;
}
/* gototop */
#gototop {
    display: block;
    opacity: 0.7;
    filter: alpha(opacity=70);
    position: fixed;
    bottom: 0;
    z-index: 50000;
    margin-left: 1000px;
    padding: 5px 10px;
    font-size: 24px;
}
#gototop:hover {
    text-decoration: none;
}

@media only screen and (max-width: 1023px) {
    #gototop {
        margin-left: 93%;
    }
}

@media only screen and (max-width: 767px) {
    .foot-contents .hd,
    .foot-contents .bd {
        display: none;
    }
    .foot-menu {
        margin: 3% 0;
    }
    .foot-menu .bd {
        padding: 2% 0;
    }
    #gototop {
        margin-left: 90%;
    }
}

@media only screen and (max-width: 479px) {
    footer {
        font-size: 10px;
    }
    footer img {
        max-width: 30%;
    }
    #gototop {
        margin-left: 84%;
    }
}

/*----------------------------------------------------
 PC用ナビゲーション
----------------------------------------------------*/
.navigation {
    display: block;
    position: relative;
    text-align: center;
}
.navigation .inner {
    display: table;
    width: 100%;
    margin-bottom: 7px;
    table-layout: fixed;
}
.navigation .area-nav {
    display: inline;
    display: table-cell;
    vertical-align: bottom;
}
*:first-child + html .navigation .area-nav {
    display: inline;
    position: absolute;
    right: 0;
    zoom: 1;
    margin-top: 14px;
}
.navigation nav {
    margin: 0 10px;
}
.navigation nav ul {
    display: table;
    position: relative;
    z-index: 1000;
    width: 100%;
    table-layout: fixed;
    letter-spacing: -0.31em;
    line-height: 0;
}
.navigation nav ul li {
    letter-spacing: normal;
}
.navigation nav ul ul {
    margin: 0;
}
.navigation nav > ul {
    height: 100%;
}
.navigation nav > ul > li {
    display: table-cell;
    table-layout: fixed;
    vertical-align: middle;
}
.navigation nav > ul > li:last-child > a {
    margin-right: 0;
}
.navigation nav > ul > li > a {
    display: table;
    box-sizing: border-box;
    width: 100%;
    margin-right: 2px;
    text-align: center;
    font-size: 11px;
}
.navigation nav > ul > li > a:hover {
    text-decoration: underline;
}
.navigation nav span.en {
    display: block;
    margin-top: 7px;
    font-size: 10px;
}
.navigation nav > ul > li > a em {
    display: block;
    padding-top: 5px;
    font-weight: normal;
    font-style: normal;
}
.navigation nav li {
    position: relative;
    height: 100%;
    line-height: 1;
}
.navigation nav li a {
    display: block;
    height: 100%;
    padding: 10px 0;
    font-weight: bold;
}
.navigation nav li ul {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
}
.navigation nav li ul li {
    width: 100%;
    line-height: 1.5;
}
.navigation nav li ul li a {
    padding: 10px 5px;
    font-size: 11px;
}
.navigation nav li:hover ul {
    display: block;
}

@media only screen and (max-width: 1023px) {
    .navigation nav {
        margin: 0;
    }
    .navigation .area-nav {
        padding: 0 15px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .navigation .area-nav {
        padding: 0;
    }
    .navigation nav {
        margin: 0 10px;
    }
    .navigation nav ul {
        margin-right: 0;
    }
}

@media only screen and (max-width: 767px) {
    .navigation {
        overflow: hidden;
        height: 0;
    }
    .navigation .inner {
        margin-bottom: 7px;
    }
    .navigation .area-nav {
        display: none;
    }
}

@media only screen and (max-width: 479px) {
    .navigation {
        display: none;
    }
}

/*----------------------------------------------------
 SP用ナビゲーション
----------------------------------------------------*/
.slidemenu {
    display: none;
}

@media only screen and (max-width: 767px) {
    /* slidemenu btn */
    .button-slidemenu {
        display: block;
        position: absolute;
        top: 14px;
        right: 10px;
        width: 40px;
        height: 40px;
        margin-bottom: 10px;
        margin-left: 100%;
        text-align: left;
        text-indent: -9999px;
    }
    .button-slidemenu:before,
    .button-slidemenu:after {
        content: '';
        position: absolute;
        top: 35%;
        right: 25%;
        left: 25%;
    }
    .button-slidemenu:after {
        top: 60%;
    }
    /* slidemenu */
    .slidemenu {
        display: block;
        visibility: hidden;
        position: fixed;
        top: 0;
        z-index: 02;
        width: 240px;
    }
    .slidemenu .slidemenu-body {
        overflow: hidden;
        position: relative;
        height: 100%;
    }
    .slidemenu .slidemenu-body .slidemenu-content {
        position: relative;
    }
    .slidemenu-right {
        right: 0;
    }
    /* slidemenu header */
    .slidemenu .slidemenu-header {
        position: relative;
        height: 60px;
    }
    .slidemenu .slidemenu-header a,
    .slidemenu .slidemenu-header a:hover {
        display: block;
        padding: 23px 0 16px 20px;
        text-decoration: none;
        font-weight: bold;
    }
    /* slidemenu menu */
    .slidemenu li {
        font-size: 14px;
        line-height: 1.8;
    }
    .slidemenu li a {
        display: block;
        position: relative;
        padding: 9px 0 9px 40px;
        text-decoration: none;
    }
    .slidemenu li ul {
        margin: 0;
    }
    .slidemenu li ul a {
        position: relative;
        padding: 9px 0 9px 54px;
    }
}

/*----------------------------------------------------
 パンくず
----------------------------------------------------*/
.breadcolumn-box {
    overflow: visible;
}
.breadcolumn-list {
    padding: 7px 0;
}
.breadcolumn-list ul {
    margin: 0 15px;
    padding: 0 0 7px 0;
}
.breadcolumn-list ul:after {
    content: '';
    display: block;
    clear: both;
    visibility: hidden;
    height: 0;
}
.breadcolumn-list li {
    float: left;
    margin-right: 5px;
    line-height: 1;
}
.breadcolumn-list li:after {
    content: '>';
    display: inline;
    padding-left: 5px;
    font-size: 10px;
}
.breadcolumn-list li:last-child:after {
    content: '';
    margin-right: 0;
    padding-left: 0;
}
.breadcolumn-list li a {
    display: block;
    float: left;
    font-size: 11px;
    line-height: 1.5;
}
.breadcolumn-list li:last-child a {
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
    .breadcolumn-box {
        overflow: hidden;
        position: relative;
        width: 100%;
        height: 32px;
    }
    .breadcolumn-list {
        position: absolute;
        z-index: 900;
        height: 32px;
        padding-top: 0;
    }
    .breadcolumn-list ul {
        position: absolute;
        width: 2000em;
        margin: 0;
    }
    .breadcolumn-list li {
        margin-right: -5px;
        line-height: 32px;
    }
    .breadcolumn-list li:after {
        content: '';
    }
    .breadcolumn-list li a {
        float: left;
        min-width: 1.2em;
        padding: 0 11px 0 23px;
        line-height: 32px;
    }
    .breadcolumn-list li:first-child a {
        padding: 0 11px 0 10px;
    }
    .breadcolumn-list li a:after,
    .breadcolumn-list li a:before {
        content: '';
        display: block;
        width: 12px;
        height: 16px;
        margin-right: -17px;
        margin-left: auto;
    }
    .breadcolumn-list li a:before {
        float: right;
        margin-bottom: -16px;
        -webkit-transform: skew(35deg);
        -ms-transform: skew(35deg);
        transform: skew(35deg);
    }
    .breadcolumn-list li a:after {
        position: relative;
        margin-top: -16px;
        -webkit-transform: skew(-35deg);
        -ms-transform: skew(-35deg);
        transform: skew(-35deg);
    }
}

/*----------------------------------------------------
 メインコンテンツ
----------------------------------------------------*/
#main-content > .hd {
    margin: 0;
    padding: 0;
}
#main-content .hd .panel {
    margin-bottom: 15px;
}
#main-content .hd h1 {
    font-size: 18px;
}
#main-content > .hd .inner {
    width: 100%;
    padding: 0;
}
#main-content .hd .en-label {
    display: inline;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    padding: 5px 10px 4px;
    font-size: 13px;
}
#main-content .title-box {
    margin-bottom: 15px;
    padding: 2px 10px;
}
#main-content .title-box h1 {
    font-size: 18px;
    font-weight: bold;
}
#main-content .bd {
    padding: 7px;
}
#main-content .bd > h2,
#main-content .h2 {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
}
#main-content .bd h3,
#main-content .h3 {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
}

@media only screen and (max-width: 1023px) {
    #main-content .bd {
        margin: 0 3% 14px 3%;
        padding: 0;
    }
}

@media only screen and (max-width: 767px) {
    #main-content {
        margin: 3% 0;
        padding: 2% 0;
    }
    #main-content .hd {
        margin: 0 0 6px 0;
    }
    #main-content .hd h1 {
        font-size: 16px;
    }
    #main-content .bd p {
        line-height: 1.5;
    }
}

/*----------------------------------------------------
 サイドコンテンツ
----------------------------------------------------*/
.layout_sidebar section.sns .hd,
.layout_sidebar section.sns .icon {
    display: none;
}

@media only screen and (max-width: 767px) {
    .layout_sidebar .box-section.sns .title-label,
    .layout_sidebar .box-section.recommended {
        display: none;
    }
    .layout_sidebar section.sns .hd,
    .layout_sidebar section.sns .icon {
        display: block;
    }
    .layout_sidebar section.sns .box-fb,
    .layout_sidebar section.sns .box-tw {
        display: inline-block;
        margin: 3% 0 0 3%;
    }
    .layout_sidebar section.sns .box-fb .icon,
    .layout_sidebar section.sns .box-tw .icon {
        position: relative;
        width: 37px;
        height: 37px;
        margin: 0 0 0 3%;
    }
    .layout_sidebar section.sns .icon a {
        display: block;
        overflow: hidden;
        width: 37px;
        height: 37px;
        white-space: nowrap;
        text-indent: 100%;
    }
}

/*----------------------------------------------------
 ソーシャルボタン
----------------------------------------------------*/
.btnSocialBox {
    margin: 20px 0;
    padding: 6px 7px 4px 7px;
    text-align: left;
    line-height: 1;
}
.btnSocial {
    display: inline-block;
    margin-left: 10px;
    vertical-align: top;
}
.sns-tw {
    width: 99px;
}
.sns-g {
    width: 59px;
}
.sns-fb {
    width: 99px;
}
.sns-ha {
    width: 65px;
}

/*----------------------------------------------------
 タイトルラベル
----------------------------------------------------*/
.title-label {
    margin-bottom: 10px;
    padding-bottom: 4px;
}
#main-content .bd .title-label {
    margin: 0 -7px 10px;
}
.title-label .title,
.title-label h1 {
    padding: 0 0 0 5px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.5;
}
/* 主にサイドバーの見出し */
.title-label2 .square {
    padding-top: 6px;
    padding-left: 30px;
    font-size: 20px;
    font-weight: bold;
}

@media only screen and (max-width: 1023px) {
    #main-content .bd .title-label {
        margin: 0 -3% 40px -3%;
    }
}

/*----------------------------------------------------
 ボックス 使用箇所例：トップ 人気記事一覧・オススメ記事一覧
----------------------------------------------------*/
.box.box-section .bd li a {
    display: block;
    position: relative;
    padding: 10px;
}
.box.box-section .bd li a .label {
    position: absolute;
    top: 12px;
    right: 10px;
    width: 80px;
    height: 15px;
    text-align: center;
    font-size: 11px;
    font-weight: bold;
}
.box.box-section .bd .thumb {
    overflow: hidden;
    width: 80px;
    height: 80px;
    margin-right: 10px;
}
.box.box-section .bd .text-box {
    overflow: hidden;
    height: auto;
    padding-left: 0;
    word-wrap: break-word;
}
.box {
    margin: 0 0 28px 0;
    text-align: left;
}
.box .hd {
    margin: 0 0 7px 0;
    padding: 2px 7px;
}
.box .hd h1 {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8;
}
.box .bd {
    margin: 0 0 7px 0;
}
.box .ft {
    margin: 0 5px 0 0;
}
#main-content .box p {
    line-height: 1.5;
}
#main-content .box .bd {
    padding: 0;
}
#main-content .box ul {
    display: table;
    width: 100%;
}
#main-content .box li {
    float: left;
    width: 48%;
    min-width: 300px;
}
#main-content .box li:nth-child(even) {
    clear: right;
    margin: 2px 0 2px 2px;
}
#main-content .box li:nth-child(odd) {
    clear: left;
}

@media only screen and (max-width: 1023px) {
    #main-content .box li {
        display: block;
        float: none;
        width: 98%;
    }
}

@media only screen and (max-width: 767px) {
    .box .hd {
        margin: 0;
    }
    .box-fb .except-smp,
    .box-tw .except-smp {
        display: none;
    }
}

/*----------------------------------------------------
 パーツ
----------------------------------------------------*/
/* ボタン */
.btn,
button,
input[type='submit'],
input[type='reset'],
input[type='button'] {
    display: inline-block;
    padding: 8px 12px;
    cursor: pointer;
    text-decoration: none;
    font: inherit;
    line-height: 22px;

    *zoom: 1;
}
.btn:hover,
button:hover,
input[type='submit']:hover,
input[type='reset']:hover,
input[type='button']:hover {
    text-decoration: none;

    *zoom: 1;
}
/* もっと見るボタン */
.js-more-trigger,
.js-contents-more-trigger {
    display: block;
    box-sizing: border-box;
    max-width: 645px;
    padding: 8px 12px;
}
.js-more-loader img {
    display: inline-block;
}
*:first-child + html .js-more-loader img {
    display: inline;
    zoom: 1;
}
/* インプット */
.input_small,
input.input_small {
    width: 60px;
}
.input_medium,
input.input_medium {
    width: 120px;
}
.input_large,
input.input_large {
    width: 180px;
}
.input_xlarge,
input.input_xlarge {
    width: 240px;
}
.input_xxlarge,
input.input_xxlarge {
    width: 300px;
}
.input_full,
input.input_full {
    width: 100%;
}
/* 画像 */
figure.left,
img.left {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
}
figure.none,
img.none {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
}
figure.right,
img.right {
    float: right;
    margin-bottom: 10px;
    margin-left: 10px;
}
figcaption {
    margin-top: 7px;
    font-size: 10px;
}
figure.center,
img.center {
    display: block;
    margin: 10px auto;
}
figure.center figcaption {
    text-align: center;
}

@media only screen and (max-width: 1023px) {
    figure.left,
    figure.right,
    figure.center,
    img.left,
    img.right,
    img.center {
        display: block;
        float: none;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }
    figure img {
        margin: 7px auto;
    }
}

/*----------------------------------------------------
 form-field フォーム
----------------------------------------------------*/
.form-field .hasGrid {
    display: table;
    width: 100%;
    margin-bottom: 14px;
    padding-bottom: 14px;
}
.form-field .hasGrid .size1of3 {
    font-weight: bold;
}
.form-field .hasGrid .size1of3,
.form-field .hasGrid .size2of3 {
    display: table-cell;
    vertical-align: middle;
}
.form-field .req {
    display: inline-block;
    position: relative;
    margin-left: 5px;
    padding: 0 4px;
    vertical-align: middle;
    font-size: 10px;
    font-weight: normal;
}
.form-field .ex {
    padding: 4px 0;
    font-size: 11px;
}
.attention .hd {
    margin: 0 0 10px 0;
    padding: 10px 0 2px 0;
}
.attention h2 {
    font-size: 16px;
    font-weight: bold;
}
.attention li {
    margin-bottom: 7px;
    font-size: 12px;
}
.form-field .btn {
    margin: 7px;
    padding: 0 20px;
    font-size: 24px;
    font-weight: bold;
    line-height: 2;
}

h2.errer {
    margin-bottom: 14px;
    padding: 2px;
    text-align: center;
}
h2.thanks {
    padding: 20px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
    .form-field .hasGrid,
    .form-field .hasGrid .size1of3,
    .form-field .hasGrid .size2of3 {
        display: block;
        width: 100%;
    }

    .form-field .hasGrid .size1of3 {
        margin-bottom: 14px;
    }
}

/*----------------------------------------------------
 オーバーレイ
----------------------------------------------------*/
#btn {
    display: block;
    cursor: pointer;
}
#overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    text-align: center;
}
#close {
    float: right;
    position: relative;
    width: 18px;
    height: 18px;
    padding: 10px;
    cursor: pointer;
}
#close p {
    position: absolute;
    top: -9px;
    right: 6px;
    cursor: pointer;
    font-size: 32px;
    line-height: 1.3;
}
#login-form {
    width: 85%;
    height: auto;
    margin-top: 150px;
    margin-right: auto;
    margin-left: auto;
    padding: 10px;
}
#kentei {
    display: block;
    position: relative;
    width: 128px;
    height: 35px;
    margin-right: auto;
    margin-left: auto;
}
#kentei-btn {
    margin-right: 5px;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    line-height: 34px;
}
#comment-title {
    margin: 5px 40px 12px;
}
.user-choice + a > img {
    margin: 0 auto;
}
.form {
    overflow: hidden;
    width: 80%;
    margin: 0 auto 16px;
    padding: 10px;
    padding-bottom: 24px;
}
.step-title {
    font-size: 16px;
    font-weight: bold;
}
#comment-title {
    display: block;
    font-size: 18px;
    font-weight: bold;
}
.form__login--btn {
    margin: 0 auto;
}

@media screen and (min-width: 500px) {
    #login-form {
        width: 400px;
        height: 400px;
        margin-top: 200px;
        margin-right: auto;
        margin-left: auto;
        padding: 10px;
    }
}

/*----------------------------------------------------
 トップ：パネル
----------------------------------------------------*/
.top-panel img {
    width: 100%;
}

/*----------------------------------------------------
 トップ：コンテンツリスト
----------------------------------------------------*/
/* 新着記事リスト */
.new-content-list {
    width: 660px;
    margin-right: -15px;
}
.new-content-list .hd {
    width: 645px;
    margin-bottom: 15px;
}
.new-content-list ul {
    width: 660px;
}
.new-content-list li {
    width: 205px;
    margin-right: 15px;
    margin-bottom: 20px;
}
.new-content-list li .inner-box {
    width: 183px;
    padding: 10px;
}
.new-content-list li .inner-box .title {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}
.new-content-list li .inner-box .thumb {
    overflow: hidden;
    max-height: 150px;
    margin-bottom: 5px;
}
.new-content-list li .inner-box .text-box .attach-inner {
    position: relative;
    height: 15px;
    margin-bottom: 5px;
}
.new-content-list .text-box .attach-inner .label {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 70px;
    height: 15px;
    padding: 0 8px;
    text-align: center;
    font-size: 11px;
    font-weight: bold;
}
.new-content-list .text-box .attach-inner .date {
    position: absolute;
    top: 1px;
    right: 0;
    height: 15px;
    text-align: right;
    font-size: 11px;
}
/* 新着記事タブ */
.new-content-list .tab {
    display: table;
    width: 640px;
    margin-bottom: 15px;
    table-layout: fixed;
    text-align: center;
}
.new-content-list .tab li {
    display: table-cell;
    border-top: none;
    width: auto;
    height: 40px;
    vertical-align: middle;
}
.new-content-list .tab li a {
    display: block;
    height: 40px;
    text-align: center;
    font-size: 11px;
}
.new-content-list .tabbox {
    display: none;
}
.new-content-list .tab li a .en {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}
.new-content-list .tab li a .jp {
    display: block;
    font-weight: bold;
}
/* 人気記事一覧・オススメ記事一覧 */
.content-list-box {
    margin-top: 30px;
}
.content-list-box .left .box-section {
    padding-right: 4%;
}
.content-list-box .right .box-section {
    padding-left: 4%;
}

@media only screen and (max-width: 1023px) {
    /* 新着記事リスト */
    .new-content-list .hd {
        width: 100%;
        margin-bottom: 15px;
    }
    .new-content-list ul {
        width: 100%;
    }
    .new-content-list li {
        width: 100%;
        min-width: 100%;
        height: auto;
        margin-right: 0;
        margin-bottom: 20px;
    }
    .new-content-list li a {
        width: 100%;
    }
    .new-content-list li .inner-box {
        box-sizing: border-box;
        width: 100%;
        height: auto;
        margin-top: 3px;
        padding: 10px;
    }
    .new-content-list li .inner-box .title {
        font-size: 16px;
        font-weight: bold;
    }
    .new-content-list li .inner-box .thumb {
        float: left;
        width: 200px;
        margin-right: 20px;
        margin-bottom: 5px;
    }
    .new-content-list li .inner-box .text-box {
        overflow: hidden;
        height: auto;
        padding-left: 0;
        word-wrap: break-word;
    }
    .new-content-list li .inner-box .text-box .attach-inner {
        position: relative;
        height: 15px;
        margin-bottom: 5px;
    }
    /* 人気記事一覧・オススメ記事一覧 */
    .content-list-box .left .box-section {
        padding-right: 0;
    }
    .content-list-box .right .box-section {
        padding-left: 0;
    }
}

@media only screen and (max-width: 1023px) {
    .new-content-list .tab {
        display: none;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .new-content-list {
        width: 100%;
        margin-right: 0;
    }
}

@media only screen and (max-width: 767px) {
    .new-content-list {
        width: 96%;
        margin: 0 2%;
    }
}
@media only screen and (max-width: 479px) {
    .new-content-list li .inner-box .thumb {
        float: none;
        margin: 0 auto 5px;
    }
    .new-content-list li .inner-box .text-box {
        padding-left: 0;
    }
}

/*----------------------------------------------------
 カテゴリーページ：カテゴリ一覧：ボックス型
----------------------------------------------------*/
.relation-contents {
    width: 100%;
    margin: 0;
}
.relation-contents-list {
    width: 100%;
    margin-bottom: 10px;
}
.relation-contents-list li {
    width: 29.9%;
    margin: 1% 1.7% 1%;
}
.relation-contents-list li img {
    width: 100%;
}

@media only screen and (max-width: 1023px) {
    .relation-contents-list {
        width: 100%;
    }
}

@media only screen and (max-width: 479px) {
    .relation-contents-list li {
        width: 46%;
        margin: 0 2%;
        margin-bottom: 15px;
    }
}

/*----------------------------------------------------
 カテゴリーページカテゴリ一覧：サムネイル＋タイトル横並び型
----------------------------------------------------*/
.category-row li {
    overflow: hidden;
    padding: 10px 0;
}
.category-row .thumb {
    float: left;
    overflow: hidden;
    width: 200px;
    height: 150px;
    margin-right: 15px;
}
.category-row .thumb img {
    width: 100%;
}
.category-row .text-box {
    overflow: hidden;
}
.category-row .attach-inner {
    position: relative;
    height: 15px;
    margin-top: 10px;
}
.category-row .title {
    font-size: 16px;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
    .category-row .thumb {
        width: 80px;
        height: 60px;
        margin-right: 10px;
    }
}

/*----------------------------------------------------
 カテゴリーページカテゴリ一覧：テキスト型
----------------------------------------------------*/
.category-list li a {
    display: block;
    padding: 8px 10px;
    font-size: 16px;
    font-weight: bold;
}
.category-list li:first-child a {
    padding-top: 0;
}

/*----------------------------------------------------
 カテゴリーページカテゴリ一覧：日付＋テキスト型
----------------------------------------------------*/
.list-contents .item {
    padding: 5px 0;
    border-bottom: 1px dotted #ccc;
}
.list-contents .item .date {
    font-size: 14px;
}
.list-contents .item .title {
    font-size: 16px;
    font-weight: bold;
}

/*----------------------------------------------------
 詳細ページ
----------------------------------------------------*/
.hd + .category-body {
    margin-top: 15px;
}
.category-body {
    margin-bottom: 20px;
}
.category-body .category-body-inner {
    padding-top: 15px;
}
.category-body .category-body-main {
    overflow: hidden;
}
.category-body .category-body-main p {
    line-height: 1.5;
}
.category-body .title {
    margin: 0 0 5px;
    letter-spacing: normal;
    font-size: 20px;
    font-weight: bold;
}
.category-body .img_url {
    float: left;
    width: 150px;
    margin: 0 10px 10px 0;
}
.category-body .text,
.category-body .quote_comment {
    margin-bottom: 5px;
    font-size: 16px;
}
.category-body .url_title,
.category-body .quote_title {
    margin-bottom: 5px;
    font-size: 11px;
}
.category-body .quote {
    border: none;
    margin-bottom: 5px;
    padding: 0;
    text-indent: 28px;
    font-size: 20px;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
    .category-body {
        padding-right: 10px;
        padding-left: 10px;
    }
}
@media only screen and (max-width: 479px) {
    .category-body .img_url {
        display: block;
        float: none;
        width: auto;
        max-width: 100%;
        height: auto;
        margin: 0 auto 10px;
    }
}

/*----------------------------------------------------
 検定ページ
----------------------------------------------------*/
.ssquiz {
    line-height: 2.4;
}
.ssquiz h2 {
    font-size: 16px;
    font-weight: bold;
}
.ssquiz .btn {
    padding: 0 20px;
    font-size: 24px;
    font-weight: bold;
    line-height: 2;
}
.ssquiz_question h3,
.ssquiz_history h3 {
    margin-bottom: 14px;
    font-size: 16px;
    font-weight: bold;
}
.success .ssquiz_history h3 {
    padding-left: 25px;
}
.ssquiz_question,
.ssquiz_history .block {
    margin-bottom: 28px;
}
.ssquiz_select {
    padding: 10px;
}
.ssquiz_select label {
    display: block;
    margin-bottom: 7px;
}
.ssquiz_select label:last-child {
    margin-bottom: 0;
}
.ssquiz_history .title h2 {
    display: inline-block;
    padding: 7px 24px;
    line-height: 1;
}
.ssquiz_history .check_img {
    float: left;
    margin-right: 3px;
    vertical-align: middle;
}
.ssquiz_history .check_img + span {
    display: block;
    overflow: hidden;
    height: auto;
    margin-bottom: 10px;
    padding-top: 2px;
    padding-left: 0;
    word-wrap: break-word;
}
.ssquiz_history .append {
    margin-bottom: 7px;
}
.ssquiz_history .append p {
    padding-left: 25px;
    font-weight: bold;
}
.layout_2col .layout_main .inner .ssquiz_finish .inner {
    margin: 0 15px;
    padding: 5%;
}
.success .ssquiz_finish {
    padding-bottom: 10%;
}
.success .ssquiz_finish .inner {
    padding: 0 10%;
}
.ssquiz_finish .title-result {
    font-size: 26px;
    font-weight: bold;
    line-height: 1;
}
.ssquiz_finish .score {
    font-size: 26px;
    font-weight: bold;
    line-height: 1;
}
.ssquiz_finish p {
    padding: 0 10%;
}

@media only screen and (max-width: 1023px) {
    .ssquiz {
        margin: 0;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .ssquiz_finish {
        width: 100%;
        margin: 0 0 24px 0;
    }
    .ssquiz_finish p {
        line-height: 1.8;
    }
}

/*----------------------------------------------------
 マップ：共通
----------------------------------------------------*/
*:first-child + html .info-items .item,
*:first-child + html .list-search .items .item,
*:first-child + html .list-review .item {
    zoom: 1;
}
.info-items .item:after,
.list-search .items .item:after,
.list-review .item:after {
    content: '';
    display: table;
    clear: both;
}
/* checkbox-group */
.checkbox-group input {
    display: none;
}
.checkbox-group .label {
    display: inline-block;
    min-height: 16px;
    padding-left: 23px;
    cursor: pointer;
}
*:first-child + html .checkbox-group .label {
    display: inline;
    zoom: 1;
}
/* サイト内検索 */
.google-custom-search {
    margin: 1.5em 0;
    text-align: right;
}
.google-custom-search form {
    margin: 0;
}
.google-custom-search input {
    vertical-align: middle;
}
.google-custom-search .input-text {
    width: 498px;
    height: 32px;
    margin: 0;
    padding: 0 5px;
    line-height: 32px;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/*----------------------------------------------------
 マップ：トップ
----------------------------------------------------*/
.map-container {
    margin: 0 325px 0 10px;
}
.map-container img {
    max-width: none;
}
.map-container .map-canvas {
    height: 400px;
}
.map-container ul.icons {
    margin: 0;
    padding: 10px 5px;
    list-style: none;
    text-align: center;
    font-size: 12px;
    line-height: 1;
}
.map-container ul.icons li {
    display: inline;
    margin-left: 1em;
}
.map-container ul.icons li:first-child {
    margin-left: 0;
}
.map-container .icon-map {
    display: inline-block;
    width: 20px;
    height: 29px;
    margin-right: 3px;
    vertical-align: middle;
}
*:first-child + html .map-container .icon-map {
    display: inline;
    zoom: 1;
}
/* 見出し */
.layout_2col .layout_main .index-title .inner {
    position: relative;
    margin: 0 325px 0 10px;
    padding: 0;
}
.index-title .title {
    margin: 0;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
}
.index-title .title .icon-search,
.index-title .title .icon-star,
.index-title .title .icon-rank {
    position: static;
}
.index-title .btn {
    position: absolute;
    top: 10px;
    right: 6px;
    margin: 0;
}
/* 注目の情報 */
.info-attention {
    margin: 0 325px 20px 10px;
    padding: 19px;
}
.layout_2col .layout_main .info-attention .inner {
    margin: 0;
    padding: 10px 0;
}
.info-attention .image {
    float: left;
    margin-right: 20px;
}
.info-attention dl {
    margin: 0;
}
.info-attention dt {
    margin-bottom: 0.5em;
    font-size: 16px;
    font-weight: bold;
}
.info-attention dd {
    margin: 0;
}
/* 新着店舗情報・新着口コミ情報 */
.info-container {
    margin: 0 325px 20px 10px;
    padding-bottom: 10px;
}
.info-container .info-container-shop,
.info-container .info-container-review {
    float: left;
    width: 310px;
}
.info-container .info-container-review {
    float: right;
}
.info-container .info-container-shop .index-title {
    margin: 0 1px;
}
.info-container .info-container-review .index-title {
    margin: 0 1px 0 0;
}
.info-container .info-container-shop .index-title .inner,
.info-container .info-container-review .index-title .inner {
    margin: 0;
}
.info-container .info-container-shop .index-title .icon-shop,
.info-container .info-container-review .index-title .icon-review {
    position: static;
}
.info-items .items {
    margin: 0;
    padding: 5px 15px 5px 19px;
    list-style: none;
}
.info-items .item {
    padding: 10px 0;
}
.info-items .item .image {
    float: left;
    width: 120px;
    margin-right: 10px;
}
.info-items .item .text {
    overflow: hidden;
    margin: 0;
}
.info-items .item dl {
    margin: 0;
}
.info-items .item dt {
    margin-bottom: 5px;
    font-weight: bold;
    line-height: 1.3;
}
.info-items .item dt span {
    font-size: 11px;
}
.info-items .item dd {
    margin: 0;
    font-size: 12px;
}
/* 人気ランキング */
.info-ranking {
    margin: 0 325px 0 10px;
}
.info-ranking table {
    width: 100%;
    table-layout: fixed;
}
.info-ranking th,
.info-ranking td {
    padding: 10px 0;
    vertical-align: middle;
}
.info-ranking .rank {
    width: 12%;
    padding: 10px 0 10px 2%;
}
.info-ranking .image {
    width: 17%;
    padding: 10px 1% 10px 2%;
}
.info-ranking .shop {
    width: 30%;
    padding: 10px 0 10px 2%;
    font-weight: bold;
}
.info-ranking .shop span {
    font-size: 12px;
}
.info-ranking .rate {
    width: 32%;
    padding: 10px 2% 10px 0;
    white-space: nowrap;
}
.info-ranking .rate strong {
    position: relative;
    top: -6px;
}
.info-ranking .raty {
    font-size: 0;
}
.info-ranking .rank1 .rate img {
    display: inline;
}
.rate-box {
    padding: 6px 10px;
    line-height: 1;
}
.rate-box strong {
    display: inline-block;
    margin-left: 10px;
    vertical-align: middle;
    font-size: 24px;
}
*:first-child + html .rate-box strong {
    display: inline;
    zoom: 1;
}

@media only screen and (max-width: 1023px) {
    .info-container {
        margin-bottom: 0;
        padding-bottom: 0;
    }
    /* 注目の情報 */
    .info-attention {
        padding: 15px 8px;
    }
    .info-attention .image {
        width: 120px;
    }
    .info-attention dd {
        font-size: 12px;
    }
    /* 新着店舗情報・新着口コミ情報 */
    .info-container .info-container-shop,
    .info-container .info-container-review {
        float: none;
        width: 100%;
        margin: 0 auto 20px;
    }
    .info-container .info-container-shop .index-title,
    .info-container .info-container-review .index-title {
        margin: 0;
    }
    .info-items .item dt span {
        font-size: 12px;
    }
    /* 人気ランキング */
    .info-ranking .rate img {
        width: 15%;
    }
    .info-ranking .rate strong {
        top: -6px;
        margin-left: 5px;
        font-size: 20px;
    }
}

@media only screen and (max-width: 767px) {
    .layout_2col .layout_main > .index-title {
        margin: 3% 7px 0;
    }
    .layout_2col .layout_main > .index-title:first-child {
        padding-top: 2%;
    }
    .layout_2col .layout_main > .index-title .inner {
        margin: 0;
    }
    .info-container {
        width: auto;
        margin: 0 7px;
    }
    /*  注目の情報 */
    .info-attention {
        width: auto;
        margin: 0 7px 20px;
        padding: 8px;
    }
    .info-attention .image {
        margin-right: 10px;
    }
    /* 新着店舗情報・新着口コミ情報 */
    .info-items .items {
        padding: 8px;
    }
    /* 人気ランキング */
    .info-ranking {
        width: auto;
        margin: 0 7px;
    }
    .info-ranking + .sns-btn {
        margin-bottom: 40px;
        text-align: left;
    }
}

@media only screen and (max-width: 639px) {
    /* 人気ランキング */
    .info-ranking .rank {
        width: 15%;
    }
    .info-ranking .image {
        width: 20%;
    }
    .info-ranking .shop {
        width: 33%;
        padding-right: 1%;
    }
    .info-ranking .rate {
        width: 22%;
    }
    .info-ranking .rate strong {
        font-size: 16px;
    }
    .info-ranking .rate .rate-box .raty img:not(.raty-cancel) {
        display: none;
        width: 18px;
    }
    .info-ranking .rate .rate-box .raty .raty-cancel + img {
        display: inline;
    }
}

/*----------------------------------------------------
 マップ：トップ：地図検索部分
----------------------------------------------------*/
.search-shop {
    margin: 0 325px 20px 10px;
    padding: 20px 20px 20px 15px;
}
.search-shop .expander-group {
    display: none;
}
.search-shop form {
    margin: 0;
}
.search-shop-map {
    float: left;
    overflow: hidden;
    width: 280px;
    height: 325px;
}
*:first-child + html .search-shop-map {
    position: relative;
    zoom: 1;
}
.search-shop-map ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.search-shop-map .slider {
    position: relative;
    width: 560px;
}
.search-shop-map .map-all {
    float: left;
    position: relative;
    width: 280px;
    height: 325px;
}
.search-shop-map .map-all a {
    position: absolute;
}
.search-shop-map .map-all a.hokkaido {
    top: 7px;
    left: 141px;
}
.search-shop-map .map-all a.touhoku {
    top: 124px;
    left: 224px;
}
.search-shop-map .map-all a.kanto {
    top: 209px;
    left: 224px;
}
.search-shop-map .map-all a.kansai {
    top: 175px;
    left: 100px;
}
.search-shop-map .map-all a.chubu {
    top: 230px;
    left: 155px;
}
.search-shop-map .map-all a.chugoku {
    top: 260px;
    left: 65px;
}
.search-shop-map .map-all a.kyusyu {
    top: 209px;
    left: 2px;
}
.search-shop-map .map-all a.okinawa {
    top: 300px;
    left: 22px;
}
.search-shop-map .map-area {
    float: left;
    position: relative;
    z-index: 100;
    width: 280px;
    height: 325px;
}
.search-shop-map .map-area p {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
}
.search-shop-map .map-area li a {
    position: absolute;
}
.search-shop-map .map-area li a.aomori {
    top: 48px;
    left: 109px;
}
.search-shop-map .map-area li a.iwate {
    top: 123px;
    left: 162px;
}
.search-shop-map .map-area li a.miyagi {
    top: 191px;
    left: 158px;
}
.search-shop-map .map-area li a.fukushima {
    top: 270px;
    left: 110px;
}
.search-shop-map .map-area li a.yamagata {
    top: 195px;
    left: 51px;
}
.search-shop-map .map-area li a.akita {
    top: 118px;
    left: 57px;
}
.search-shop-map .map-area li a.ibaraki {
    top: 116px;
    left: 195px;
}
.search-shop-map .map-area li a.chiba {
    top: 212px;
    left: 200px;
}
.search-shop-map .map-area li a.tochigi {
    top: 66px;
    left: 130px;
}
.search-shop-map .map-area li a.gunma {
    top: 86px;
    left: 45px;
}
.search-shop-map .map-area li a.saitama {
    top: 138px;
    left: 104px;
}
.search-shop-map .map-area li a.tokyo {
    top: 179px;
    left: 78px;
}
.search-shop-map .map-area li a.kanagawa {
    top: 230px;
    left: 88px;
}
.search-shop-map .map-area li a.shiga {
    top: 72px;
    left: 182px;
}
.search-shop-map .map-area li a.kyoto {
    top: 72px;
    left: 112px;
}
.search-shop-map .map-area li a.hyogo {
    top: 92px;
    left: 38px;
}
.search-shop-map .map-area li a.osaka {
    top: 142px;
    left: 105px;
}
.search-shop-map .map-area li a.nara {
    top: 179px;
    left: 155px;
}
.search-shop-map .map-area li a.wakayama {
    top: 235px;
    left: 89px;
}
.search-shop-map .map-area li a.niigata {
    top: 59px;
    left: 143px;
}
.search-shop-map .map-area li a.ishikawa {
    top: 102px;
    left: 16px;
}
.search-shop-map .map-area li a.toyama {
    top: 102px;
    left: 83px;
}
.search-shop-map .map-area li a.nagano {
    top: 132px;
    left: 136px;
}
.search-shop-map .map-area li a.fukui {
    top: 145px;
    left: 16px;
}
.search-shop-map .map-area li a.gifu {
    top: 170px;
    left: 70px;
}
.search-shop-map .map-area li a.yamanashi {
    top: 182px;
    left: 162px;
}
.search-shop-map .map-area li a.aichi {
    top: 217px;
    left: 86px;
}
.search-shop-map .map-area li a.shizuoka {
    top: 227px;
    left: 145px;
}
.search-shop-map .map-area li a.mie {
    top: 257px;
    left: 35px;
}
.search-shop-map .map-area li a.tottori {
    top: 17px;
    left: 177px;
}
.search-shop-map .map-area li a.shimane {
    top: 29px;
    left: 87px;
}
.search-shop-map .map-area li a.okayama {
    top: 69px;
    left: 177px;
}
.search-shop-map .map-area li a.hiroshima {
    top: 83px;
    left: 107px;
}
.search-shop-map .map-area li a.yamaguchi {
    top: 103px;
    left: 31px;
}
.search-shop-map .map-area li a.kagawa {
    top: 143px;
    left: 194px;
}
.search-shop-map .map-area li a.ehime {
    top: 172px;
    left: 98px;
}
.search-shop-map .map-area li a.tokushima {
    top: 190px;
    left: 219px;
}
.search-shop-map .map-area li a.kouchi {
    top: 222px;
    left: 129px;
}
.search-shop-map .map-area li a.fukuoka {
    top: 34px;
    left: 102px;
}
.search-shop-map .map-area li a.saga {
    top: 54px;
    left: 32px;
}
.search-shop-map .map-area li a.oita {
    top: 81px;
    left: 162px;
}
.search-shop-map .map-area li a.nagasaki {
    top: 114px;
    left: 12px;
}
.search-shop-map .map-area li a.kumamoto {
    top: 141px;
    left: 87px;
}
.search-shop-map .map-area li a.miyazaki {
    top: 171px;
    left: 159px;
}
.search-shop-map .map-area li a.kagoshima {
    top: 226px;
    left: 91px;
}
/* フリーワード・ジャンルで探す */
.index-contents-box {
    margin-bottom: 20px;
}
.search-shop-params {
    float: right;
    width: 252px;
    padding: 20px;
}
.search-shop-params dl {
    margin: 0 0 15px 0;
}
.search-shop-params dt {
    margin-bottom: 10px;
    padding-left: 6px;
    font-weight: bold;
    line-height: 1;
}
.search-shop-params dd {
    margin: 0;
}
.search-shop-params .freeword .keyword {
    width: 175px;
    height: 32px;
    margin: 0;
    padding: 0 5px;
    font-size: 14px;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.search-shop-params .freeword .submit {
    width: auto;
}
.search-shop-params .freeword .keyword,
.search-shop-params .freeword .submit {
    display: inline-block;
    vertical-align: middle;
}
*:first-child + html .search-shop-params .freeword .keyword,
*:first-child + html .search-shop-params .freeword .submit {
    display: inline;
    zoom: 1;
}
.search-shop-params .checkbox:hover {
    opacity: 1;
    filter: alpha(opacity=100);
}
.search-shop-params .checkbox ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.search-shop-params .checkbox li {
    float: left;
    width: 50%;
    margin-bottom: 0.8em;
}
.search-shop-params .checkbox input {
    margin-right: 5px;
}
.search-shop-params .btn-search {
    margin: 0;
}
.search-shop-params .btn-search input {
    width: 100%;
    vertical-align: bottom;
}

@media only screen and (max-width: 1023px) {
    .search-shop-map {
        float: none;
        margin: 0 auto;
    }
    .search-shop-params {
        float: none;
        margin: 20px auto 0;
    }
}
@media only screen and (max-width: 767px) {
    .search-shop {
        width: auto;
        margin: 0 7px 20px;
    }
    .search-shop-map {
        float: left;
        margin: 0;
    }
    .search-shop-params {
        float: right;
        margin: 0;
    }
}

@media only screen and (max-width: 639px) {
    .search-shop {
        overflow: hidden;
    }
    .search-shop-map {
        display: none;
    }
    .search-shop-params {
        float: none;
        width: auto;
        padding: 0;
    }
    .search-shop-params dt {
        font-size: 16px;
    }
    .search-shop-params .freeword .keyword {
        width: 65%;
    }
    .search-shop-params .btn-search {
        width: 252px;
        margin: 0 auto;
    }
    .search-shop-params dl {
        margin: 0 0 25px 0;
    }
    .search-shop .expander-group {
        display: block;
        margin: -20px -20px 20px -20px;
    }
    .search-shop .expander {
        margin: 0;
        line-height: 1;
    }
    .search-shop .expander .trigger {
        font-weight: bold;
    }
    .search-shop .expander .trigger span {
        display: block;
        padding: 10px 8px;
    }
    .search-shop .expander .trigger i {
        display: inline-block;
        width: 18px;
        height: 18px;
        margin-right: 5px;
        vertical-align: middle;
    }
    .search-shop .expander .contents {
        display: none;
        margin: 0;
    }
    .search-shop .expander .contents ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .search-shop .expander .checkbox li {
        margin-bottom: 0;
    }
    .search-shop .expander .checkbox label {
        display: block;
        padding: 10px 8px;
    }
    .search-shop .expander .checkbox .checkbox-input {
        display: none;
    }
    .search-shop .expander .checkbox .checkbox-label {
        padding-left: 32px;
    }

    .search-shop .expander .link-list li {
        margin-bottom: 0;
    }
    .search-shop .expander .link-list a {
        display: block;
        padding: 10px 10px 10px 32px;
    }
}

/*----------------------------------------------------
 マップ：地図から探す
----------------------------------------------------*/
.map-container + .google-custom-search {
    margin: 10px 325px 20px 10px;
    text-align: center;
}
.map-container + .google-custom-search #js-search-btn {
    width: 111px;
}
.map-container + .google-custom-search + .contents-title {
    position: relative;
    margin: 0 325px 0 10px;
    padding: 15px 10px;
}
.map-container + .google-custom-search + .contents-title .inner {
    margin: 0;
}
.map-container + .google-custom-search + .contents-title .title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
}
/* 検索結果 */
.map-container + .google-custom-search + .contents-title #js-search-order {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 140px;
    padding: 2px 5px;
    font-size: 14px;
}
/* GoogleMapピンクリック時オーバーレイ */
.iw-container .icon {
    position: static;
}
.iw-container .iw-name {
    margin: 0 0 8px 0;
    padding-bottom: 6px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.3;
}
.iw-container .iw-image {
    float: left;
    width: 180px;
    margin-right: 10px;
}
.iw-container .iw-image img {
    width: 100%;
    height: auto;
}
.iw-container .iw-main {
    overflow: hidden;
}
.iw-container .iw-main-info {
    margin: 0;
    padding: 0;
    list-style: none;
}
.iw-container .iw-main-info li {
    margin-bottom: 5px;
}
.iw-container .iw-main-info .iw-main-rate i,
.iw-container .iw-main-info .iw-main-rate img,
.iw-container .iw-main-info .iw-main-rate strong {
    display: inline-block;
    vertical-align: middle;
}
*:first-child + html .iw-container .iw-main-info .iw-main-rate i,
*:first-child + html .iw-container .iw-main-info .iw-main-rate img,
*:first-child + html .iw-container .iw-main-info .iw-main-rate strong {
    display: inline;
    zoom: 1;
}
.iw-container .iw-main-info .iw-main-rate strong {
    margin-left: 8px;
    font-size: 16px;
    line-height: 1;
}

@media only screen and (max-width: 767px) {
    .iw-container .iw-image {
        float: none;
        width: auto;
        margin-right: 0;
    }
}

/*----------------------------------------------------
 マップ：リストから探す
----------------------------------------------------*/
/* 検索結果 */
.layout_main > .contents-title:first-child .title + #js-search-order {
    position: absolute;
    top: -5px;
    right: 10px;
    width: 140px;
    margin-top: 20px;
    padding: 2px 5px;
    font-size: 14px;
}
.list-search {
    margin: 0 325px 20px 10px;
}
.list-search .items {
    margin: 0;
    padding: 0;
    list-style: none;
}
.list-search .items .item {
    padding: 10px;
}
.list-search .item .image {
    float: left;
    width: 180px;
    margin-right: 10px;
}
.list-search .item .main {
    overflow: hidden;
}
.list-search .item .rate .icon {
    position: static;
}
.list-search .item .rate .raty img {
    display: inline;
}
.list-search .main-title-rate {
    float: left;
    width: 275px;
    margin-bottom: 10px;
}
.list-search .main-title-rate .title {
    margin: 0 0 10px 0;
    font-size: 16px;
}
.list-search .main-good-post {
    float: right;
}
*:first-child + html .list-search .main-good-post {
    zoom: 1;
}
.list-search .main-good-post .inner {
    width: auto;
    margin: 0;
    padding: 0;
}
.list-search .main-good-post .post {
    margin: 10px 0 0 0;
}
.list-search .main-info {
    margin-top: 10px;
    padding: 10px;
}
.list-search .main-info .icon {
    position: static;
}
.list-search .main-info dl {
    margin: 0;
    font-size: 14px;
}
.list-search .main-info dt {
    float: left;
}
.list-search .main-info dd {
    overflow: hidden;
    margin: 0;
}

@media only screen and (max-width: 1023px) {
    .map-container ul.icons li {
        display: inline-block;
    }
    .map-container + .google-custom-search #js-search-keyword {
        width: 70%;
    }
}

@media only screen and (max-width: 767px) {
    .map-container {
        margin: 5% 7px 0;
    }
    .map-container + .google-custom-search + .contents-title {
        margin: 0 7px;
    }
    .map-container + .google-custom-search {
        margin: 10px 7px 20px;
    }
    .list-search {
        margin: 0 7px;
    }
    .list-search .item .image {
        width: 120px;
    }
    .map-container + .google-custom-search #js-search-keyword {
        width: 70%;
    }
}

@media only screen and (max-width: 640px) {
    .list-search .item .image {
        float: none;
        margin: 0 auto 10px;
    }
    .map-container + .google-custom-search + .contents-title #js-search-order {
        width: 120px;
    }
    .list-search .item .rate .raty img:not(.raty-cancel) {
        display: none;
    }
    .list-search .item .rate .raty .raty-cancel + img {
        display: inline;
    }
    .list-search .main-good-post {
        float: none;
        clear: both;
        margin: 10px 0;
    }
    .list-search .main-good-post .post {
        float: left;
        margin: 0 0 0 10px;
    }
}

@media only screen and (max-width: 479px) {
    .map-container + .google-custom-search #js-search-keyword {
        width: 50%;
    }
}

/*----------------------------------------------------
 マップ：詳細：共通
----------------------------------------------------*/
/* レーティング */
.rate-inline,
.rate-inline-small {
    font-size: 0;
}
.rate-inline i,
.rate-inline span,
.rate-inline strong,
.rate-inline-small i,
.rate-inline-small span,
.rate-inline-small strong {
    display: inline-block;
    vertical-align: middle;
}
*:first-child + html .rate-inline i,
*:first-child + html .rate-inline span,
*:first-child + html .rate-inline strong,
*:first-child + html .rate-inline-small i,
*:first-child + html .rate-inline-small span,
*:first-child + html .rate-inline-small strong {
    display: inline;
    zoom: 1;
}
.rate-inline strong,
.rate-inline-small strong {
    vertical-align: bottom;
    line-height: 1;
}
*:first-child + html .rate-inline strong,
*:first-child + html .rate-inline-small strong {
    position: relative;
    top: -2px;
    vertical-align: middle;
}
.rate-inline .title,
.rate-inline-small .title {
    font-size: 14px;
}
.rate-inline .score,
.rate-inline-small .score {
    margin-left: 8px;
    font-size: 16px;
}
/* レーティング：口コミ詳細 /map/review/?id=*** */
.rate-inline-box {
    display: inline-block;
    padding: 5px 10px;
}
*:first-child + html .rate-inline-box {
    display: inline;
    zoom: 1;
}
/* js-good-btn */
.js-good-btn {
    display: inline-block;
    cursor: pointer;
    font-size: 12px;
    line-height: 1;
}
*:first-child + html .js-good-btn {
    display: inline;
    zoom: 1;
}
.js-good-btn span,
.js-good-btn i {
    display: inline-block;
    vertical-align: middle;
}
*:first-child + html .js-good-btn span,
*:first-child + html .js-good-btn i {
    display: inline;
    zoom: 1;
}
.js-good-btn .btn {
    overflow: hidden;
    width: 77px;
    height: 24px;
    padding: 0;
}
.js-good-btn .btn em {
    display: none;
}
.js-good-btn .count {
    position: relative;
    height: 16px;
    margin-left: 10px;
    padding: 0 5px;
    font-size: 11px;
    line-height: 16px;
}
.js-good-btn .count i {
    display: block;
    position: absolute;
    top: 4px;
    left: -7px;
    width: 7px;
    height: 7px;
}
.js-good-btn.disable {
    cursor: default;
}
.js-good-btn.disable .count i {
    display: block;
    position: absolute;
    top: 4px;
    left: -7px;
    width: 7px;
    height: 7px;
}
/* このお店の口コミを投稿する */
.group-post-shop {
    margin: 20px;
    padding: 0;
    list-style: none;
}
.group-post-shop .this {
    float: left;
}
.group-post-shop .other {
    float: right;
}
/* 口コミ */
.layout_main .contents-title {
    position: relative;
    margin: 0 325px 0 10px;
    padding: 15px 10px;
}
.layout_main .contents-title .inner {
    margin: 0;
}
.layout_main .contents-title .title {
    font-size: 18px;
    font-weight: bold;
}
.layout_main > .inner > .contents-title {
    margin: 0;
}
/* 口コミ一覧に戻る　/map/review/?id=*** */
.next-preview-box {
    overflow: hidden;
    margin: 0 325px 13px 10px;
}
.next-preview-box p {
    float: left;
    margin: 0.2em 0 0 15px;
}
.next-preview-box ul {
    float: right;
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: right;
    font-size: 12px;
}
.next-preview-box ul li:first-child {
    margin-bottom: 1em;
}
.next-preview-box ul a {
    font-weight: bold;
}
.next-preview-link {
    margin: 10px 325px 0 0;
    text-align: right;
    font-size: 12px;
}
.next-preview-link a {
    font-weight: bold;
}

@media only screen and (max-width: 1023px) {
    /* このお店の口コミを投稿する */
    .group-post-shop + .contents-title .inner {
        margin: 0;
    }
    /* 口コミ一覧に戻る　/map/review/?id=*** */
    .next-preview-box ul li:first-child {
        margin-bottom: 5px;
    }
}

@media only screen and (max-width: 767px) {
    .layout_main > .contents-title:first-child {
        margin: 5% 0 0;
    }
    .layout_main > .inner > .contents-title:first-child {
        margin-top: 5%;
    }
    /* このお店の口コミを投稿する */
    .group-post-shop + .contents-title {
        margin: 0 7px;
    }
    .group-post-shop .this {
        float: none;
    }
    .group-post-shop .this > img {
        margin: 0 auto;
    }
    /* 口コミ一覧に戻る　/map/review/?id=*** */
    .next-preview-box {
        margin: 0 15px 13px 0;
    }
    .next-preview-box ul {
        margin-top: 10px;
    }
    .next-preview-link {
        margin-top: 5px;
        margin-right: 15px;
    }
    /* レーティング：口コミ詳細 /map/review/?id=*** */
    .rate-inline-box {
        margin-top: 10px;
    }
}

@media only screen and (max-width: 639px) {
    .js-good-btn {
        float: left;
    }
}

/*----------------------------------------------------
 マップ；詳細：口コミ /map/store/?id=***
----------------------------------------------------*/
.list-review {
    margin: 0 325px 0 10px;
    margin-bottom: 20px;
    padding: 0 10px;
}
.list-review .items {
    margin: 0;
    padding: 0;
    list-style: none;
}
.list-review .items .item {
    margin-top: 10px;
}
.list-review .items .item:first-child {
    margin-top: 0;
}
.list-review .item .image {
    float: left;
    overflow: hidden;
    width: 70px;
    height: 70px;
    margin-right: 20px;
}
.list-review .item .main {
    overflow: hidden;
    padding: 20px 20px 5px 20px;
}
.list-review .item .main-image {
    float: right;
    margin-left: 15px;
}
.list-review .item .main-content {
    overflow: hidden;
}
.list-review .item .main-title {
    margin: 0 0 10px 0;
    font-size: 16px;
    line-height: 1.3;
}
.list-review .item .main-rating {
    margin: 0 0 10px 0;
}
.list-review .item .main-comment {
    margin: 0;
}
.list-review .item .main-rating .raty img {
    display: inline;
}
.list-review .item .main-rating .icon-don {
    position: static;
}
.list-review .item .main-date {
    clear: both;
    margin: 10px 0 0 0;
    padding: 6px 0 0 0;
    text-align: right;
    font-size: 12px;
}

@media only screen and (max-width: 767px) {
    .list-review {
        margin: 0 10px;
    }
    .list-review .item .main-image {
        width: 100px;
    }
    .list-review .item .main-rating .icon-don {
        display: block;
        margin-bottom: 3px;
    }
}

@media only screen and (max-width: 639px) {
    .list-review .item .main-image {
        float: none;
        width: 120px;
        margin: 0 auto 10px;
        text-align: center;
    }
    .list-review .item .main-rating .icon-don {
        display: inline-block;
    }
    .list-review .item .main-rating .raty img:not(.raty-cancel) {
        display: none;
    }
    .list-review .item .main-rating .raty .raty-cancel + img {
        display: inline;
    }
    .list-review .item .image {
        width: 40px;
        height: 40px;
        margin-right: 10px;
    }
}

/*----------------------------------------------------
 マップ：店舗詳細 /map/store/?id=***
----------------------------------------------------*/
.detail-shop {
    margin: 0 325px 20px 10px;
}
.detail-shop .detail-shop-inner {
    padding: 16px 20px 20px;
}
.detail-shop .header {
    margin-bottom: 10px;
}
.detail-shop .header .title {
    float: left;
    margin: 0;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3;
}
.detail-shop .header .js-good-btn {
    float: right;
    margin: 3px 0 0;
}
.detail-shop .header .js-good-btn .inner {
    margin: 0;
    padding: 0;
}
.detail-shop .main-image {
    float: left;
    width: 240px;
    margin-right: 15px;
}
.detail-shop .main-image img {
    width: 100%;
    height: auto;
}
.detail-shop .main-content {
    overflow: hidden;
    padding: 10px;
}
.detail-shop .main-content dl {
    margin: 0 0 6px 0;
    font-size: 12px;
}
.detail-shop .main-content dt {
    float: left;
}
.detail-shop .main-content dt .icon {
    position: static;
}
.detail-shop .main-content dd {
    overflow: hidden;
    margin: 0;
    word-break: break-all;
}
.detail-shop .main-content .rate {
    margin: 0 0 10px 0;
}
.detail-shop .main-content .rate .icon {
    position: static;
}
.detail-shop .main-content .rate img {
    display: inline;
}
.detail-shop .main-content .comment {
    margin: 0;
    padding: 10px 0 0 0;
    font-size: 14px;
}
/* オーバーレイ */
.detail-shop + #overlay #comment-title {
    text-indent: 38px;
}
.detail-shop + #overlay #close p {
    top: -5px;
}
.detail-shop + #overlay .form p {
    margin: 1em 0;
}
.detail-shop + #overlay .form a img {
    margin: 0 auto;
}

@media only screen and (max-width: 1023px) {
    .detail-shop .main-image {
        width: 32%;
    }
}

@media only screen and (max-width: 767px) {
    .detail-shop {
        margin: 5% 7px 20px;
    }
}

@media only screen and (max-width: 639px) {
    .detail-shop .main-content .rate img:not(.raty-cancel) {
        display: none;
    }
    .detail-shop .main-content .rate .raty-cancel + img {
        display: inline;
    }
}

@media only screen and (max-width: 479px) {
    .detail-shop .main-image {
        float: none;
        width: 100%;
        margin: 0 0 10px;
    }
    .detail-shop .main-image img {
        margin: 0 auto;
    }
}

/*----------------------------------------------------
 マップ；口コミ詳細 /map/review/?id=***
----------------------------------------------------*/
.detail-review {
    margin: 0 325px 0 10px;
    padding: 20px;
}
.detail-review .header {
    padding-bottom: 10px;
}
.detail-review .header .image {
    float: left;
    width: 60px;
    margin-right: 15px;
}
.detail-review .header .main {
    overflow: hidden;
}
.detail-review .header .main-header {
    margin-bottom: 10px;
}
.detail-review .header .icon-don,
.detail-review .header .icon-date {
    position: static;
}
.detail-review .header .raty img {
    display: inline-block;
}
.detail-review .header .main-header-title {
    float: left;
    margin: 0;
    padding-top: 0.3em;
    font-size: 16px;
    font-weight: bold;
}
.detail-review .header .main-header-rating {
    float: right;
    margin: 0;
}
.detail-review .header .main-meta {
    overflow: hidden;
    margin: 0;
    padding: 0;
    list-style: none;
}
.detail-review .header .main-meta li {
    float: left;
    margin-right: 1.5em;
    white-space: nowrap;
}
.detail-review .header .main-meta li.date {
    float: right;
    margin-right: 0;
}
.detail-review .main .main-title {
    margin: 0;
    padding: 16px 10px 14px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
}
.detail-review .main .main-images {
    margin: 0 0 20px 0;
    padding: 0;
    list-style: none;
}
.detail-review .main .main-images li {
    float: left;
    margin-left: 19px;
}
.detail-review .main .main-images li:first-child {
    margin-left: 0;
}
.detail-review .review .review-ratings {
    width: 50%;
    padding: 15px;
}
.detail-review .review .review-ratings img {
    display: inline-block;
}
.detail-review .review .review-ratings dl {
    margin: 0;
}
.detail-review .review .review-ratings dt {
    margin: 0 0 5px 0;
    padding: 0 0 5px 0;
    white-space: nowrap;
}
.detail-review .review td {
    padding-top: 0;
    vertical-align: top;
}
.detail-review .review .review-ratings dd {
    margin: 0;
}
.detail-review .review .review-ratings table th,
.detail-review .review .review-ratings table td {
    text-align: left;
    white-space: nowrap;
    font-weight: normal;
}
.detail-review .review .review-ratings table em {
    display: inline-block;
    position: relative;
    top: 1px;
    margin: 0 0.3em;
    vertical-align: middle;
    font-size: 12px;
}
*:first-child + html .detail-review .review .review-ratings table em {
    display: inline;
    zoom: 1;
}
.detail-review .review .review-comment {
    padding: 15px;
}

@media only screen and (max-width: 1023px) {
    .detail-review .review {
        width: 100%;
    }
    .detail-review .review .review-ratings,
    .detail-review .review .review-comment {
        display: block;
        width: auto;
    }
}

@media only screen and (max-width: 767px) {
    .detail-review {
        margin: 0 7px;
        padding: 10px;
    }
    .detail-review .header .raty img:not(.raty-cancel) {
        display: none;
    }
    .detail-review .header .raty .raty-cancel + img {
        display: inline;
    }
    .detail-review .main .main-images li {
        float: none;
        width: 80%;
        margin: 0 auto 15px;
        text-align: center;
    }
    .detail-review .main .main-images li img {
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 639px) {
    .detail-review .header .main-meta li.date {
        margin: 5px 0;
    }
    .detail-review .header .main-meta li {
        float: right;
        margin-right: 0;
    }
    .detail-review .review .review-ratings img:not(.raty-cancel) {
        display: none;
    }
    .detail-review .review .review-ratings .raty-cancel + img {
        display: inline;
    }
}

/*----------------------------------------------------
 マップ：口コミ投稿フォーム
----------------------------------------------------*/
.form-review {
    margin: 0 325px 0 10px;
}
.form-review .contents-box {
    padding: 20px;
}
.form-review .contents-box-title {
    margin: 0 0 10px 0;
    padding-bottom: 4px;
}
.form-review .contents-box-title span {
    display: block;
    padding: 0 0 0 5px;
    font-size: 20px;
    font-weight: bold;
}
.form-review .confirm-message {
    margin: 0;
    padding-bottom: 1em;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}
.form-review .complete-message {
    margin: 0;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}
.form-review table {
    width: 100%;
}
.form-review .contents-box > table > tbody > tr > th {
    width: 6em;
}
.form-review table th,
.form-review table td {
    padding: 15px 0;
    text-align: left;
    vertical-align: top;
}
.form-review table .note {
    display: inline-block;
    margin-top: 5px;
    font-size: 12px;
}
*:first-child + html .form-review table .note {
    display: inline;
    zoom: 1;
}
.form-review table textarea,
.form-review table .input-text,
.form-review table .input-tel {
    width: 96%;
    padding: 5px;
    font-size: 14px;
}
.form-review table .input-tel,
.form-review table .space-tel {
    display: inline-block;
    width: 60px;
    vertical-align: middle;
}
*:first-child + html .form-review table .input-tel,
*:first-child + html .form-review table .space-tel {
    display: inline;
    zoom: 1;
}
.form-review table .space-tel {
    width: auto;
}
.form-review table .select-date {
    display: inline-block;
    width: auto;
    padding: 2px 0 2px 5px;
    vertical-align: middle;
    font-size: 14px;
}
*:first-child + html .form-review table .select-date {
    display: inline;
    zoom: 1;
}
.form-review table .select-note {
    display: inline-block;
    margin: 0 2em 0 0.5em;
    vertical-align: middle;
}
*:first-child + html .form-review table .select-note {
    display: inline;
    zoom: 1;
}
.form-review table .inline-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.form-review table .inline-list li {
    float: left;
    white-space: nowrap;
}
.form-review table .rating-group {
    width: auto;
}
.form-review table .rating-group table {
    width: auto;
}
.form-review table .rating-group th,
.form-review table .rating-group td {
    padding: 0;
    vertical-align: middle;
}
.form-review table .rating-group .rating-group-total {
    padding: 0 20px 0 0;
    white-space: nowrap;
    font-size: 12px;
}
.form-review table .rating-group .rating-group-others {
    padding: 0 0 0 15px;
}
.form-review table .rating-group .rating-group-others th,
.form-review table .rating-group .rating-group-others td {
    padding: 4px 0;
    white-space: nowrap;
    font-size: 12px;
    font-weight: normal;
}
.form-review table .rating-group .rating-group-others td {
    display: none;
}
.form-review table .rating-group .rating-group-others td + td {
    display: block;
}
.form-review table .rating-group .js-rating-group span,
.form-review table .rating-group .js-rating-group input,
.form-review table .rating-group .js-rating-group .ui-spinner,
.form-review table .rating-group .js-rating-group em {
    display: inline-block;
    vertical-align: middle;
}
.form-review table .rating-group .js-rating-group em {
    margin: 0 0.3em;
}
.form-review table .rating-group .js-rating-group .js-rating-star {
    font-size: 0;
}
.form-review table .rating-group .js-rating-group .js-rating-star img {
    display: inline;
}
.form-review table .rating-group .js-rating-preview {
    width: 30px;
}
.form-review table .rating-group .ui-spinner-input {
    width: 40px;
}
.form-review table .checkbox-group {
    margin: 3px;
}
.form-review .contents-box ~ .form-actions {
    margin: 1em 0;
}
.form-review .contents-box ~ .form-actions input {
    width: 162px;
}
.form-actions a img {
    margin: 10px auto;
}
.form-review + .form-actions {
    margin: 0 325px 0 10px;
}

@media only screen and (max-width: 1023px) {
    .form-review table .rating-group .rating-group-total {
        display: block;
        padding-bottom: 10px;
    }
    .form-review table .rating-group .rating-group-others {
        display: block;
        padding-top: 10px;
    }
    .form-review table .rating-group .rating-group-others {
        padding-left: 0;
    }
    .form-review table .rating-group .js-rating-group .js-rating-star img {
        width: 12px;
        height: auto;
    }
}

@media only screen and (max-width: 767px) {
    .form-review {
        margin: 0 7px;
    }
    .form-review .contents-box {
        padding: 10px;
    }
    .form-review .contents-box > table > tbody > tr > th,
    .form-review .contents-box > table > tbody > tr > td {
        display: block;
    }
    .form-review .contents-box > table > tbody > tr > th {
        width: auto;
    }
    .form-review table .select-note {
        margin: 0 0.5em;
    }
    .form-review .contents-box > table > tbody > tr > td {
        border-top: none;
        padding-top: 0;
    }
    .form-review table .rating-group .rating-group-total {
        background: none;
    }
    .form-review + .form-actions {
        margin: 0 7px;
    }
}

/*----------------------------------------------------
 グランプリ:共通
----------------------------------------------------*/
.title-grandprix {
    margin-bottom: 10px;
}

@media only screen and (max-width: 1023px) {
    .title-grandprix {
        margin: 0 3% 10px;
    }
}

/*----------------------------------------------------
 グランプリ：開催中のグランプリ/過去のグランプリ　/grandprix/
----------------------------------------------------*/
.top-grandprix {
    margin: 0 7px 40px 7px;
    padding: 0;
    list-style: none;
}
.top-grandprix li {
    margin: 10px 0 20px 0;
    text-align: center;
}
.top-grandprix li img {
    margin: 0 auto;
}

/*----------------------------------------------------
 グランプリ：投票選択　/grandprix/detail/?id=***
----------------------------------------------------*/
.info-grandprix {
    margin-bottom: 20px;
    padding: 9px;
}
.layout_main > .info-grandprix {
    margin: 0 325px 0 10px;
}
.info-grandprix .title {
    margin: 0;
}
.info-grandprix ~ form > .contents-title {
    margin: 20px 0 0;
}
.info-grandprix .description {
    margin: 15px 0 0 0;
    padding: 0 10px 10px 10px;
}
.info-grandprix .description dt {
    margin-bottom: 5px;
    font-weight: bold;
}
.info-grandprix .description dd {
    margin: 0;
}
/* ノミネート一覧 */
.info-nominate {
    padding-bottom: 10px;
}
.info-nominate .description {
    margin-bottom: 15px;
}
.info-nominate .description .image {
    width: 100%;
    height: auto;
}
.info-nominate .vote .subtitle {
    margin: 0;
    padding-bottom: 5px;
}
.info-nominate--vote__td--img {
    width: 120px;
    max-width: none;
}
.vote__ul {
    overflow: hidden;
}
.vote__list {
    float: left;
    width: 298px;
    margin: 0 8px 12px 8px;
}
.vote__content {
    padding: 8px;
}
.vote__content-img,
.vote__content-txt {
    display: table;
}
.vote__content-img {
    float: left;
    width: 120px;
}
.vote__content-txt {
    height: 11em;
    padding: 4px;
}
.vote__txt-ul {
    margin: 0;
}
.vote__content-txt-newwin {
    display: inline;
    padding: 0 2px;
}
.vote__content-pref {
    font-weight: bold;
}
.vote__btn {
    display: block;
    float: right;
}
.vote__btn-cmt {
    margin: 0 auto;
}
.vote__btn input[type=radio],
.vote__btn input[type=checkbox] {
    display: none;
}
.radio {
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    width: 96px;
    padding: 4px 0;
    cursor: pointer;
    text-align: center;
    vertical-align: middle;
}
.radio:hover,
.checkbox:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
input[type=radio]:checked + .radio {
    margin-top: 2px;
}

@media only screen and (max-width: 1023px) {
    .vote__list {
        float: none;
        width: 100%;
        margin: 0 auto 10px;
    }
    .vote__content-txt {
        height: auto;
    }
}

@media screen and (max-width: 767px) {
    .layout_main > .info-grandprix {
        margin: 5% 0 0;
    }
}

/*----------------------------------------------------
 グランプリ：投票フォーム
----------------------------------------------------*/
.form-vote .contents-box-title {
    margin: 0 0 10px 0;
}
.form-vote .subtitle {
    margin: 0;
    padding: 12px 0;
    font-size: 16px;
}
.form-vote .confirm-message {
    margin: 0 0 1em 0;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}
.form-vote .complete-message {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}
.form-vote table {
    width: 100%;
}
.form-vote table th,
.form-vote table td {
    padding: 15px;
}
.form-vote table th {
    padding: 15px 0;
    text-align: left;
    font-weight: normal;
}
.form-vote table .confirm-textarea {
    padding-bottom: 0;
}
.form-vote table td span {
    font-size: 12px;
}
.form-vote table dt {
    margin-bottom: 5px;
}
.form-vote table dd {
    margin: 0;
}
.form-vote textarea {
    width: 97%;
    margin-top: 15px;
    padding: 5px;
}

/*----------------------------------------------------
 グランプリ:募集
----------------------------------------------------*/
.grand-prix .read-box,
.grand-prix .entry-step {
    margin-bottom: 30px;
    padding: 0 7px;
}
.grand-prix .read-box .read {
    line-height: 1.5;
}
.grand-prix .sub-title {
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: bold;
}
.grand-prix .entry-step .title {
    margin-bottom: 5px;
    font-size: 16px;
    font-weight: bold;
}
.grand-prix .entry-step .entry-btn {
    margin: 20px 0;
    text-align: center;
}
.grand-prix .entry-step .entry-btn a {
    display: block;
    width: 60%;
    margin: 0 auto;
    padding: 8px 15px;
    font-size: 18px;
    font-weight: bold;
}
.grand-prix .entry-list .hd {
    margin-bottom: 10px;
    padding: 7px 10px;
}
.grand-prix .entry-list .title {
    font-size: 16px;
    font-weight: bold;
}
.grand-prix .entry-list .genre-list li {
    float: left;
    width: 308px;
    margin: 0 15px 20px 0;
}
.grand-prix .entry-list .genre-list li:nth-child(even) {
    margin: 0 0 20px 0;
}
.grand-prix .entry-list .bumon {
    margin-bottom: 8px;
    padding-left: 7px;
    font-size: 16px;
    font-weight: bold;
}
.grand-prix .entry-list .bumon span {
    vertical-align: middle;
}
.grand-prix .entry-list .bumon .name {
    margin-right: 2px;
    font-size: 18px;
}
.grand-prix .entry-list .entry-image {
    width: 120px;
    margin-left: 5px;
}
.grand-prix .entry-list .entry-read {
    width: 185px;
}

@media only screen and (max-width: 1023px) {
    .grand-prix .entry-list .hd,
    .grand-prix .read-box,
    .grand-prix .entry-step {
        margin: 0 3% 20px;
    }
    .grand-prix .entry-list .genre-list li,
    .grand-prix .entry-list .genre-list li:nth-child(even) {
        float: none;
        width: 100%;
        margin: 0 0 15px 0;
        padding: 0;
    }
    .grand-prix .entry-list .list-inner {
        display: block;
        min-height: 80px;
    }
    .grand-prix .entry-list .entry-read {
        width: auto;
        margin-left: 15px;
    }
}

@media only screen and (max-width: 767px) {
    .grand-prix .entry-list .entry-image {
        width: 80px;
        margin-left: 5px;
    }
    .grand-prix .entry-list .entry-image img {
        width: 80px;
    }
}

/*----------------------------------------------------
 グランプリ:結果発表
----------------------------------------------------*/
.gp-contents {
    width: 100%;
}
.gp-contents-list li {
    width: 33%;
    margin: 10px 1px;
}
.gp-contents-list li img {
    width: 100%;
}
.gp-contents-list ul.gp-list {
    margin: 0 auto;
}
.gp-contents-list ul.gp-list li {
    width: 200px;
    margin: 0;
    padding: 5px 0;
}
.gp-contents-list ul.gp-list li a {
    margin-left: 10px;
}

@media only screen and (min-width: 768px) and (max-width: 1023px) {
    .gp-contents-list li {
        width: 48%;
        margin: 0 1% 10px;
    }
    .gp-contents-list ul.gp-list li {
        width: 100%;
        padding: 5px 0;
    }
}
@media only screen and (min-width: 480px) and (max-width: 767px) {
    .gp-contents-list li {
        width: 48%;
        margin: 0 1% 20px;
    }
    .gp-contents-list ul.gp-list li {
        width: 100%;
        padding: 10px 0;
    }
}
@media only screen and (max-width: 479px) {
    .gp-contents-list li {
        width: 96%;
    }
    .gp-contents-list ul.gp-list li {
        width: 100%;
        padding: 15px 0;
    }
}

/*----------------------------------------------------
 グランプリ結果発表 詳細
----------------------------------------------------*/
.shop-detail-table {
    width: 100%;
}
.shop-detail-table th {
    box-sizing: border-box;
    width: 12%;
    padding: 7px;
    text-align: center;
    vertical-align: middle;
}
.shop-detail-table td {
    box-sizing: border-box;
    width: 88%;
    padding: 7px;
}
.grandprix-detail-btn {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 80%;
    margin: 8px auto 0;
    padding: 10px 0;
    text-align: center;
    text-decoration: none;
    font-size: 20px;
}

@media only screen and (max-width: 1023px) {
    .shop-detail-table th {
        width: 20%;
        text-align: center;
    }
    .shop-detail-table td {
        width: 80%;
    }
}

@media only screen and (max-width: 479px) {
    .shop-detail-table th {
        width: 30%;
        text-align: center;
    }
    .shop-detail-table td {
        width: 70%;
    }
}

/*----------------------------------------------------
 グランプリ：投票
----------------------------------------------------*/
#main-content .entry-vote .hd {
    padding: 7px 10px;
}
#main-content .entry-vote .title {
    font-size: 16px;
    font-weight: bold;
}
#main-content .entry-vote > .bd {
    padding: 10px 15px;
}
#main-content .entry-vote .genre-select li {
    width: 184px;
    margin-right: 10px;
}
#main-content .entry-vote .question-form {
    letter-spacing: normal;
}
#main-content .entry-vote .question-form p {
    letter-spacing: normal;
}
#main-content .entry-vote .q-text {
    margin-bottom: 10px;
}
#main-content .entry-vote .radio-select li {
    float: left;
    margin-right: 20px;
}

@media only screen and (max-width: 1023px) {
    #main-content .entry-vote .hd {
        margin: 0 3%;
    }
    #main-content .entry-vote .genre-select li {
        width: 100%;
        margin: 0;
    }
}

/*----------------------------------------------------
 名刺申し込みページ /become/namecard/
----------------------------------------------------*/
.page-namecard fieldset h2 {
    margin: 28px 0 14px 0;
    font-size: 16px;
    font-weight: bold;
}
.page-namecard .step .hd {
    padding: 4px 10px;
    text-align: center;
}
.page-namecard .notice {
    padding: 7px;
}
.page-namecard #card-form {
    margin-top: 14px;
}

/*----------------------------------------------------
 登録完了ページ /complete/
----------------------------------------------------*/
.tipsShareAreaTop .shareButton {
    width: 100%;
    margin-top: 10px;
}
.tipsShareAreaTop .shareButton li {
    width: 45%;
    margin: 0 4px 0 3px;
    padding: 5px;
    text-align: center;
}
.tipsShareAreaTop .shareButton li a {
    display: block;
    text-decoration: none;
}
.shareButton span {
    padding: 10px 10px 10px 30px;
}
.shareButton .facebook {
    text-decoration: none;
}
.shareButton .facebook:hover {
    text-decoration: none;
}
.shareButton .twitter {
    text-decoration: none;
}
.shareButton .twitter:hover {
    text-decoration: none;
}
.shareButton li {
    float: left;
    height: 32px;
    line-height: 32px;
}
.shareButton h3 {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
    .tipsShareAreaTop .shareButton li {
        width: 43%;
        margin: 0 4px 0 5px;
        padding: 5px;
        text-align: center;
        font-size: 13px;
    }
}

/*----------------------------------------------------
 サイトマップ
----------------------------------------------------*/
.sitemap-list {
    float: left;
    width: 48%;
    font-size: 18px;
}
.sitemap-list + .sitemap-list {
    float: right;
}
.sitemap-list ul {
    margin: 5px 0 0;
    padding-left: 16px;
    font-size: 14px;
}
.sitemap-list li {
    padding: 2px 0;
}
.sitemap-list > li {
    padding: 10px 0 5px;
}

@media only screen and (max-width: 479px) {
    .sitemap-list,
    .sitemap-list + .sitemap-list {
        float: none;
        width: 100%;
    }
}

/*----------------------------------------------------
 サイト内検索
----------------------------------------------------*/
.gsc-results .gsc-cursor {
    display: block !important;
}
.gsc-results .gsc-cursor-box .gsc-cursor-current-page,
.gsc-results .gsc-cursor-box .gsc-cursor-page {
    display: inline-block !important;
}

/*----------------------------------------------------
 ログイン確認 /main/login/?done=/
----------------------------------------------------*/
.login-check {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}
.login-check li {
    margin: 16px 0;
    padding: 0 8px;
}
.login-check img {
    margin: 0 auto;
}
.login-check > h2 {
    margin: 16px 8px;
}
.login-check__ul {
    margin: 0;
}
.login-check__ttl {
    font-size: 20px;
}

/*----------------------------------------------------
 ADNW
----------------------------------------------------*/
.adsbygoogle {
    display: block !important;
    max-width: 300px;
    margin: 0 auto 20px;
}
.main-content-ad-list .adsbygoogle {
    display: block !important;
    float: left;
}
.main-content-ad-list .adsbygoogle ~ .adsbygoogle {
    float: right;
}

@media only screen and (max-width: 1023px) {
    .main-content-ad-list .adsbygoogle {
        float: none;
    }
    .main-content-ad-list .adsbygoogle ~ .adsbygoogle {
        float: none;
    }
}

@media only screen and (max-width: 767px) {
    .main-content-ad-list .adsbygoogle {
        float: left;
    }
    .main-content-ad-list .adsbygoogle ~ .adsbygoogle {
        float: right;
    }
}

@media only screen and (max-width: 639px) {
    .main-content-ad-list .adsbygoogle {
        float: none;
    }
    .main-content-ad-list .adsbygoogle ~ .adsbygoogle {
        float: none;
    }
}

/*----------------------------------------------------
 エラーページ
----------------------------------------------------*/
.global-container {
    padding: 20px 0 45px;
}
.global-container .container {
    width: 940px;
    margin: 0 auto;
    padding: 12px 20px 20px;
}
.global-container {
    padding: 20px 0 45px;
}
.global-container .container h1 {
    margin: 12px 0;
    font-size: 28px;
}
.global-container .container .row p {
    margin-top: 5px;
}

/*----------------------------------------------------
 記事内要素
----------------------------------------------------*/
/* 見出し */
.title-left-border {
    margin-bottom: 10px;
    padding: 0 0 0 5px;
    font-size: 20px;
    font-weight: bold;
}
/* リスト */
.list-three-up li {
    float: left;
    width: 33%;
}
/* float */
.left-half {
    float: left;
    width: 48%;
    margin: 0 1%;
}
.right-half {
    float: right;
    width: 48%;
    margin: 0 1%;
}
/* 角丸枠線　＋　べた塗り背景 */
.featured {
    width: 90%;
    padding: 10px 20px 10px 20px;
}
/* 番号画像つきテキスト ①, ②のような数値画像とテキストを横並び */
.ordered-block-icon {
    float: left;
    margin-right: 7px;
}
.ordered-block-text {
    overflow: hidden;
}
/* 動画 */
.youtube-container {
    overflow: hidden;
    position: relative;
    height: 0;
    padding-top: 30px;
    padding-bottom: 56.25%;
}
.youtube-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/* 画像横並び3列 */
.img-list-three-up li {
    float: left;
    width: 31%;
    margin: 0 1% 20px;
}

@media only screen and (max-width: 639px) {
    .list-three-up li {
        float: none;
        width: 100%;
    }
}

@media only screen and (max-width: 479px) {
    .left-half {
        float: none;
        width: 100%;
        margin: 0 0 20px;
    }
    .right-half {
        float: none;
        width: 100%;
        margin: 0 0 20px;
    }
}

/*----------------------------------------------------
 その他
----------------------------------------------------*/
