@charset "utf-8";

/*----------------------------------------------
	Default Values
----------------------------------------------*/

html, body, div, span, object, iframe, 
h1, h2, h3, h4, h5, h6,
p, blockquote, pre, 
a, abbr, address, cite, code, 
del, dfn, em, img, ins, kbd, q, samp, 
small, strong, sub, sup, var, 
b, i, 
dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td, 
article, aside, canvas, details, figure, figcaption, 
footer, header, hgroup, menu, nav, section, summary, 
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}

body {
font-family: 'Meiryo UI', 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', "MS P Gothic", sans-serif;
min-width:960px;
color: #333;
line-height: 1.5;
-webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 995px) {
body {
min-width:0;
}
}

strong,
cite{
font-style: normal;
}

img {
width: auto;
max-width: 100%;
height: auto;
border: none;
}

video {
max-width: 100%;
height: auto;
}

ul {
list-style: none;
}

ol {
list-style-type: decimal;
}

table {
border-collapse: collapse;
border-spacing: 0;
}

em{
font-style:normal;
font-weight:bold;
}

strong{
font-size:1.05em;
}

caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle;
}

caption{
margin-bottom:10px;
}

mark {
background: #ffff33;
font-weight:normal;
}

/*sup{
top:-.5em;
position:relative;
line-height:1;
}*/

abbr[title], dfn[title] {
border-bottom: 1px dotted #333;
cursor: help;
}

blockquote, q {
quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
content: '';
content: none;
}

hr {
display: block;
height: 1px;
border: 0;   
border-top: 1px dotted #cdcccc;
margin: 1em 0;
padding: 0;
}

input, select {
vertical-align: middle;
}

/*----------------------------------------------
	Base Settings
----------------------------------------------*/

/* Structure
----------------------------------*/

.section-container{
margin:0 auto;
width:960px;
}

.section-container.w-735{
width:735px;
}

.section-container.fs{
width:auto;
}

.section-container section{
padding-top:30px;
}

.section-container section:first-child{
padding-top:0;
}

.section-container > :not(section),
.section-container section section,
.section-container section > :not(.region),
.section-container section .region > :not(.content) ~ :not(.content),
.section-container section .region > :first-child:not(.content):not([class*="hdg"]):not(a),
.section-container section .region > [class*="hdg"]:not(:first-child),
.section-container section .region .region,
.section-container section .region > .content > h1{
border:solid 10px #f00 !important; /* Enable alert for invalid section / region / content / h1 use */
}

.section-container section .region > .hdg:first-child img{
vertical-align:bottom;
}

.content table th > :last-child,
.content table td > :last-child,
.section-container section .region > .content > :last-child,
.section-container section .region > .content > [class~="kv-box"] :last-child,
.content .layout_grid > .unit > :last-child,
.content .layout_image > .image > :last-child,
.content .layout_image > .description > :last-child,
.content .layout_image > .description > [class*="indent-"]:last-child > :last-child,
.content .layout_text > .description > :last-child,
.content .layout_box[class*="type-"] > div > :last-child,
.content .tab .panels .panel > :last-child,
.content .layout_grid > .unit > [class*="indent-"]:last-child > :last-child,
.se .content .card-recommendations .guide :last-child{
margin-bottom:0 !important;
}

.section-container section .region.sidebar .content .sn{
margin-bottom:15px;
}

.section-container section .region.sidebar .content .sn ul{
margin-bottom:0;
}


.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6{
margin-bottom:15px;
}

.content h2[class*="hdg_"]{
margin-top:50px;
}

.content h3[class*="hdg_"],
.content h4[class*="hdg_"]{
margin-top:30px;
}

.content h2[class*="hdg_"]:first-child,
.content h3[class*="hdg_"]:first-child,
.content h4[class*="hdg_"]:first-child,
.content [class*="kv"]:first-child + h2[class*="hdg_"],
.content [class*="kv"]:first-child + h3[class*="hdg_"],
.content [class*="kv"]:first-child + h4[class*="hdg_"],
.content h2[class*="hdg_"] + h3[class*="hdg_"],
.content h3[class*="hdg_"] + h4[class*="hdg_"]{
margin-top:0;
}

