@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP&subset=japanese');

@font-face {
  font-family: 'Roboto';
  font-weight: normal;
  src: url('../fonts/Roboto-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Roboto';
  font-weight: bold;
  src: url('../fonts/Roboto-Medium.ttf') format('truetype');
}

@font-face {
  font-family: 'YakuHanJP';
  font-weight: normal;
  src: url('../fonts/YakuHanJP-DemiLight.woff2') format('woff2'),
       url('../fonts/YakuHanJP-DemiLight.woff') format('woff');
}

@font-face {
  font-family: 'YakuHanJP';
  font-weight: bold;
  src: url('../fonts/YakuHanJP-Medium.woff2') format('woff2'),
       url('../fonts/YakuHanJP-Medium.woff') format('woff');
}




/* 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: 62.5%;
}

/* 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: 1.6rem;

 font-family: 'Roboto', 'YakuHanJP', 'Noto Sans JP', Meiryo, sans-serif;


  line-height: 1.8;
  -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 max-widthバグへの対応*/
/* .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;
}

/* 1. Corrects color not being inherited in IE 8/9.
 2. Remove padding so people aren’t caught out if they zero out fieldsets. */
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;
}

/* ------------------------------------------
 Chrome
------------------------------------------ */
/*input[type="text"]:focus {*/
/*outline:none; */
/* Chromeでフォーカスの枠を表示しない */
/*}*/
/* ------------------------------------------
 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);
  }
}
/* ------------------------------------------
 Common
------------------------------------------ */
html, body {
  width: 100%;
  height: 100%;
  background: #fff;
  margin: 0;
  padding: 0;
  color: #333;
}

a {
  color: #333;
  text-decoration: underline;
}
a:hover {
  color: gray;
}

a.ow {
  background-color: #ffffff;
  display: block;
}

a.ow img,
a.oa img {
  opacity: 1;
  -webkit-transition: all .3s;
  transition: all .3s;
}

a.ow:hover img,
a.oa: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;
}

