@charset "UTF-8";
/* CSS Document */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  box-sizing: border-box;
}

::before,
::after {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: border-box;
}

* {
  padding: 0;
  margin: 0;
}


/* # =================================================================
   # General elements
   # ================================================================= */

audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
}

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

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden],
template {
  display: none;
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
}

a {
  display: block;
  line-height: 1;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

b,
strong {
  display: block;
  line-height: 1;
  font-weight: 600;
}



/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

optgroup {
  font-weight: 600;
}

button {
  overflow: visible;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"], 
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button,
select {
  text-transform: none;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}


/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden;
}

audio,
canvas,
progress,
video {
  display: inline-block;
}


/* # =================================================================
   # Accessibility
   # ================================================================= */

@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}


/* # =================================================================
   # Selection
   # ================================================================= */

::-moz-selection {
  text-shadow: none;
}

::selection {
  text-shadow: none;
}


/* # =================================================================
   # Bace
   # ================================================================= */

.t-zro {padding-top:0px;}
.t5 {padding-top:5px;}
.t10 {padding-top:10px;}
.t15 {padding-top:15px;}
.t20 {padding-top:20px;}
.t25 {padding-top:25px;}
.t30 {padding-top:30px;}
.t35 {padding-top:35px;}
.t40 {padding-top:40px;}
.t45 {padding-top:45px;}
.t50 {padding-top:50px;}
.t55 {padding-top:55px;}
.t60 {padding-top:60px;}
.t65 {padding-top:65px;}
.t70 {padding-top:70px;}
.t75 {padding-top:75px;}
.t80 {padding-top:80px;}
.t85 {padding-top:85px;}
.t90 {padding-top:90px;}
.t95 {padding-top:95px;}
.t100 {padding-top:100px;}

/*///// padding-bottom /////*/
.b-zro {padding-bottom:0px;}
.b5 {padding-bottom:5px;}
.b10 {padding-bottom:10px;}
.b15 {padding-bottom:15px;}
.b20 {padding-bottom:20px;}
.b25 {padding-bottom:25px;}
.b30 {padding-bottom:30px;}
.b35 {padding-bottom:35px;}
.b40 {padding-bottom:40px;}
.b45 {padding-bottom:45px;}
.b50 {padding-bottom:50px;}
.b55 {padding-bottom:55px;}
.b60 {padding-bottom:60px;}
.b65 {padding-bottom:65px;}
.b70 {padding-bottom:70px;}
.b75 {padding-bottom:75px;}
.b80 {padding-bottom:80px;}
.b85 {padding-bottom:85px;}
.b90 {padding-bottom:90px;}
.b95 {padding-bottom:95px;}
.b100 {padding-bottom:100px;}

/*///// padding-right /////*/
.r-zro {padding-right:0;}
.r5 {padding-right:5px;}
.r10 {padding-right:10px;}
.r15 {padding-right:15px;}
.r20 {padding-right:20px;}
.r25 {padding-right:25px;}
.r30 {padding-right:30px;}
.r35 {padding-right:35px;}
.r40 {padding-right:40px;}
.r45 {padding-right:45px;}
.r50 {padding-right:50px;}
.r55 {padding-right:55px;}
.r60 {padding-right:60px;}
.r65 {padding-right:65px;}
.r70 {padding-right:70px;}
.r75 {padding-right:75px;}
.r80 {padding-right:80px;}
.r85 {padding-right:85px;}
.r90 {padding-right:90px;}
.r95 {padding-right:95px;}
.r100 {padding-right:100px;}

/*///// padding-left /////*/
.l-zro {padding-left:0;}
.l5 {padding-left:5px;}
.l10 {padding-left:10px;}
.l15 {padding-left:15px;}
.l20 {padding-left:20px;}
.l25 {padding-left:25px;}
.l30 {padding-left:30px;}
.l35 {padding-left:35px;}
.l40 {padding-left:40px;}
.l45 {padding-left:45px;}
.l50 {padding-left:50px;}
.l55 {padding-left:55px;}
.l60 {padding-left:60px;}
.l65 {padding-left:65px;}
.l70 {padding-left:70px;}
.l75 {padding-left:75px;}
.l80 {padding-left:80px;}
.l85 {padding-left:85px;}
.l90 {padding-left:90px;}
.l95 {padding-left:95px;}
.l100 {padding-left:100px;}