.content p,
.content ul,
.content ol,
.content dl{
margin-bottom:15px;
}

.content div.dm,
.content p.dm,
.content ul.dm,
.content ol.dm,
.content dl.dm{
margin-bottom:30px !important;
}

.content a:hover{
color:#3979d1;
}

.region.sidebar .content .sn img{
vertical-align:bottom;
}

.content strong.type-1{
font-size:1.1em;
}

.content .layout_box{
margin-bottom:15px;
}

.content [class*="list_"] > li{
margin-bottom:.3em;
}

.content [class*="list_"] > li > a,
.content [class*="list_"] > li > a{
text-align:left;
}

.content ul > li [class*="list_"],
.content ol > li [class*="list_"]{
margin-bottom:0;
}

.content ol[class*="list_"].separate > li + li{
margin-top:15px;
}

.content table{
margin-bottom:15px;
}

.content table th.nowrap,
.content table td.nowrap{
white-space: nowrap;
}

.content table thead td.empty{
border:none !important;
background:none !important;
}

.content table th.nobg,
.content table td.nobg{
background:none !important;
}

.content table th.nowrap,
.content table td.nowrap{
white-space:nowrap;
}

.content [class*="list_"].unite > li:first-child{
padding-top:0 !important;
border-top:none !important;
}

.content [class*="list_"].unite > li:first-child .cat{
top:0;
}

.content [class*="list_"][class*="parallel"] > li{
display:inline-block;
}

.content .layout_grid{
clear:both;
margin-bottom:15px;
}

.content .layout_grid.separate{
margin-top:0 !important;
}

.content .layout_grid > .unit{
float:left;
}

.content .layout_image,
.content .layout_image_2{
margin-bottom:15px;
}

.content .layout_image.image-l > .image{
float:left;
}

.content .layout_image.image-r > .image{
float:right;
}

.content .layout_image > .image img{
vertical-align:bottom;
}

.content .layout_image[class*="image-"] > .description{
overflow:hidden;
}

.content .layout_image[class*="image-"].fluid > .description{
overflow:visible;
}

.content img + .caption,
.content a + .caption{
margin-top:10px;
display:block;
font-size:.85em;
}

.content .layout_image[class*="image-"] > .image img + .caption{
margin-bottom:30px;
}

.content .center{
text-align:center;
}

.content .right{
text-align:right;
}

.content .middle{
vertical-align:middle;
}

.icon-sup{
padding:0 10px;
display:inline-block;
vertical-align:middle;
}

.content .mt-none{
margin-top:0 !important;
}

.content .mt-10{
margin-top:10px !important;
}

.content .mt-20{
margin-top:20px !important;
}

.content .mt-30{
margin-top:30px !important;
}

.content .mt-40{
margin-top:40px !important;
}

.content .mt-50{
margin-top:50px !important;
}

.content .mb-none{
margin-bottom:0 !important;
}

.content .mb-10{
margin-bottom:10px !important;
}

.content .mb-20{
margin-bottom:20px !important;
}

.content .mb-30{
margin-bottom:30px !important;
}

.content .mb-40{
margin-bottom:40px !important;
}

.content .mb-50{
margin-bottom:50px !important;
}

.rwd .content .mt-40-pc{
margin-top:40px !important;
}

.rwd .content .mb-50-pc{
margin-bottom:50px !important;
}

.-tab{
display: none !important;
}

.break-words{
word-break:break-all;
}

.img-top img{
vertical-align:top;
}

.img-bottom img{
vertical-align:bottom;
}

/* Height Equalizer
----------------------------------*/

.eq2-1,.eq2-2,.eq3-1,.eq3-2,.eq4-1,.eq4-2,.eq5-1,.eq5-2{
overflow:hidden;
}

/* Alert Settings
----------------------------------*/

noscript.noscript-alert > p{
padding:5px 0;
text-align:center;
line-height:1.5
}

@-webkit-keyframes alert{
0%{opacity:1;}
100%{opacity:0;}
}

@keyframes alert{
0%{opacity:1;}
100%{opacity:0;}
}