@charset "UTF-8";
/* SASS Document */
/* ------------------------------------------
 normalize
------------------------------------------ */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block;
}

/* Corrects inline-block display not defined in IE8/9. */
audio, canvas, video {
  display: inline-block;
}

/* Prevents modern browsers from displaying 'audio' without controls */
audio:not([controls]) {
  display: none;
  height: 0;
}

/* Addresses styling for 'hidden' attribute not present in IE8/9. */
[hidden] {
  display: none;
}

/* =============================================================================
   Base
   ========================================================================== */
/* 1. Sets default font family to sans-serif.
 * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom. */
html {
  width: 100%;
  font-size: 75%;
}

/* Removes default margin. */
body, h1, h2, h3, h4, h5, h6, p, ul, ol, dl, table, pre {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: 1em;
  font-family: "Hiragino Kaku Gothic Pro","Yu Gothic","Meiryo",sans-serif;
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

ul {
  list-style: none;
}

/* =============================================================================
   Links
   ========================================================================== */
/* Addresses `outline` inconsistency between Chrome and other browsers. */
a:focus {
  outline: thin dotted;
}

/* Improves readability when focused and also mouse hovered in all browsers. */
a:hover, a:active {
  outline: 0;
}

/* =============================================================================
   Typography
   ========================================================================== */
/* Addresses `h1` font sizes within `section` and `article` in Firefox 4+, Safari 5, and Chrome. */
p, li, dt, dd, th, td, pre {
  -ms-line-break: strict;
  line-break: strict;
  -ms-word-break: break-strict;
  word-break: break-strict;
}

/*Addresses styling not present in IE 8/9, Safari 5, and Chrome.*/
abbr[title] {
  border-bottom: 1px dotted;
}

/* Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.*/
b, strong {
  font-weight: bold;
}

/*Addresses styling not present in Safari 5 and Chrome.*/
dfn {
  font-style: italic;
}

/*Addresses styling not present in IE 8/9.*/
mark {
  background: #ff0;
  color: #000;
}

/* Corrects font family set oddly in Safari 5 and Chrome.*/
code, kbd, pre, samp {
  font-family: monospace, serif;
  font-size: 1rem;
}

/*Improves readability of pre-formatted text in all browsers.*/
pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*Prevents `sub` and `sup` affecting `line-height` in all browsers.*/
sub, sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/*=================================================================
   Embedded content
=================================================================*/
/*Removes border when inside `a` element in IE 8/9.*/
img {
  max-width: 100%;
  vertical-align: middle;
  border: 0;
}

/* .ie8 img{width: auto; height: auto} */
/* Corrects overflow displayed oddly in IE 9.*/
svg:not(:root) {
  overflow: hidden;
}

/* =============================================================================
   Figures
   ========================================================================== */
/*Addresses margin not present in IE6/7/8/9, S5, O11*/
figure {
  margin: 0;
}

/* =============================================================================
   Forms
   ========================================================================== */
/* Define consistent border, margin, and padding*/
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/* 1. Corrects font family not being inherited in all browsers.
 * 2. Corrects font size not being inherited in all browsers.
 * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome */
button, input, select, textarea {
  font-family: inherit;
  /* 1 */
  margin: 0;
  /* 3 */
}

/*Addresses Firefox 4+ setting `line-height` on `input` using `!important` in  the UA stylesheet.*/
button, input {
  line-height: normal;
  /* 1 */
  /*-webkit-appearance: none;*/
}

/* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`  and `video` controls.
 * 2. Corrects inability to style clickable `input` types in iOS.
 * 3. Improves usability and consistency of cursor style between image-type `input` and others. */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  vertical-align: middle;
  margin: 0;
}

/*Re-set default cursor for disabled elements. */
button[disabled],
input[disabled] {
  cursor: default;
}

/* 1. Addresses box sizing set to content-box in IE8/9
 * 2. Removes excess padding in IE8/9*/
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/*
 * 1. Addresses appearance set to searchfield in S5, Chrome
 * 2. Addresses box-sizing set to border-box in S5, Chrome (include -moz to future-proof)
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/*
 * Removes inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/* Removes inner padding and border in Firefox 4+. */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* 1. Removes default vertical scrollbar in IE 8/9.
 * 2. Improves readability and alignment in all browsers. */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/* =============================================================================
   Tables
   ========================================================================== */
/*
 * Remove most spacing between table cells
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

.cf {
  zoom: 1;
}

.cf:before, .cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.cb {
  clear: both;
}

/* ------------------------------------------
 checkbox,radiobutton
------------------------------------------ */
input[type=radio].custom_parts,
input[type=checkbox].custom_parts {
  display: inline-block;
  margin-right: 6px;
}

input[type=radio].custom_parts + label,
input[type=checkbox].custom_parts + label {
  position: relative;
  display: inline-block;
  margin-right: 12px;
  font-size: 14px;
  line-height: 30px;
  cursor: pointer;
}