/*///// margin-top /////*/
.mt-zro {margin-top:0;}
.mt3 {margin-top:3px;}
.mt5 {margin-top:5px;}
.mt8 {margin-top:8px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}
.mt35 {margin-top:35px;}
.mt40 {margin-top:40px;}
.mt45 {margin-top:45px;}
.mt50 {margin-top:50px;}
.mt55 {margin-top:55px;}
.mt60 {margin-top:60px;}
.mt65 {margin-top:65px;}
.mt70 {margin-top:70px;}
.mt75 {margin-top:75px;}
.mt80 {margin-top:80px;}
.mt85 {margin-top:85px;}
.mt90 {margin-top:90px;}
.mt95 {margin-top:95px;}
.mt100 {margin-top:100px;}

/*///// margin-bottom /////*/
.mb-zro {margin-bottom:0;}
.mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mb45 {margin-bottom:45px;}
.mb50 {margin-bottom:50px;}
.mb55 {margin-bottom:55px;}
.mb60 {margin-bottom:60px;}
.mb65 {margin-bottom:65px;}
.mb70 {margin-bottom:70px;}
.mb75 {margin-bottom:75px;}
.mb80 {margin-bottom:80px;}
.mb85 {margin-bottom:85px;}
.mb90 {margin-bottom:90px;}
.mb95 {margin-bottom:95px;}
.mb100 {margin-bottom:100px;}

/*///// margin-right /////*/
.mr-zro {margin-right:0;}
.mr5 {margin-right:5px;}
.mr10 {margin-right:10px;}
.mr15 {margin-right:15px;}
.mr20 {margin-right:20px;}
.mr25 {margin-right:25px;}
.mr30 {margin-right:30px;}
.mr35 {margin-right:35px;}
.mr40 {margin-right:40px;}
.mr45 {margin-right:45px;}
.mr50 {margin-right:50px;}
.mr55 {margin-right:55px;}
.mr60 {margin-right:60px;}
.mr65 {margin-right:65px;}
.mr70 {margin-right:70px;}
.mr75 {margin-right:75px;}
.mr80 {margin-right:80px;}
.mr85 {margin-right:85px;}
.mr90 {margin-right:90px;}
.mr95 {margin-right:95px;}
.mr100 {margin-right:100px;}

/*///// margin-left /////*/
.ml-zro {margin-left:0;}
.ml5 {margin-left:5px;}
.ml10 {margin-left:10px;}
.ml15 {margin-left:15px;}
.ml20 {margin-left:20px;}
.ml25 {margin-left:25px;}
.ml30 {margin-left:30px;}
.ml35 {margin-left:35px;}
.ml40 {margin-left:40px;}
.ml45 {margin-left:45px;}
.ml50 {margin-left:50px;}
.ml55 {margin-left:55px;}
.ml60 {margin-left:60px;}
.ml65 {margin-left:65px;}
.ml70 {margin-left:70px;}
.ml75 {margin-left:75px;}
.ml80 {margin-left:80px;}
.ml85 {margin-left:85px;}
.ml90 {margin-left:90px;}
.ml95 {margin-left:95px;}
.ml100 {margin-left:100px;}

/*///// spacing /////*/
.spxno {letter-spacing:normal!important;}
.spxe2 {letter-spacing:0.02em;}
.spxe3 {letter-spacing:0.03em;}
.spxe4 {letter-spacing:0.04em;}
.spxe5 {letter-spacing:0.05em;}
.spxe6 {letter-spacing:0.06em;}
.spxe7 {letter-spacing:0.07em;}
.spxe8 {letter-spacing:0.08em;}
.spxe9 {letter-spacing:0.09em;}
.spxe10 {letter-spacing:0.1em;}
.spxe15 {letter-spacing:0.15em;}
.spxe20 {letter-spacing:0.2em;}
.spxe25 {letter-spacing:0.25em;}
.spxe30 {letter-spacing:0.3em;}


