/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family : sans-serif;
  /* 1 */
  -ms-text-size-adjust : 100%;
  /* 2 */
  -webkit-text-size-adjust : 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin : 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display : block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio, canvas, progress, video {
  display : inline-block;
  /* 1 */
  vertical-align : baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display : none;
  height : 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden], template {
  display : none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color : transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active, a:hover {
  outline : 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom : 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b, strong {
  font-weight : bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style : italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size : 2em;
  margin : 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background : #ffff00;
  color : #000000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size : 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub, sup {
  font-size : 75%;
  line-height : 0;
  position : relative;
  vertical-align : baseline;
}

sup {
  top : -0.5em;
}

sub {
  bottom : -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border : 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow : hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin : 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -webkit-box-sizing : content-box;
          box-sizing : content-box;
  height : 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow : auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code, kbd, pre, samp {
  font-family : monospace, monospace;
  font-size : 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button, input, optgroup, select, textarea {
  color : inherit;
  /* 1 */
  font : inherit;
  /* 2 */
  margin : 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow : visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button, select {
  text-transform : none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  -webkit-appearance : button;
  /* 2 */
  cursor : pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled], html input[disabled] {
  cursor : default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner, input::-moz-focus-inner {
  border : 0;
  padding : 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height : normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"], input[type="radio"] {
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
  /* 1 */
  padding : 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height : auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance : textfield;
  /* 1 */
  -webkit-box-sizing : content-box;
  /* 2 */
  box-sizing : content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
  -webkit-appearance : none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border : 1px solid #c0c0c0;
  margin : 0 2px;
  padding : 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border : 0;
  /* 1 */
  padding : 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow : auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight : bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse : collapse;
  border-spacing : 0;
}

td, th {
  padding : 0;
}

body {
  word-break : break-all;
  word-wrap : break-word;
  background-color : #000000;
  -webkit-text-size-adjust : none;
  text-size-adjust : none;
}

ul {
  padding : 0;
  list-style-type : none;
}

img {
  max-width : 100%;
  height : auto;
  vertical-align : bottom;
}

a:visited, a:hover, a:active {
  text-decoration : none;
}

h1, h2, h3, h4, h5, h6, strong {
  font-weight : normal;
}

table {
  width : 100%;
}
table th, table td {
  font-size : 14px;
  line-height : 1.57143;
  text-align : left;
  vertical-align : top;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
}

.base-page {
  position : relative;
  min-width : 320px;
  padding : 0;
  background : #ffffff;
  overflow : hidden;
}

.base-contents {
  position : relative;
  padding : 1px 0;
  background : #ffffff;
}
.base-contents.typeA {
  background : #000b0a url("../img/base-contents/bg-top-contents-01.jpg") no-repeat 50% 50%;
  color : #ffffff;
  -webkit-background-size : auto 100%;
          background-size : auto 100%;
}
.base-contents.typeB {
  background : #104b82 url("../img/base-contents/bg-top-contents-02.png") no-repeat 50% 50%;
  color : #ffffff;
  -webkit-background-size : auto 100%;
          background-size : auto 100%;
}
.base-contents.typeC {
  background : #000000 url("../img/base-contents/bg-top-contents-03.png") no-repeat 50% 50%;
  color : #ffffff;
  -webkit-background-size : auto 100%;
          background-size : auto 100%;
}
.base-contents.typeD {
  background : url("../img/base-contents/bg-top-contents-04.png") repeat;
}
.base-contents.typeE {
  background : #000000 url("../img/base-contents/bg-top-contents-05.png") no-repeat 50% 50%;
  -webkit-background-size : auto 100%;
          background-size : auto 100%;
}
.base-contents.typeF {
  background : #8b8889 url("../img/base-contents/bg-typef.png") no-repeat 50% 50%;
}
.base-contents.typeG {
  background : #000000 url("../img/base-contents/bg-typeg.png") repeat-x 0 0;
}
.base-contents.typeH {
  background : #000000 url("../img/base-contents/bg-typeh.png") repeat-x 0 0;
}
.base-contents.typeI {
  background : #000000 url("../img/base-contents/bg-typei.png") repeat-x 0 0;
}
.base-contents.typeJ {
  background : #2ba90d;
}
.base-contents.originality-top {
  background : #000000 url("../img/base-contents/bg-originality-top.jpg") repeat-x 50% 50%;
  color : #ffffff;
}
.base-contents.merit-top {
  background : #000000 url("../img/base-contents/bg-merit-top.jpg") no-repeat 50% 50%;
  color : #ffffff;
}
.base-contents.end-contents {
  padding-bottom : 40px;
}

.base-contents-inner {
  position : relative;
  max-width : 1400px;
  margin : 0 auto;
  padding : 0 10px;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
  font-size : 16px;
}
.base-contents-inner .base-contents-next {
  position : absolute;
  top : auto;
  left : 0;
  width : 100%;
  z-index : 30;
  text-align : center;
}
.base-contents-inner .base-contents-next a {
  display : block;
  width : 17.143%;
  min-width : 116px;
  margin : -1.214% auto 0;
}
.base-contents-inner .base-contents-next img {
  min-width : 116px;
}

.base-contents-inner:after {
  content : ".";
  display : block;
  clear : both;
  height : 0;
  visibility : hidden;
}

@media only screen and (max-width: 640px) {
  .base-contents.originality-top {
    -webkit-background-size : auto 100%;
            background-size : auto 100%;
  }
  .base-contents.typeD {
    -webkit-background-size : 45px 45px;
            background-size : 45px 45px;
  }

  .base-contents-inner {
    -webkit-background-size : cover;
            background-size : cover;
  }
  .base-contents-inner .base-contents-next a {
    display : block;
    width : 116px;
    margin-top : -7px;
  }
}

/*doc
*/
.wgt-section-inner {
  max-width : 1000px;
  margin : 0 auto;
  padding : 20px 0 0;
  overflow : hidden;
}

/* Module
----------------------------------------*/
/* mod-header */
.mod-header {
  position : fixed;
  top : 0;
  left : 0;
  width : 100%;
  z-index : 50;
}

.mod-header-inner {
  position : relative;
  max-width : 960px;
  margin : 0 auto;
  padding : 0 10px 7px;
}

.mod-header-inner:after {
  content : ".";
  display : block;
  clear : both;
  height : 0;
  visibility : hidden;
}

.mod-header-logo {
  float : left;
  width : 18.75%;
  margin : 0;
  font-size : 10px;
  line-height : 1;
}

.mod-header-globalnav {
  float : right;
  width : 56.25%;
  margin : 0;
  padding : 0;
}
.mod-header-globalnav:after {
  content : "";
  display : block;
  clear : both;
}

.mod-header-globalnav-nav {
  position : relative;
  z-index : 100;
  float : right;
  margin : 0;
  padding : 0;
  list-style : none;
}
.mod-header-globalnav.opened .mod-header-globalnav-nav, .mod-header-globalnav.closed .mod-header-globalnav-nav {
  display : block;
}

.mod-header-globalnav-navitem {
  float : left;
  width : 25%;
  padding : 0 0 0 1px;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
}
.mod-header-globalnav-navitem img {
  width : 100%;
  height : auto;
}
.mod-header-globalnav-navitem .text {
  display : none;
}

.mod-header-globalnav-closebtn {
  display : none;
  margin : 0;
}

.mod-header-globalnav-menubtn {
  position : relative;
  display : none;
  margin : 0;
  z-index : 1;
}
.mod-header-globalnav.opened .mod-header-globalnav-menubtn {
  display : none;
}
.mod-header-globalnav.closed .mod-header-globalnav-menubtn {
  display : block;
}

.mod-header-globalnav-navWrapper {
  position : relative;
  z-index : 100;
}

.mod-header-sns {
  position : absolute;
  right : 10px;
  bottom : 0;
  margin : 0;
  z-index : 50;
}

.mod-header-sns li {
  display:inline-block;
  vertical-align: top;
  line-height:0;
}

.mod-header-snsitem {
  margin : 0;
  display : inline-block;
  vertical-align : middle;
}
.mod-header-snsitem.facebook {
  height : 25px;
  overflow : hidden;
}
.mod-header-snsitem.twitter iframe {
  width : 110px !important;
}

@media only screen and (max-width: 640px) {
  .mod-header-inner {
    padding-bottom : 40px;
  }


  .mod-header-logo {
    width : 100px;
  }

  .mod-header-globalnav {
    position : absolute;
    top : 0;
    left : 0;
    float : none;
    width : 100%;
    background : #ffffff;
  }

  .mod-header-globalnav-nav {
    float : none;
  }
  .mod-header-globalnav.opened .mod-header-globalnav-nav {
    display : block;
  }
  .mod-header-globalnav.closed .mod-header-globalnav-nav {
    display : none;
  }

  .mod-header-globalnav-navitem {
    float : none;
    width : 100%;
    padding : 0;
  }
  .mod-header-globalnav-navitem a {
    display : block;
    padding : 10px;
    text-decoration : none;
    color : #ffffff;
    background : -webkit-gradient(linear, left top, left bottom, from(#0f2227), to(#1d3a41));
    background : -webkit-linear-gradient(#0f2227, #1d3a41);
    background : linear-gradient(#0f2227, #1d3a41);
  }
  .mod-header-globalnav-navitem img {
    display : none;
  }
  .mod-header-globalnav-navitem .text {
    display : block;
  }

  .mod-header-globalnav-closebtn {
    display : block;
  }
  .mod-header-globalnav-closebtn a {
    display : block;
    padding : 10px;
    text-decoration : none;
    color : #ffffff;
    background : -webkit-gradient(linear, left top, left bottom, from(#0f2227), to(#1d3a41));
    background : -webkit-linear-gradient(#0f2227, #1d3a41);
    background : linear-gradient(#0f2227, #1d3a41);
  }
  .mod-header-globalnav.opened .mod-header-globalnav-closebtn {
    display : block;
  }
  .mod-header-globalnav.closed .mod-header-globalnav-closebtn {
    display : none;
  }

  .mod-header-globalnav-menubtn {
    display : block;
    position : absolute;
    top : 30px;
    right : 0;
  }
  .mod-header-globalnav-menubtn a {
    display : block;
    padding : 5px;
  }
  .mod-header-globalnav.opened .mod-header-globalnav-menubtn {
    display : none;
  }
  .mod-header-globalnav.closed .mod-header-globalnav-menubtn {
    display : block;
  }

  .mod-header-globalnav-navWrapper {
    display : none;
    position : relative;
  }

  .mod-header-sns {
    top : 10px;
    bottom : auto;
  }
}

/* mod-footer */
.mod-footer {
  position : absolute;
  left : 0;
  bottom : 22px;
  width : 100%;
  text-align : center;
}

.mod-footer-copyright {
  margin : 0;
}

@media only screen and (max-width: 640px) {
  .mod-footer {
    width : auto;
    padding : 0 10px;
  }
}

/* mod-pagenavi */
.mod-pagenavi {
  position : fixed;
  right : 20px;
  top : 40%;
  z-index : 50;
}

.mod-pagenavi-nav {
  margin : 0;
  padding : 0;
  list-style : none;
}

.mod-pagenavi-item {
  position : relative;
  margin : 0 0 10px;
}
.mod-pagenavi-item a {
  display : block;
}
.mod-pagenavi-item a:after {
  content : "";
  display : block;
  width : 22px;
  height : 22px;
  background : url("../img/mod-pagenavi/bg.png") no-repeat 50% 50%;
}
.mod-pagenavi-item a:hover:after {
  content : "";
  display : block;
  width : 22px;
  height : 22px;
  background : url("../img/mod-pagenavi/bg-current.png") no-repeat 50% 50%;
}
.mod-pagenavi-item a:hover .balloon {
  display : block;
}
.mod-pagenavi-item .balloon {
  display : none;
  position : absolute;
  top : -0.5em;
  right : 32px;
  white-space : nowrap;
  min-width : 150px;
  padding : 5px;
  background : #c3e9cc;
  border-radius : 3px;
  color : #004943;
  font-weight : bold;
  font-size : 12px;
}
.mod-pagenavi-item .balloon:after {
  position : absolute;
  top : 50%;
  right : -9px;
  content : "";
  display : block;
  width : 9px;
  height : 10px;
  margin : -5px 0 0;
  background : url("../img/mod-pagenavi/bg-arrow.png") no-repeat;
}
.mod-pagenavi-item.current a:after {
  content : "";
  display : block;
  width : 22px;
  height : 22px;
  background : url("../img/mod-pagenavi/bg-current.png") no-repeat 50% 50%;
}

.nextpage {
  position : fixed;
  bottom : 20px;
  right : 10px;
  z-index : 60;
}
.nextpage a {
  display : block;
  width : 75px;
  height : 59px;
  line-height : 59px;
}
.nextpage a:hover {
  opacity : 0.7;
  filter : alpha(opacity=70);
  -ms-filter : "alpha( opacity=70 )";
}

.toppage {
  position : fixed;
  bottom : 20px;
  left : 10px;
  z-index : 60;
}
.toppage a {
  display : block;
  width : 75px;
  height : 59px;
  line-height : 59px;
}
.toppage a:hover {
  opacity : 0.7;
  filter : alpha(opacity=70);
  -ms-filter : "alpha( opacity=70 )";
}

@media only screen and (max-width: 640px) {
  .mod-pagenavi {
    display : none;
  }



  .nextpage {
    bottom : 30px;
  }
  .nextpage a {
    width : 50px;
    height : 34px;
  }

  .toppage {
    bottom : 30px;
  }
  .toppage a {
    width : 50px;
    height : 34px;
  }
}

/* mod-block */
.mod-block {
  max-width : 960px;
  margin : 0 auto;
  padding : 10.144% 0 4%;
}
#top-contents-01 .mod-block {
  padding-bottom : 16.956%;
}
#top-contents-02 .mod-block {
  padding-bottom : 3.478%;
}
#top-contents-03 .mod-block {
  padding-bottom : 52px;
}
#top-contents-05 .mod-block {
  padding-bottom : 8%;
}
#expensive-contents-01 .mod-block {
  padding-top : 5.714%;
  color : #ffffff;
  padding-bottom : 4.642%;
}
#expensive-contents-02 .mod-block {
  padding-bottom : 9.857%;
}
#originality-contents-top .mod-block {
  padding-top : 3.785%;
}
#merit-contents-top .mod-block {
  padding-top : 10.145%;
  padding-bottom : 8.406%;
}

.mod-block-h {
  margin : 0 0 3.854%;
  text-align : center;
}
.mod-block-h img {
  max-width : 100%;
  height : auto;
}

.mod-block-lead {
  margin : 0;
  text-align : center;
}

.mod-block-list {
  width : 93.229%;
  margin : 0 auto;
}
.mod-block-list:after {
  content : "";
  display : block;
  clear : both;
}
.mod-block-list.type2 {
  width : 100%;
}

.mod-block-list-item {
  float : left;
  width : 33.333%;
  text-align : center;
}
.mod-block-list.type2 .mod-block-list-item {
  width : 31.25%;
  margin : 0 0 0 3.125%;
}
.mod-block-list.type2 .mod-block-list-item:first-child {
  margin-left : 0;
}
.mod-block-list-item a {
  display : block;
}

.mod-block-p {
  margin : 0 0 4.89%;
  font-size : 16px;
  line-height : 1.875;
  text-align : center;
}

.mod-block-button {
  margin : 4.895% 20px 0;
  text-align : center;
}
.mod-block-button a {
  display : block;
}

.mod-block-box1 {
  padding : 30px 40px;
  background : #ffffff;
  border-radius : 5px;
}
.mod-block-box1:after {
  content : "";
  display : block;
  clear : both;
}

.mod-block-box1-h {
  margin : 0 0 25px;
  padding : 0 10px 10px;
  border-bottom : 1px solid #99cbe1;
  line-height : 1.5;
  text-align : center;
}
.mod-block-box1-h img {
  max-width : 100%;
  height : auto;
}

.mod-block-box1-figure {
  float : left;
  width : 64.545%;
  margin : 0;
}

.mod-block-box1-note {
  float : right;
  width : 35.455%;
  margin : 32px 0 0;
  text-align : right;
}
.mod-block-box1-note img {
  margin-left : 10px;
}

@media only screen and (max-width: 640px) {
  .mod-block {
    padding-top : 16%;
  }
  #top-contents-03 .mod-block, #top-contents-04 .mod-block {
    padding-bottom : 30px;
  }
  #top-contents-05 .mod-block, #expensive-contents-02 .mod-block {
    padding-bottom : 50px;
  }

  .mod-block-h img {
    max-width : 95%;
  }


  .mod-block-list {
    width : 100%;
  }


  .mod-block-p {
    font-size : 14px;
    line-height : 1.85714;
    text-align : left;
  }


  .mod-block-box1 {
    padding : 10px 20px 15px;
  }

  .mod-block-box1-h {
    margin-bottom : 15px;
  }

  .mod-block-box1-figure {
    float : none;
    width : 100%;
  }

  .mod-block-box1-note {
    float : none;
    width : 70%;
    margin : 15px auto 0;
    text-align : center;
  }
}

/* mod-head */
.mod-head {
  background : #000b0a url("../img/mod-head/bg.png") no-repeat 50% 0;
  overflow : hidden;
}

.mod-head-inner {
  position : relative;
  max-width : 960px;
  margin : 0 auto;
  padding : 0 10px;
  -webkit-background-size : cover;
          background-size : cover;
  -webkit-box-sizing : border-box;
          box-sizing : border-box;
  font-size : 16px;
  min-height : 240px;
}
.mod-head-inner:after {
  content : "";
  display : block;
  clear : both;
}

.mod-head-h {
  margin : 11.0638% 0 0;
  float : left;
  width : 63%;
}

.mod-head-nav {
  float : right;
  width : 33.334%;
  margin : 11.0638% 0 0;
  padding : 0;
}

.mod-head-navitem {
  margin : 0 0 10px;
}

.mod-head-back {
  float : left;
  margin : 18px 0 0;
}

@media only screen and (max-width: 640px) {
  .mod-head {
    -webkit-background-size : 700px auto;
            background-size : 700px auto;
  }

  .mod-head-inner {
    min-height : 0;
    padding-bottom : 10px;
  }

  .mod-head-h {
    float : none;
    width : auto;
    margin-top : 50px;
  }

  .mod-head-nav {
    width : 50%;
    margin-top : 10px;
  }

  .mod-head-navitem {
    margin-bottom : 5px;
  }

  .mod-head-back {
    float : left;
    width : 45%;
  }
}

/* mod-detail */
.mod-detail {
  max-width : 960px;
  margin : 0 auto;
  padding : 8.714% 0 0;
}

.mod-detail-theme {
  margin : 0 0 16px;
}

.mod-detail-name {
  min-height : 88px;
  margin-bottom : 7.1428%;
}

.mod-detail-p {
  font-size : 16px;
  line-height : 1.875;
}

.mod-detail-gallery {
  margin : 0 0 3%;
  text-align : center;
}
.mod-detail-gallery:after {
  content : "";
  display : block;
  clear : both;
}

.mod-detail-gallery-main {
  position : relative;
  float : right;
  width : 71.875%;
  margin : -116px 0 20px;
  overflow : hidden;
}

.mod-detail-gallery-list {
  margin : 0;
}

.mod-detail-gallery-list:after {
  content : ".";
  display : block;
  clear : both;
  height : 0;
  visibility : hidden;
  font-size : 0;
}

.mod-detail-gallery-item {
  position : absolute;
  top : 0;
  left : 0;
  width : 100%;
}
.mod-detail-gallery-item img {
  display : block;
}
.mod-detail-gallery-item:first-child {
  display : block;
  width : 100%;
}

.mod-detail-gallery-sub {
  float : left;
  width : 26.0416%;
}

.mod-detail-thumb {
  margin : -4% 0 0 -4%;
}
.mod-detail-thumb:after {
  content : "";
  display : block;
  clear : both;
}

.mod-detail-thumbitem {
  float : left;
  width : 46%;
  margin : 4% 0 0 4%;
}
.mod-detail-thumbitem.ui-carousel-current {
  opacity : 0.5;
}
.mod-detail-thumbitem img {
  border : 1px solid #ffffff;
  vertical-align : bottom;
}
.mod-detail-thumbitem a {
  display : block;
}
.mod-detail-thumbitem a:hover {
  opacity : 0.75;
}

.mod-detail-contents {
  margin : 0 0 40px;
  color : #ffffff;
  overflow : hidden;
}

.mod-detail-contents-main {
  float : left;
  width : 58.334%;
}

.mod-detail-contents-sub {
  float : right;
  width : 37.5%;
}

.mod-detail-data {
  padding : 18px 20px;
  background : #04285e;
}
.typeG .mod-detail-data {
  background : #51000c;
}
.typeI .mod-detail-data {
  background : #384e18;
}

.mod-detail-table th, .mod-detail-table td {
  width : 50%;
  font-weight : normal;
  font-size : 14px;
  line-height : 1.71429;
}

.mod-detail-buttons {
  margin : 0 0 54px;
  overflow : hidden;
}

.mod-detail-button {
  float : left;
  width : 31.25%;
  margin : 0 0 0 3.125%;
  text-align : center;
}
.mod-detail-button:first-child {
  margin-left : 0;
}

@media only screen and (max-width: 640px) {
  .mod-detail {
    padding-top : 50px;
  }

  .mod-detail-theme {
    width : 70%;
  }

  .mod-detail-name {
    min-height : 0;
    max-width : 40%;
  }



  .mod-detail-gallery-main {
    width : auto;
    float : none;
    margin-top : 0;
    margin-bottom : 4%;
  }




  .mod-detail-gallery-sub {
    width : auto;
    float : none;
  }


  .mod-detail-thumbitem {
    width : 29.333333333%;
  }

  .mod-detail-contents {
    margin-bottom : 0;
  }

  .mod-detail-contents-main {
    float : none;
    width : auto;
    margin : 0 0 20px;
  }

  .mod-detail-contents-sub {
    float : none;
    width : auto;
    margin : 0 0 20px;
  }

  .mod-detail-data {
    padding : 10px;
  }


  .mod-detail-buttons {
    margin : 0 0 30px;
  }

  .mod-detail-button {
    float : none;
    width : 100%;
    margin : 0 0 10px;
  }
}

/* mod-point */
.mod-point {
  max-width : 960px;
  margin : 0 auto 40px;
  padding : 6% 0 0;
  color : #2ba90d;
}
.typeJ .mod-point {
  color : #ffffff;
}

.mod-point-head {
  padding : 40px 0 0 24%;
}
.mod-point-head:after {
  content : "";
  display : block;
  clear : both;
}

.mod-point-num {
  position : relative;
  left : -7.278%;
  float : left;
  width : 36.391%;
  margin : -40px 0 0 -36.39%;
}

.mod-point-contents:after {
  content : "";
  display : block;
  clear : both;
}
.mod-point-contents.type2 {
  margin-top : 37px;
}

.mod-point-main {
  float : right;
  width : 80.209%;
  padding-top : 15px;
}
.mod-point-contents.type2 .mod-point-main {
  float : left;
  padding-top : 0;
  width : 58.577%;
}

.mod-point-image {
  float : left;
  width : 16.667%;
  text-align : center;
}
.mod-point-contents.type2 .mod-point-image {
  float : right;
  padding-top : 0;
  width : 39.052%;
}

.mod-point-h {
  margin : 0 0 20px;
  line-height : 1;
}

.mod-point-h2 {
  margin : 0 0 5px;
  font-weight : bold;
  color : #2ba90d;
  font-size : 16px;
  line-height : 1.375;
}

.mod-point-p {
  margin : 0 0 20px;
  font-size : 16px;
  line-height : 1.875;
}

.mod-point-figure {
  margin : 0 0 10px;
  text-align : center;
}

.mod-point-notes {
  margin : 0 0 10px;
  font-size : 12px;
  line-height : 1.25;
}

.mod-point-list {
  margin : 30px 0;
  padding : 0;
}
.mod-point-list:after {
  content : "";
  display : block;
  clear : both;
}

.mod-point-list-item {
  float : left;
  width : 31.25%;
  margin : 0 0 0 3.125%;
  text-align : center;
}
.mod-point-list-item:first-child {
  margin-left : 0;
}
.mod-point-list-item .caption {
  display : block;
  margin : 5px 0 0;
}

.mod-point-list2:after {
  content : "";
  display : block;
  clear : both;
}

.mod-point-list2-item {
  float : left;
  width : 48.4375%;
  margin : 0 0 0 3.125%;
  text-align : center;
}
.mod-point-list2-item:first-child {
  margin-left : 0;
}
.mod-point-list2-item .caption {
  display : block;
  margin : 5px 0 0;
}

@media only screen and (max-width: 640px) {
  .mod-point {
    padding-top : 50px;
  }

  .mod-point-head {
    padding : 0;
  }

  .mod-point-num {
    position : relative;
    top : -10px;
    left : 0;
    margin : 0;
    float : none;
  }

  .mod-point-contents.type2 {
    margin-top : 0;
  }

  .mod-point-main {
    float : none;
    width : auto;
  }
  .mod-point-contents.type2 .mod-point-main {
    float : none;
    width : auto;
  }

  .mod-point-image {
    float : none;
    width : auto;
  }
  .mod-point-contents.type2 .mod-point-image {
    float : none;
    width : auto;
  }



  .mod-point-p {
    font-size : 14px;
    line-height : 1.71429;
  }



  .mod-point-list {
    margin : 20px 0;
  }

  .mod-point-list-item {
    float : none;
    width : auto;
    margin : 0 0 10px;
    font-size : 14px;
  }


  .mod-point-list2-item {
    float : none;
    width : auto;
    margin : 0 0 10px;
  }
}

/* mod-point2 */
.mod-point2 {
  max-width : 960px;
  margin : 0 auto;
  padding : 8.714% 0 0;
}

.mod-point2-p {
  margin : 0 0 10px;
  font-size : 16px;
  line-height : 1.875;
}

.mod-point2-h {
  position : relative;
  margin : 0 18px 36px;
  padding : 0 0 0 18.0735%;
  line-height : 1;
}
.mod-point2-h .icon {
  position : absolute;
  top : 50%;
  left : 0;
  margin : -7.7973% 0 0;
  display : block;
  width : 16.233%;
}

.mod-point2-h2 {
  margin : 0;
  font-weight : bold;
  font-size : 16px;
  line-height : 1.875;
}

.mod-point2-box {
  margin : 0 0 40px;
  padding : 40px 30px 10px 40px;
  background : #ffffff;
  border-radius : 10px;
  color : #2ba90d;
}

.mod-point2-contents {
  margin : 0 0 20px;
}
.mod-point2-contents:after {
  content : "";
  display : block;
  clear : both;
}
.mod-point2-contents.type2 {
  float : left;
  position : relative;
  z-index : 5;
  width : 70.675%;
}

.mod-point2-main {
  float : left;
  width : 48.913%;
}
.mod-point2-contents.type2 .mod-point2-main {
  float : right;
  width : 47%;
}

.mod-point2-figure {
  float : right;
  width : 42.808%;
  margin-bottom : -22.5%;
}
.mod-point2-contents.type2 .mod-point2-figure {
  float : left;
  width : 49.284%;
  margin-bottom : 0;
}

.mod-point2-list {
  clear : both;
  margin : 0 0 40px;
  padding : 0;
}
.mod-point2-list:after {
  content : "";
  display : block;
  clear : both;
}

.mod-point2-list-item {
  float : right;
  width : 48%;
}
.mod-point2-list-item:first-child {
  float : left;
}
.mod-point2-list-item .image {
  display : table-cell;
  vertical-align : top;
}
.mod-point2-list-item .text {
  padding-top : 20px;
  padding-left : 20px;
  display : table-cell;
  vertical-align : top;
}

@media only screen and (max-width: 640px) {
  .mod-point2 {
    padding-top : 50px;
  }

  .mod-point2-p {
    font-size : 14px;
    line-height : 1.71429;
  }

  .mod-point2-h {
    margin : 0 0 20px;
    padding-left : 0;
  }
  .mod-point2-h .icon {
    position : relative;
    top : 0;
    display : block;
    width : 16.233%;
    margin-top : -3%;
  }


  .mod-point2-box {
    padding : 20px 20px 1px;
  }

  .mod-point2-contents.type2 {
    float : none;
    width : auto;
  }

  .mod-point2-main {
    float : none;
    width : auto;
  }
  .mod-point2-contents.type2 .mod-point2-main {
    float : none;
    width : auto;
  }

  .mod-point2-figure {
    float : none;
    width : auto;
    text-align : center;
    margin-bottom : 0;
  }
  .mod-point2-contents.type2 .mod-point2-figure {
    float : none;
    width : auto;
    text-align : left;
    margin : 0 0 10px;
  }


  .mod-point2-list-item {
    float : none;
    width : auto;
    margin : 0 0 20px;
  }
  .mod-point2-list-item .image {
    display : block;
    margin : 0 0 10px;
  }
  .mod-point2-list-item .text {
    display : block;
    padding : 0;
  }
}