@media (min-width: 1px) {
  input[type=radio].custom_parts,
  input[type=checkbox].custom_parts {
    display: none;
    margin: 0;
  }

  input[type=radio].custom_parts + label,
  input[type=checkbox].custom_parts + label {
    padding: 0 0 0 24px;
  }

  input[type=radio].custom_parts + label::before,
  input[type=checkbox].custom_parts + label::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 30px;
    height: 30px;
    margin-top: -20px;
    /*width: 18px;*/
    /*height: 18px;*/
    /*margin-top: -9px;*/
    background: #f5f7f9;
  }

  input[type=radio].custom_parts + label::before {
    border: 2px solid #ccc;
    border-radius: 30px;
  }

  input[type=checkbox].custom_parts + label::before {
    border: 1px solid #999999;
    border-radius: 3px;
  }

  input[type=radio].custom_parts:checked + label::after,
  input[type=checkbox].custom_parts:checked + label::after {
    content: "";
    position: absolute;
    top: 50%;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
  }

  input[type=radio].custom_parts:checked + label::after {
    left: 5px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    background: #e60012;
    border-radius: 8px;
  }

  input[type=checkbox].custom_parts:checked + label::after {
    left: 5px;
    width: 20px;
    height: 10px;
    margin-top: -12px;
    border-radius: 4px;
    border-left: 4px solid #e60012;
    border-bottom: 4px solid #e60012;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}
/* ------------------------------------------
 Utility
------------------------------------------ */
.font_mincho {
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.font_bold {
  font-weight: bold;
}

.font_underline {
  text-decoration: underline;
}

.font_large {
  font-size: 110%;
}

.font_small {
  font-size: 80%;
}

a {
  color: #156fbb;
  font-weight: bold;
  text-decoration: underline;
  transition: 1.0s;
}
a:hover {
  opacity: 0.6;
}

a.ow {
  background-color: #ffffff;
  display: block;
}

a.og {
  background-color: #eeeeee;
  display: block;
}

a.ow img,
a.og img {
  opacity: 1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

a.ow:hover img,
a.og:hover img {
  cursor: pointer;
  filter: alpha(opacity=50);
  /* ie lt 8 */
  -ms-filter: "alpha(opacity=50)";
  /* ie 8 */
  -moz-opacity: 0.5;
  /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.5;
  /* Safari 1.x */
  opacity: 0.5;
  zoom: 1;
}

.tal {
  text-align: left !important;
}
.tar {
  text-align: right !important;
}

.tac {
  text-align: center !important;
}


/* ------------------------------------------
 margin,bottom
------------------------------------------ */
.mt0 {
  margin-top: 0px !important;
  overflow: hidden;
}

.mb0 {
  margin-bottom: 0px !important;
  overflow: hidden;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.mt1em {
  margin-top: 1em !important;
}

.mb1em {
  margin-bottom: 1em !important;
  overflow: hidden;
}

.pt1em {
  padding-top: 1em !important;
}

.pb1em {
  padding-bottom: 1em !important;
  overflow: hidden;
}

.mt10 {
  margin-top: 10px !important;
  overflow: hidden;
}

.mb10 {
  margin-bottom: 10px !important;
  overflow: hidden;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.mt2em {
  margin-top: 2em !important;
}

.mb2em {
  margin-bottom: 2em !important;
  overflow: hidden;
}

.pt2em {
  padding-top: 2em !important;
}

.pb2em {
  padding-bottom: 2em !important;
  overflow: hidden;
}

.mt20 {
  margin-top: 20px !important;
  overflow: hidden;
}

.mb20 {
  margin-bottom: 20px !important;
  overflow: hidden;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.mt3em {
  margin-top: 3em !important;
}

.mb3em {
  margin-bottom: 3em !important;
  overflow: hidden;
}

.pt3em {
  padding-top: 3em !important;
}

.pb3em {
  padding-bottom: 3em !important;
  overflow: hidden;
}

.mt30 {
  margin-top: 30px !important;
  overflow: hidden;
}

.mb30 {
  margin-bottom: 30px !important;
  overflow: hidden;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.mt4em {
  margin-top: 4em !important;
}

.mb4em {
  margin-bottom: 4em !important;
  overflow: hidden;
}

.pt4em {
  padding-top: 4em !important;
}

.pb4em {
  padding-bottom: 4em !important;
  overflow: hidden;
}

.mt40 {
  margin-top: 40px !important;
  overflow: hidden;
}

.mb40 {
  margin-bottom: 40px !important;
  overflow: hidden;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.mt5em {
  margin-top: 5em !important;
}

.mb5em {
  margin-bottom: 5em !important;
  overflow: hidden;
}

.pt5em {
  padding-top: 5em !important;
}

.pb5em {
  padding-bottom: 5em !important;
  overflow: hidden;
}

.mt50 {
  margin-top: 50px !important;
  overflow: hidden;
}

.mb50 {
  margin-bottom: 50px !important;
  overflow: hidden;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.mt6em {
  margin-top: 6em !important;
}

.mb6em {
  margin-bottom: 6em !important;
  overflow: hidden;
}

.pt6em {
  padding-top: 6em !important;
}

.pb6em {
  padding-bottom: 6em !important;
  overflow: hidden;
}

.mt60 {
  margin-top: 60px !important;
  overflow: hidden;
}

.mb60 {
  margin-bottom: 60px !important;
  overflow: hidden;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.mt7em {
  margin-top: 7em !important;
}

.mb7em {
  margin-bottom: 7em !important;
  overflow: hidden;
}

.pt7em {
  padding-top: 7em !important;
}

.pb7em {
  padding-bottom: 7em !important;
  overflow: hidden;
}