/*   crfx
******************************************/
.crfx:after {
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	content: '';
}
.crfx {
	min-height: 1px; /*IE6、7対策*/
}
* html .crfx {
	height: 1px;
	height: auto;
	overflow: hidden;
}


/*   form placeholder
******************************************/
/*
.form :placeholder-shown {
	color: #a0a0a0;
    font-size: 1.4rem;
}
*/
.form ::-webkit-input-placeholder {
	color: #a0a0a0;
    font-size: 1.4rem;
}
.form :-moz-placeholder {
	color: #a0a0a0;
	opacity: 1;
    font-size: 1.4rem;
}
.form ::-moz-placeholder {
	color: #a0a0a0;
	opacity: 1;
    font-size: 1.4rem;
}
.form :-ms-input-placeholder {
	color: #a0a0a0;
    font-size: 1.4rem;
}


/*   checkbox
******************************************/
input[type="checkbox"] {
    display: none;
}
.fm-check {
}
.fm-check label {
    position: relative;
    display: inline-block;
    padding-left: 24px;
    cursor: pointer;
    white-space: nowrap;
    -webkit-transition: all .2s;
    transition: all .2s;
}
.fm-check label p {
	line-height: 1.3;
}
.fm-check label::before,
.fm-check label::after {
    position: absolute;
    content: '';
    -webkit-transition: all .2s;
    transition: all .2s;
}
.fm-check label::before {
    top: 50%;
    left: 0;
    width: 18px;
    height: 18px;
    margin-top: -10px;
    background: #f4f4f4;
    border: 1px solid #bbb;
    border-radius: 3px;
}
.fm-check label::after {
    opacity: 0;
    top: 48%;
    left: 2px;
    width: 18px;
    height: 8px;
    margin-top: -9px;
    border-left: 2px solid #3498db;
    border-bottom: 2px solid #3498db;
    -webkit-transform: rotate(-45deg) scale(.5);
    transform: rotate(-45deg) scale(.5);
}
.fm-check label:hover::before {
    background: #fff;
}
input[type="checkbox"]:checked + label::before {
    background: #fff;
    border: 1px solid #3498db;
}
input[type="checkbox"]:checked + label::after {
    opacity: 1;
    -webkit-transform: rotate(-52deg) scale(1);
    transform: rotate(-52deg) scale(1);
}


/*   radio
******************************************/
input[type="radio"] {
    display: none;
}
.fm-radio {
}
.fm-radio label {
    position: relative;
    display: inline-block;
    padding-left: 28px;
    cursor: pointer;
}
.fm-radio label::before,
.fm-radio label::after {
    position: absolute;
    content: '';
    border-radius: 100%;
    -webkit-transition: all .2s;
    transition: all .2s;
    top: 50%;
    transform: translate(0, -50%);
}
.fm-radio label::before {
    left: 0;
    width: 20px;
    height: 20px;
    background: #f3f3f3;
    border: 1px solid #bbb;
}
.fm-radio label:hover::before {
    background: #fff;
}
.fm-radio label::after {
    opacity: 0;
    left: 5px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    background: #3498db;
    -webkit-transform: scale(2);
    transform: scale(2);
}
input[type="radio"]:checked + label::before {
    background: #fff;
    border: 1px solid #3498db;
}
input[type="radio"]:checked + label::after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}


/*   select
******************************************/
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
::-ms-expand {
    display: none;
}
.fm-select {
    width: 100%;
    display: block;
    position: relative;
    font-size: 1.4rem;
    overflow: hidden;
}
.fm-select:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 5px 0 5px;
    border-color: #303030 transparent transparent transparent;
    top: 50%;
    right: 10px;
    margin-top: -3px;
    pointer-events: none;
}
.fm-select select {
    width: 100%;
    height: 36px;
    font-size: 14px;
    padding: 0 10px;
    position: relative;
    background-color: #f8f8f8;
    padding-right: 30px;
    border: 1px solid #bbb;
    border-radius: 5px;
}


/*   error input
******************************************/
.has-error textarea {
    border: 1px solid #f13a19 !important;
}
.has-error input {
    border: 1px solid #f13a19 !important;
}
.has-error label::before {
    border: 1px solid #f13a19 !important;
}
.has-error select {
    border: 1px solid #f13a19 !important;
}





