@charset "utf-8";

/* ========================================================================

  base.css
  last update:2020.01.29

  2020.06.23: ol.decimal / ol.lower-roman / ol.lower-roman
  2020.01.29: smart phone / max-width:640px　>> 750px
  2020.01.29: margin, padding
  2019.11.27: ul.mark li span +(font-family)
  2019.11.25: ul.gallery +(display:flex;) / ul.gallery li -(display:inline-block;)
  2019.11.20: img(max-width:100%;)
  2019.09.12: .parentheses
  2019.08.21: .over-fade .over-line
======================================================================== */

/************************************************************************
  reset
************************************************************************/
* { margin:0; padding:0; }
html, body, div, span, object, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, sub, sup, var, b, i, dl, dt, dd, ul, fieldset, form, label, legend, caption, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video,th, iframe { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }

html { box-sizing:border-box; } *, *:before, *:after { box-sizing:inherit; }
body { margin:0; padding:0; background:#ffffff; -webkit-text-size-adjust:100%; }
img { max-width:100%; border:0; }

/************************************************************************
  margin
************************************************************************/

.m0 { margin:0 !important; }
.m5 { margin:5px !important; }
.m10 { margin:10px !important; }
.m15 { margin:15px !important; }
.m20 { margin:20px !important; }
.m25 { margin:25px !important; }
.m30 { margin:30px !important; }
.m35 { margin:35px !important; }
.m40 { margin:40px !important; }
.m45 { margin:45px !important; }
.m50 { margin:50px !important; }
.m60 { margin:60px !important; }
.m70 { margin:70px !important; }
.m80 { margin:80px !important; }
.m90 { margin:90px !important; }
.m100 { margin:100px !important; }


/* ============ smart phone ============ */
@media (max-width:750px){

.m0-sp { margin:0 !important; }
.m5-sp { margin:5px !important; }
.m10-sp { margin:10px !important; }
.m15-sp { margin:15px !important; }
.m20-sp { margin:20px !important; }
.m25-sp { margin:25px !important; }
.m30-sp { margin:30px !important; }
.m35-sp { margin:35px !important; }
.m40-sp { margin:40px !important; }
.m45-sp { margin:45px !important; }
.m50-sp { margin:50px !important; }
.m60-sp { margin:60px !important; }
.m70-sp { margin:70px !important; }
.m80-sp { margin:80px !important; }
.m90-sp { margin:90px !important; }
.m100-sp { margin:100px !important; }

}
/************************************************************************
  margin-top
************************************************************************/

.mt0 { margin-top:0 !important; }
.mt5 { margin-top:5px !important; }
.mt10 { margin-top:10px !important; }
.mt15 { margin-top:15px !important; }
.mt20 { margin-top:20px !important; }
.mt25 { margin-top:25px !important; }
.mt30 { margin-top:30px !important; }
.mt35 { margin-top:35px !important; }
.mt40 { margin-top:40px !important; }
.mt45 { margin-top:45px !important; }
.mt50 { margin-top:50px !important; }
.mt60 { margin-top:60px !important; }
.mt70 { margin-top:70px !important; }
.mt80 { margin-top:80px !important; }
.mt90 { margin-top:90px !important; }
.mt100 { margin-top:100px !important; }


/* ============ smart phone ============ */
@media (max-width:750px){

.mt0-sp { margin-top:0 !important; }
.mt5-sp { margin-top:5px !important; }
.mt10-sp { margin-top:10px !important; }
.mt15-sp { margin-top:15px !important; }
.mt20-sp { margin-top:20px !important; }
.mt25-sp { margin-top:25px !important; }
.mt30-sp { margin-top:30px !important; }
.mt35-sp { margin-top:35px !important; }
.mt40-sp { margin-top:40px !important; }
.mt45-sp { margin-top:45px !important; }
.mt50-sp { margin-top:50px !important; }
.mt60-sp { margin-top:60px !important; }
.mt70-sp { margin-top:70px !important; }
.mt80-sp { margin-top:80px !important; }
.mt90-sp { margin-top:90px !important; }
.mt100-sp { margin-top:100px !important; }

}
/************************************************************************
  margin-bottom
************************************************************************/

.mb0 { margin-bottom:0 !important; }
.mb5 { margin-bottom:5px !important; }
.mb10 { margin-bottom:10px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb35 { margin-bottom:35px !important; }
.mb40 { margin-bottom:40px !important; }
.mb45 { margin-bottom:45px !important; }
.mb50 { margin-bottom:50px !important; }
.mb60 { margin-bottom:60px !important; }
.mb70 { margin-bottom:70px !important; }
.mb80 { margin-bottom:80px !important; }
.mb90 { margin-bottom:90px !important; }
.mb100 { margin-bottom:100px !important; }


/* ============ smart phone ============ */
@media (max-width:750px){

.mb0-sp { margin-bottom:0 !important; }
.mb5-sp { margin-bottom:5px !important; }
.mb10-sp { margin-bottom:10px !important; }
.mb15-sp { margin-bottom:15px !important; }
.mb20-sp { margin-bottom:20px !important; }
.mb25-sp { margin-bottom:25px !important; }
.mb30-sp { margin-bottom:30px !important; }
.mb35-sp { margin-bottom:35px !important; }
.mb40-sp { margin-bottom:40px !important; }
.mb45-sp { margin-bottom:45px !important; }
.mb50-sp { margin-bottom:50px !important; }
.mb60-sp { margin-bottom:60px !important; }
.mb70-sp { margin-bottom:70px !important; }
.mb80-sp { margin-bottom:80px !important; }
.mb90-sp { margin-bottom:90px !important; }
.mb100-sp { margin-bottom:100px !important; }

}
/************************************************************************
  margin-right
************************************************************************/

.mr0 { margin-right:0 !important; }
.mr5 { margin-right:5px !important; }
.mr10 { margin-right:10px !important; }
.mr15 { margin-right:15px !important; }
.mr20 { margin-right:20px !important; }
.mr25 { margin-right:25px !important; }
.mr30 { margin-right:30px !important; }
.mr35 { margin-right:35px !important; }
.mr40 { margin-right:40px !important; }
.mr45 { margin-right:45px !important; }
.mr50 { margin-right:50px !important; }
.mr60 { margin-right:60px !important; }
.mr70 { margin-right:70px !important; }
.mr80 { margin-right:80px !important; }
.mr90 { margin-right:90px !important; }
.mr100 { margin-right:100px !important; }

/* ============ smart phone ============ */
@media (max-width:750px){

.mr0-sp { margin-right:0 !important; }
.mr5-sp { margin-right:5px !important; }
.mr10-sp { margin-right:10px !important; }
.mr15-sp { margin-right:15px !important; }
.mr20-sp { margin-right:20px !important; }
.mr25-sp { margin-right:25px !important; }
.mr30-sp { margin-right:30px !important; }
.mr35-sp { margin-right:35px !important; }
.mr40-sp { margin-right:40px !important; }
.mr45-sp { margin-right:45px !important; }
.mr50-sp { margin-right:50px !important; }
.mr60-sp { margin-right:60px !important; }
.mr70-sp { margin-right:70px !important; }
.mr80-sp { margin-right:80px !important; }
.mr90-sp { margin-right:90px !important; }
.mr100-sp { margin-right:100px !important; }

}
/************************************************************************
  margin-left
************************************************************************/

.ml0 { margin-left:0 !important; }
.ml5 { margin-left:5px !important; }
.ml10 { margin-left:10px !important; }
.ml15 { margin-left:15px !important; }
.ml20 { margin-left:20px !important; }
.ml25 { margin-left:25px !important; }
.ml30 { margin-left:30px !important; }
.ml35 { margin-left:35px !important; }
.ml40 { margin-left:40px !important; }
.ml45 { margin-left:45px !important; }
.ml50 { margin-left:50px !important; }
.ml60 { margin-left:60px !important; }
.ml70 { margin-left:70px !important; }
.ml80 { margin-left:80px !important; }
.ml90 { margin-left:90px !important; }
.ml100 { margin-left:100px !important; }

/* ============ smart phone ============ */
@media (max-width:750px){

.ml0-sp { margin-left:0 !important; }
.ml5-sp { margin-left:5px !important; }
.ml10-sp { margin-left:10px !important; }
.ml15-sp { margin-left:15px !important; }
.ml20-sp { margin-left:20px !important; }
.ml25-sp { margin-left:25px !important; }
.ml30-sp { margin-left:30px !important; }
.ml35-sp { margin-left:35px !important; }
.ml40-sp { margin-left:40px !important; }
.ml45-sp { margin-left:45px !important; }
.ml50-sp { margin-left:50px !important; }
.ml60-sp { margin-left:60px !important; }
.ml70-sp { margin-left:70px !important; }
.ml80-sp { margin-left:80px !important; }
.ml90-sp { margin-left:90px !important; }
.ml100-sp { margin-left:100px !important; }

}
/************************************************************************
  padding
************************************************************************/

.p0 { padding:0 !important; }
.p5 { padding:5px !important; }
.p10 { padding:10px !important; }
.p15 { padding:15px !important; }
.p20 { padding:20px !important; }
.p25 { padding:25px !important; }
.p30 { padding:30px !important; }
.p35 { padding:35px !important; }
.p40 { padding:40px !important; }
.p45 { padding:45px !important; }
.p50 { padding:50px !important; }
.p60 { padding:60px !important; }
.p70 { padding:70px !important; }
.p80 { padding:80px !important; }
.p90 { padding:90px !important; }
.p100 { padding:100px !important; }

/* ============ smart phone ============ */
@media (max-width:750px){

.p0-sp { padding:0 !important; }
.p5-sp { padding:5px !important; }
.p10-sp { padding:10px !important; }
.p15-sp { padding:15px !important; }
.p20-sp { padding:20px !important; }
.p25-sp { padding:25px !important; }
.p30-sp { padding:30px !important; }
.p35-sp { padding:35px !important; }
.p40-sp { padding:40px !important; }
.p45-sp { padding:45px !important; }
.p50-sp { padding:50px !important; }
.p60-sp { padding:60px !important; }
.p70-sp { padding:70px !important; }
.p80-sp { padding:80px !important; }
.p90-sp { padding:90px !important; }
.p100-sp { padding:100px !important; }

}
/************************************************************************
  padding-top
************************************************************************/

.pt0 { padding-top:0 !important; }
.pt5 { padding-top:5px !important; }
.pt10 { padding-top:10px !important; }
.pt15 { padding-top:15px !important; }
.pt20 { padding-top:20px !important; }
.pt25 { padding-top:25px !important; }
.pt30 { padding-top:30px !important; }
.pt35 { padding-top:35px !important; }
.pt40 { padding-top:40px !important; }
.pt45 { padding-top:45px !important; }
.pt50 { padding-top:50px !important; }
.pt60 { padding-top:60px !important; }
.pt70 { padding-top:70px !important; }
.pt80 { padding-top:80px !important; }
.pt90 { padding-top:90px !important; }
.pt100 { padding-top:100px !important; }


/* ============ smart phone ============ */
@media (max-width:750px){

.pt0-sp { padding-top:0 !important; }
.pt5-sp { padding-top:5px !important; }
.pt10-sp { padding-top:10px !important; }
.pt15-sp { padding-top:15px !important; }
.pt20-sp { padding-top:20px !important; }
.pt25-sp { padding-top:25px !important; }
.pt30-sp { padding-top:30px !important; }
.pt35-sp { padding-top:35px !important; }
.pt40-sp { padding-top:40px !important; }
.pt45-sp { padding-top:45px !important; }
.pt50-sp { padding-top:50px !important; }
.pt60-sp { padding-top:60px !important; }
.pt70-sp { padding-top:70px !important; }
.pt80-sp { padding-top:80px !important; }
.pt90-sp { padding-top:90px !important; }
.pt100-sp { padding-top:100px !important; }

}
/************************************************************************
  padding-bottom
************************************************************************/

.pb0 { padding-bottom:0 !important; }
.pb5 { padding-bottom:5px !important; }
.pb10 { padding-bottom:10px !important; }
.pb15 { padding-bottom:15px !important; }
.pb20 { padding-bottom:20px !important; }
.pb25 { padding-bottom:25px !important; }
.pb30 { padding-bottom:30px !important; }
.pb35 { padding-bottom:35px !important; }
.pb40 { padding-bottom:40px !important; }
.pb45 { padding-bottom:45px !important; }
.pb50 { padding-bottom:50px !important; }
.pb60 { padding-bottom:60px !important; }
.pb70 { padding-bottom:70px !important; }
.pb80 { padding-bottom:80px !important; }
.pb90 { padding-bottom:90px !important; }
.pb100 { padding-bottom:100px !important; }

/* ============ smart phone ============ */
@media (max-width:750px){

.pb0-sp { padding-bottom:0 !important; }
.pb5-sp { padding-bottom:5px !important; }
.pb10-sp { padding-bottom:10px !important; }
.pb15-sp { padding-bottom:15px !important; }
.pb20-sp { padding-bottom:20px !important; }
.pb25-sp { padding-bottom:25px !important; }
.pb30-sp { padding-bottom:30px !important; }
.pb35-sp { padding-bottom:35px !important; }
.pb40-sp { padding-bottom:40px !important; }
.pb45-sp { padding-bottom:45px !important; }
.pb50-sp { padding-bottom:50px !important; }
.pb60-sp { padding-bottom:60px !important; }
.pb70-sp { padding-bottom:70px !important; }
.pb80-sp { padding-bottom:80px !important; }
.pb90-sp { padding-bottom:90px !important; }
.pb100-sp { padding-bottom:100px !important; }

}
/************************************************************************
  padding-right
************************************************************************/

.pr0 { padding-right:0 !important; }
.pr5 { padding-right:5px !important; }
.pr10 { padding-right:10px !important; }
.pr15 { padding-right:15px !important; }
.pr20 { padding-right:20px !important; }
.pr25 { padding-right:25px !important; }
.pr30 { padding-right:30px !important; }
.pr35 { padding-right:35px !important; }
.pr40 { padding-right:40px !important; }
.pr45 { padding-right:45px !important; }
.pr50 { padding-right:50px !important; }
.pr60 { padding-right:60px !important; }
.pr70 { padding-right:70px !important; }
.pr80 { padding-right:80px !important; }
.pr90 { padding-right:90px !important; }
.pr100 { padding-right:100px !important; }

/* ============ smart phone ============ */
@media (max-width:750px){

.pr0-sp { padding-right:0 !important; }
.pr5-sp { padding-right:5px !important; }
.pr10-sp { padding-right:10px !important; }
.pr15-sp { padding-right:15px !important; }
.pr20-sp { padding-right:20px !important; }
.pr25-sp { padding-right:25px !important; }
.pr30-sp { padding-right:30px !important; }
.pr35-sp { padding-right:35px !important; }
.pr40-sp { padding-right:40px !important; }
.pr45-sp { padding-right:45px !important; }
.pr50-sp { padding-right:50px !important; }
.pr60-sp { padding-right:60px !important; }
.pr70-sp { padding-right:70px !important; }
.pr80-sp { padding-right:80px !important; }
.pr90-sp { padding-right:90px !important; }
.pr100-sp { padding-right:100px !important; }

}
/************************************************************************
  padding-left
************************************************************************/

.pl0 { padding-left:0 !important; }
.pl5 { padding-left:5px !important; }
.pl10 { padding-left:10px !important; }
.pl15 { padding-left:15px !important; }
.pl20 { padding-left:20px !important; }
.pl25 { padding-left:25px !important; }
.pl30 { padding-left:30px !important; }
.pl35 { padding-left:35px !important; }
.pl40 { padding-left:40px !important; }
.pl45 { padding-left:45px !important; }
.pl50 { padding-left:50px !important; }
.pl60 { padding-left:60px !important; }
.pl70 { padding-left:70px !important; }
.pl80 { padding-left:80px !important; }
.pl90 { padding-left:90px !important; }
.pl100 { padding-left:100px !important; }

/* ============ smart phone ============ */
@media (max-width:750px){

.pl0-sp { padding-left:0 !important; }
.pl5-sp { padding-left:5px !important; }
.pl10-sp { padding-left:10px !important; }
.pl15-sp { padding-left:15px !important; }
.pl20-sp { padding-left:20px !important; }
.pl25-sp { padding-left:25px !important; }
.pl30-sp { padding-left:30px !important; }
.pl35-sp { padding-left:35px !important; }
.pl40-sp { padding-left:40px !important; }
.pl45-sp { padding-left:45px !important; }
.pl50-sp { padding-left:50px !important; }
.pl60-sp { padding-left:60px !important; }
.pl70-sp { padding-left:70px !important; }
.pl80-sp { padding-left:80px !important; }
.pl90-sp { padding-left:90px !important; }
.pl100-sp { padding-left:100px !important; }

}
/************************************************************************
  text-align
************************************************************************/

.alignL { text-align:left !important; }
.alignR { text-align:right !important; }
.alignC { text-align:center !important; }

/* ============ smart phone ============ */
@media (max-width:750px){

.alignL-sp { text-align:left !important; }
.alignR-sp { text-align:right !important; }
.alignC-sp { text-align:center !important; }

}
/************************************************************************
  text
************************************************************************/

p { line-height:1.5; }

.underline { text-decoration:underline; }
.bold { font-weight:bold; }
.nowrap { white-space:nowrap; }
.pre { white-space:pre; }

.caution { color:red; }

p.mark { margin-left:1.5em; text-indent:-1.5em; font-family: MeiryoKe_Gothic, "Ricty Diminished", "Osaka－等幅", "Osaka-等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", SFMono-Regular, "Courier New", Courier, Monaco, Menlo, Consolas, "Lucida Console", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }
p.mark span { color:#61c0bf; }

.ttl { margin-bottom:0.5em; color:#666666; font-weight:bold; font-size:large; }
.ttl-B { margin-bottom:0.5em; padding:5px 10px; background:#f0f8ff; color:#666666; font-weight:bold; font-size:large; }

/************************************************************************
  font
************************************************************************/
.font-s { font-size:small; }
.font-l { font-size:large; }

/************************************************************************
  link
************************************************************************/

a[target^='_blank']:after {  }

a[href^='tel:'] { pointer-events:none; }


/* ============ smart phone ============ */
@media (max-width:750px){

a[href^='tel:'] { pointer-events:auto; }

}
/************************************************************************
  float
************************************************************************/

.floatL { float:left; }
.floatR { float:right; }

/* SP Only */
.floatL.sp-only { float:none; }
.floatR.sp-only { float:none; }

.clear { clear:both; }


/* ============ smart phone ============ */
@media (max-width:750px){
/* PC Only */
.floatL.pc-only { float:none; }
.floatR.pc-only { float:none; }

/* SP Only */
.floatL.sp-only { float:left; }
.floatR.sp-only { float:right; }
}

/************************************************************************
  font-size
************************************************************************/

html { font-size:62.5%; }
body { font-size:16px; font-size:1.6em; } /* =16px */

.f10 { font-size:10px; font-size:1rem; } /* 10px (eq.x-small) */
.f12 { font-size:12px; font-size:1.2rem; } /* 12px  */
.f13 { font-size:13px; font-size:1.3rem; } /* 13px (eq.small) */
.f16 { font-size:16px; font-size:1.6rem; } /* 16px (eq.medium) */
.f18 { font-size:18px; font-size:1.8rem; } /* 18px (eq.large) */
.f20 { font-size:20px; font-size:2.0rem; } /* 20px */
.f24 { font-size:24px; font-size:2.4rem; } /* 24px */
.f28 { font-size:28px; font-size:2.8rem; } /* 28px */
.f32 { font-size:32px; font-size:3.2rem; } /* 32px */
.f36 { font-size:36px; font-size:3.6rem; } /* 36px */

html { line-height:1.5; }
body { line-height:1.5; }

/************************************************************************
  border-radius
************************************************************************/

.radius2 { border:1px solid; -moz-border-radius:2px; -khtml-border-radius:2px; -webkit-border-radius:2px; border-radius:3px; }

.radius3 { border:1px solid; -moz-border-radius:3px; -khtml-border-radius:3px; -webkit-border-radius:3px; border-radius:3px; }

.radius5 { border:1px solid; -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; }

.radius10 { border:1px solid; -moz-border-radius:10px; -khtml-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }

/************************************************************************
  list
************************************************************************/
.list-none { list-style:none !important; }

ul { list-style:none; }

/* icon */
ul.icon { list-style:none; line-height:1.5; }
ul.icon li { padding-left:1.2em; position:relative; }
ul.icon li span { margin:0; padding:0; width:1em; color:#ffcc66; display:inline-block; font-family:sans-serif; position:absolute; left:0; }

ul.icon-half { list-style:none; line-height:1.5; }
ul.icon-half li { padding-left:1.2em; position:relative; }
ul.icon-half li span { margin:0; padding:0; width:0.5em; color:#ffcc66; display:inline-block; font-family:sans-serif; position:absolute; left:0.4em; }


ul.disc { list-style-type:disc !important; }
ul.disc li { margin-left:1.5em; }

ul.circle { list-style-type:circle !important; }
ul.circle li { margin-left:1.5em; }

ul.square { list-style-type:square !important; }
ul.square li { margin-left:1.5em; }

ul.mark { list-style:none; }
ul.mark li { margin-left:1.5em; text-indent:-1.5em;  }
ul.mark li span { font-family: MeiryoKe_Gothic, "Ricty Diminished", "Osaka－等幅", "Osaka-等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", SFMono-Regular, "Courier New", Courier, Monaco, Menlo, Consolas, "Lucida Console", monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }

ol { margin-left:1.5em; }
ol.strong { font-weight:bold; font-size:larger; }

ul.gallery { list-style:none; font-size:0; display:flex; }
ul.gallery li { box-sizing:border-box; }
ul.gallery li img { max-width:100%; }

/* .parentheses () */
ol.parentheses { margin:0; padding:0; }
ol.parentheses li { list-style-type:none; list-style-position:inside; counter-increment:cnt; }
ol.parentheses li::before { content:"(" counter(cnt) ")"; margin-right:0.5em; display:marker;  }

ol.decimal { list-style-type:decimal !important; }/* 算用数字 */
ol.lower-roman { list-style-type:lower-roman !important; }/* 小文字のローマ数字 */
ol.upper-roman { list-style-type:upper-roman !important; }/* 大文字のローマ数字 */

/* 括弧付き数字 */
ol.bracket li { list-style-type:none; counter-increment:cnt; }
ol.bracket li::before {　content: "(" counter(cnt) ") ";　}

/* list margin */
ul.limb5 li { margin-bottom:5px !important; }
ul.limb10 li { margin-bottom:10px !important; }
ul.limb15 li { margin-bottom:15px !important; }
ul.limb20 li { margin-bottom:20px !important; }

ol.limb5 li { margin-bottom:5px !important; }
ol.limb10 li { margin-bottom:10px !important; }
ol.limb15 li { margin-bottom:15px !important; }
ol.limb20 li { margin-bottom:20px !important; }


/************************************************************************
  table
************************************************************************/

table { border-collapse:collapse; vertical-align:top; }
table th { vertical-align:top; }
table td { vertical-align:top; }

caption { padding:5px; font-weight:bold; }

table.border { border-top:1px solid; border-left:1px solid; }
table.border th { padding:5px; border-bottom:1px solid; border-right:1px solid; }
table.border td { padding:5px; border-bottom:1px solid; border-right:1px solid; }

table.border-gray { border-top:1px solid gray; border-left:1px solid gray; }
table.border-gray th { padding:5px; border-bottom:1px solid gray; border-right:1px solid gray; }
table.border-gray td { padding:5px; border-bottom:1px solid gray; border-right:1px solid gray; }

table.border-lg { border-top:1px solid lightgray; border-left:1px solid lightgray; }
table.border-lg th { padding:5px; border-bottom:1px solid lightgray; border-right:1px solid lightgray; }
table.border-lg td { padding:5px; border-bottom:1px solid lightgray; border-right:1px solid lightgray; }


/************************************************************************
  width
************************************************************************/

.w100 { width:100% !important; box-sizing:border-box; }
.w90 { width:90% !important; box-sizing:border-box; }
.w80 { width:80% !important; box-sizing:border-box; }
.w70 { width:70% !important; box-sizing:border-box; }
.w60 { width:60% !important; box-sizing:border-box; }
.w50 { width:50% !important; box-sizing:border-box; }
.w45 { width:45% !important; box-sizing:border-box; }
.w40 { width:40% !important; box-sizing:border-box; }
.w30 { width:30% !important; box-sizing:border-box; }
.w25 { width:25% !important; box-sizing:border-box; }
.w20 { width:20% !important; box-sizing:border-box; }
.w10 { width:10% !important; box-sizing:border-box; }

/* SP Only */
.w100-sp { width:auto !important; box-sizing:border-box; }
.w90-sp { width:auto !important; box-sizing:border-box; }
.w80-sp { width:auto !important; box-sizing:border-box; }
.w70-sp { width:auto !important; box-sizing:border-box; }
.w60-sp { width:auto !important; box-sizing:border-box; }
.w50-sp { width:auto !important; box-sizing:border-box; }
.w45-sp { width:auto !important; box-sizing:border-box; }
.w40-sp { width:auto !important; box-sizing:border-box; }
.w30-sp { width:auto !important; box-sizing:border-box; }
.w25-sp { width:auto !important; box-sizing:border-box; }
.w20-sp { width:auto !important; box-sizing:border-box; }
.w10-sp { width:auto !important; box-sizing:border-box; }

/* ============ smart phone ============ */
@media (max-width:750px){
/* PC Only */
.w100.pc-only { width:auto !important; box-sizing:border-box; }
.w90.pc-only { width:auto !important; box-sizing:border-box; }
.w80.pc-only { width:auto !important; box-sizing:border-box; }
.w70.pc-only { width:auto !important; box-sizing:border-box; }
.w60.pc-only { width:auto !important; box-sizing:border-box; }
.w50.pc-only { width:auto !important; box-sizing:border-box; }
.w45.pc-only { width:auto !important; box-sizing:border-box; }
.w40.pc-only { width:auto !important; box-sizing:border-box; }
.w30.pc-only { width:auto !important; box-sizing:border-box; }
.w25.pc-only { width:auto !important; box-sizing:border-box; }
.w20.pc-only { width:auto !important; box-sizing:border-box; }
.w10.pc-only { width:auto !important; box-sizing:border-box; }

/* SP Only */
.w100-sp { width:100% !important; box-sizing:border-box; }
.w90-sp { width:90% !important; box-sizing:border-box; }
.w80-sp { width:80% !important; box-sizing:border-box; }
.w70-sp { width:70% !important; box-sizing:border-box; }
.w60-sp { width:60% !important; box-sizing:border-box; }
.w50-sp { width:50% !important; box-sizing:border-box; }
.w45-sp { width:45% !important; box-sizing:border-box; }
.w40-sp { width:40% !important; box-sizing:border-box; }
.w30-sp { width:30% !important; box-sizing:border-box; }
.w25-sp { width:25% !important; box-sizing:border-box; }
.w20-sp { width:20% !important; box-sizing:border-box; }
.w10-sp { width:10% !important; box-sizing:border-box; }
}

/************************************************************************
  column
************************************************************************/

/* 2 column */
.col2 {  }
.col2:after { content:""; display:block; clear:both; }
.col2 .item { padding:10px; width:50%; float:left; box-sizing:border-box; }

/* PC Only */
.col2.pc-only {  }
.col2.pc-only:after { content:""; display:block; clear:both; }
.col2.pc-only .item { padding:10px; width:50%; float:left; box-sizing:border-box; }

/* 3 column */
.col3 {  }
.col3:after { content:""; display:block; clear:both; }
.col3 .item { width:33%; float:left; box-sizing:border-box; }

/* ============ smart phone ============ */
@media (max-width:750px){
/* PC Only */
.col2.pc-only .item { width:100%; float:none; }
.col3.pc-only .item { width:100%; float:none; }
}

/************************************************************************
  background color
************************************************************************/

.bg-white { background-color:white; }
.bg-gray { background-color:gray; }
.bg-black { background-color:black; }

/************************************************************************
  color
************************************************************************/

.tc-white { color:white !important; }
.tc-red { color:red !important; }
.tc-blue { color:blue !important; }
.tc-gray { color:gray !important; }
.tc-black { color:black !important; }

/************************************************************************
  form
************************************************************************/
/* placeholder */
::-webkit-input-placeholder {  }
:-ms-input-placeholder {  }
::-moz-placeholder {  }

:focus::-webkit-input-placeholder { color:transparent; }
:focus:-moz-placeholder { color:transparent; }
:focus::-moz-placeholder { color:transparent; }

/************************************************************************
  effect
************************************************************************/

.over-fade { opacity:1; transition-duration:0.3s; transition-property:opacity; }
.over-fade:hover { opacity:0.5; transition-duration:0.3s; transition-property:opacity; cursor:pointer; }

.over-line{ text-decoration:none !important; position:relative; display:inline-block; }
.over-line:after { content:''; width:70%; height:2px; border-bottom:2px solid; position:absolute; bottom:-4px; left:15%; transform:scale(0, 1); transform-origin:center top; transition:transform .3s; }
.over-line:hover:after { transform:scale(1, 1); }

/************************************************************************
  clearfix
************************************************************************/

.clearfix:after { content:url(../img/dummy.gif); display:block; clear:both; height:0; }
.clearfix { display:inline-block; }
/* Mac IE Exclusion \*/
.clearfix { display:block; }
/* */

/************************************************************************
  other
************************************************************************/

.inline-block { display:inline-block !important; }

/* PC Only */
.inline-block-pc { display:inline-block !important; }

.pc { display:inherit; }
.sp { display:none; }
.flex { display:flex; }

/* ============ smart phone ============ */
@media (max-width:750px){
.pc { display:none !important; }
.sp { display:inherit !important; }
}