/* ------------------------------------------
 Module
------------------------------------------ */
.m_font_mincho {
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.m_font_bold {
  font-weight: bold;
}

.m_color_red {
  color: #c00;
}

/* ------------------------------------------
 layout
------------------------------------------ */
.l_mt0 {
  margin-top: 0px !important;
  overflow: hidden;
}

.l_mb0 {
  margin-bottom: 0px !important;
  overflow: hidden;
}

.l_pt0 {
  padding-top: 0px !important;
}

.l_pb0 {
  padding-bottom: 0px !important;
}

.l_mt1em {
  margin-top: 1em !important;
}

.l_mb1em {
  margin-bottom: 1em !important;
  overflow: hidden;
}

.l_pt1em {
  padding-top: 1em !important;
}

.l_pb1em {
  padding-bottom: 1em !important;
  overflow: hidden;
}

.l_mt10 {
  margin-top: 10px !important;
  overflow: hidden;
}

.l_mb10 {
  margin-bottom: 10px !important;
  overflow: hidden;
}

.l_pt10 {
  padding-top: 10px !important;
}

.l_pb10 {
  padding-bottom: 10px !important;
}

.l_mt2em {
  margin-top: 2em !important;
}

.l_mb2em {
  margin-bottom: 2em !important;
  overflow: hidden;
}

.l_pt2em {
  padding-top: 2em !important;
}

.l_pb2em {
  padding-bottom: 2em !important;
  overflow: hidden;
}

.l_mt20 {
  margin-top: 20px !important;
  overflow: hidden;
}

.l_mb20 {
  margin-bottom: 20px !important;
  overflow: hidden;
}

.l_pt20 {
  padding-top: 20px !important;
}

.l_pb20 {
  padding-bottom: 20px !important;
}

.l_mt3em {
  margin-top: 3em !important;
}

.l_mb3em {
  margin-bottom: 3em !important;
  overflow: hidden;
}

.l_pt3em {
  padding-top: 3em !important;
}

.l_pb3em {
  padding-bottom: 3em !important;
  overflow: hidden;
}

.l_mt30 {
  margin-top: 30px !important;
  overflow: hidden;
}

.l_mb30 {
  margin-bottom: 30px !important;
  overflow: hidden;
}

.l_pt30 {
  padding-top: 30px !important;
}

.l_pb30 {
  padding-bottom: 30px !important;
}

.l_mt4em {
  margin-top: 4em !important;
}

.l_mb4em {
  margin-bottom: 4em !important;
  overflow: hidden;
}

.l_pt4em {
  padding-top: 4em !important;
}

.l_pb4em {
  padding-bottom: 4em !important;
  overflow: hidden;
}

.l_mt40 {
  margin-top: 40px !important;
  overflow: hidden;
}

.l_mb40 {
  margin-bottom: 40px !important;
  overflow: hidden;
}

.l_pt40 {
  padding-top: 40px !important;
}

.l_pb40 {
  padding-bottom: 40px !important;
}

.l_mt5em {
  margin-top: 5em !important;
}

.l_mb5em {
  margin-bottom: 5em !important;
  overflow: hidden;
}

.l_pt5em {
  padding-top: 5em !important;
}

.l_pb5em {
  padding-bottom: 5em !important;
  overflow: hidden;
}

.l_mt50 {
  margin-top: 50px !important;
  overflow: hidden;
}

.l_mb50 {
  margin-bottom: 50px !important;
  overflow: hidden;
}

.l_pt50 {
  padding-top: 50px !important;
}

.l_pb50 {
  padding-bottom: 50px !important;
}

.l_mt6em {
  margin-top: 6em !important;
}

.l_mb6em {
  margin-bottom: 6em !important;
  overflow: hidden;
}

.l_pt6em {
  padding-top: 6em !important;
}

.l_pb6em {
  padding-bottom: 6em !important;
  overflow: hidden;
}

.l_mt60 {
  margin-top: 60px !important;
  overflow: hidden;
}

.l_mb60 {
  margin-bottom: 60px !important;
  overflow: hidden;
}

.l_pt60 {
  padding-top: 60px !important;
}

.l_pb60 {
  padding-bottom: 60px !important;
}

.l_mt7em {
  margin-top: 7em !important;
}

.l_mb7em {
  margin-bottom: 7em !important;
  overflow: hidden;
}

.l_pt7em {
  padding-top: 7em !important;
}

.l_pb7em {
  padding-bottom: 7em !important;
  overflow: hidden;
}

.l_ta_c {
  text-align: center;
}

.l_ta_r {
  text-align: right;
}

/* ------------------------------------------
 Fonts
------------------------------------------ */
@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?6emgha");
  src: url("../fonts/icomoon.eot?6emgha#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?6emgha") format("truetype"), url("../fonts/icomoon.woff?6emgha") format("woff"), url("../fonts/icomoon.svg?6emgha#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-home:before {
  content: "\e900";
}

.icon-office:before {
  content: "\e901";
}

.icon-newspaper:before {
  content: "\e902";
}

.icon-pencil:before {
  content: "\e903";
}

.icon-image:before {
  content: "\e904";
}

.icon-file-text:before {
  content: "\e905";
}

.icon-profile:before {
  content: "\e906";
}

.icon-folder:before {
  content: "\e907";
}

.icon-phone:before {
  content: "\e908";
}

.icon-envelop:before {
  content: "\e909";
}

.icon-pushpin:before {
  content: "\e90a";
}

.icon-location:before {
  content: "\e90b";
}

.icon-compass2:before {
  content: "\e90c";
}

.icon-clock:before {
  content: "\e90d";
}

.icon-clock2:before {
  content: "\e90e";
}

.icon-calendar:before {
  content: "\e90f";
}

.icon-mobile:before {
  content: "\e910";
}

.icon-download:before {
  content: "\e911";
}

.icon-undo:before {
  content: "\e912";
}

.icon-redo:before {
  content: "\e913";
}

.icon-bubble:before {
  content: "\e914";
}

.icon-user:before {
  content: "\e915";
}

.icon-users:before {
  content: "\e916";
}

.icon-spinner11:before {
  content: "\e917";
}

.icon-aid-kit:before {
  content: "\e918";
}

.icon-briefcase:before {
  content: "\e919";
}

.icon-clipboard:before {
  content: "\e91a";
}

.icon-list-numbered:before {
  content: "\e91b";
}

.icon-menu3:before {
  content: "\e91c";
}

.icon-menu4:before {
  content: "\e91d";
}

.icon-sphere:before {
  content: "\e91e";
}

.icon-link:before {
  content: "\e91f";
}

.icon-attachment:before {
  content: "\e920";
}

.icon-star-empty:before {
  content: "\e921";
}

.icon-heart:before {
  content: "\e922";
}

.icon-notification:before {
  content: "\e923";
}

.icon-question:before {
  content: "\e924";
}

.icon-info:before {
  content: "\e925";
}

.icon-cancel-circle:before {
  content: "\e926";
}

.icon-checkmark:before {
  content: "\e927";
}

.icon-checkmark2:before {
  content: "\e928";
}

.icon-circle-up:before {
  content: "\e929";
}

.icon-circle-right:before {
  content: "\e92a";
}

.icon-circle-down:before {
  content: "\e92b";
}

.icon-circle-left:before {
  content: "\e92c";
}

.icon-facebook2:before {
  content: "\e92d";
}

.icon-twitter:before {
  content: "\e92e";
}

.icon-file-pdf:before {
  content: "\e92f";
}

.font_orange{
	color: #F39800;
}