@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Roboto:500,700');
@import url('https://fonts.googleapis.com/css?family=Josefin+Sans:400,700');

/* Reset CSS.
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { border: 0; font-family: inherit; font-size: 100%; font-style: normal; font-weight: normal; margin: 0; outline: 0; padding: 0; vertical-align: baseline; }
:focus { outline:0; }
html { overflow-y: scroll; }
ol, ul { list-style: none; }
table { width: 100%; border-collapse: collapse; border-spacing: 0; }
caption, th, td { font-weight: normal; text-align: left; }
blockquote:before, blockquote:after,q:before, q:after { content: ""; }
blockquote, q { quotes: "" "";}
img, a img { width: auto; height: auto; max-width: 100%; border: 0; vertical-align: bottom; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
input, textarea { margin: 0; padding: 0; }
figure { margin: 0; padding: 0; }
main { display: block; }

/* フォント設定
------------------------------------------------------------*/
html{ font-size: 62.5%; }
body{ font-size: 15px; font-size: 1.5rem; line-height: 1; }
body{ font-family: "YakuHanJP", "Roboto", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; color: #182A3C; -webkit-text-size-adjust: 100%; background: #EFF3F6; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
h2, h3, h4, h5, h6, p { margin-bottom: 1.5em; }
strong { font-weight: bold; }
em { font-style:italic; }
.font-12 { font-size: 12px; font-size: 1.2rem; }
.font-13 { font-size: 13px; font-size: 1.3rem; }
.font-14 { font-size: 14px; font-size: 1.4rem; }
.font-15 { font-size: 15px; font-size: 1.5rem; }
.font-16 { font-size: 16px; font-size: 1.6rem; }
.font-17 { font-size: 17px; font-size: 1.7rem; }
.font-18 { font-size: 18px; font-size: 1.8rem; }
.font-19 { font-size: 19px; font-size: 1.9rem; }
.font-20 { font-size: 20px; font-size: 2.0rem; }
/* Webフォント */
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 100;
  src: url("../font/YakuHanJP-Regular.woff2") format("woff2"),
  url("../font/YakuHanJP-Regular.woff") format("woff"),
  url("../font/YakuHanJP-Regular.eot");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 200;
  src: url("../font/YakuHanJP-Regular.woff2") format("woff2"),
  url("../font/YakuHanJP-Regular.woff") format("woff"),
  url("../font/YakuHanJP-Regular.eot");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 300;
  src: url("../font/YakuHanJP-Regular.woff2") format("woff2"),
  url("../font/YakuHanJP-Regular.woff") format("woff"),
  url("../font/YakuHanJP-Regular.eot");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 400;
  src: url("../font/YakuHanJP-Regular.woff2") format("woff2"),
  url("../font/YakuHanJP-Regular.woff") format("woff"),
  url("../font/YakuHanJP-Regular.eot");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 500;
  src: url("../font/YakuHanJP-Medium.woff2") format("woff2"),
  url("../font/YakuHanJP-Medium.woff") format("woff"),
  url("../font/YakuHanJP-Medium.eot");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 700;
  src: url("../font/YakuHanJP-Bold.woff2") format("woff2"),
  url("../font/YakuHanJP-Bold.woff") format("woff"),
  url("../font/YakuHanJP-Bold.eot");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 900;
  src: url("../font/YakuHanJP-Black.woff2") format("woff2"),
  url("../font/YakuHanJP-Black.woff") format("woff"),
  url("../font/YakuHanJP-Black.eot");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 100;
    src: url("../font/NotoSans_Light.woff2") format("woff2"),
	url("../font/NotoSans_light.woff") format("woff"),
	url("../font/NotoSans_light.otf") format("opentype");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 200;
    src: url("../font/NotoSans_Light.woff2") format("woff2"),
	url("../font/NotoSans_light.woff") format("woff"),
	url("../font/NotoSans_light.otf") format("opentype");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 300;
    src: url("../font/NotoSans_DemiLight.woff2") format("woff2"),
	url("../font/NotoSans_demilight.woff") format("woff"),
	url("../font/NotoSans_demilight.otf") format("opentype");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url("../font/NotoSans_DemiLight.woff2") format("woff2"),
	url("../font/NotoSans_demilight.woff") format("woff"),
	url("../font/NotoSans_demilight.otf") format("opentype");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 500;
    src: url("../font/NotoSans_Medium.woff2") format("woff2"),
	url("../font/NotoSans_medium.woff") format("woff"),
	url("../font/NotoSans_medium.otf") format("opentype");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 700;
    src: url("../font/NotoSans_Medium.woff2") format("woff2"),
	url("../font/NotoSans_medium.woff") format("woff"),
	url("../font/NotoSans_medium.otf") format("opentype");
}
@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 900;
    src: url("../font/NotoSans_Medium.woff2") format("woff2"),
	url("../font/NotoSans_medium.woff") format("woff"),
	url("../font/NotoSans_medium.otf") format("opentype");
}
@font-face {
    font-family: "Noto Serif Japanese";
    font-style: normal;
    font-weight: 200;
    src: url("../font/NotoSerifCJKjp-Light.eot");
    src: url("../font/NotoSerifCJKjp-Light.eot?#iefix") format('embedded-opentype'),
    url("../font/NotoSerifCJKjp-Light.woff") format('woff'),
    url("../font/NotoSerifCJKjp-Light.otf") format('opentype');
}
@font-face {
    font-family: "Noto Serif Japanese";
    font-style: normal;
    font-weight: 300;
    src: url("../font/NotoSerifCJKjp-DemiLight.eot");
    src: url("../font/NotoSerifCJKjp-DemiLight.eot?#iefix") format('embedded-opentype'),
    url("../font/NotoSerifCJKjp-DemiLight.woff") format('woff'),
    url("../font/NotoSerifCJKjp-DemiLight.otf") format('opentype');
}
@font-face {
    font-family: "Noto Serif Japanese";
    font-style: normal;
    font-weight: 400;
    src: url("../font/NotoSerifCJKjp-Regular.eot");
    src: url("../font/NotoSerifCJKjp-Regular.eot?#iefix") format('embedded-opentype'),
    url("../font/NotoSerifCJKjp-Regular.woff") format('woff'),
    url("../font/NotoSerifCJKjp-Regular.otf")  format('opentype');
}
@font-face {
    font-family: "Noto Serif Japanese";
    font-style: normal;
    font-weight: 500;
    src: url("../font/NotoSerifCJKjp-Medium.eot");
    src: url("../font/NotoSerifCJKjp-Medium.eot?#iefix") format('embedded-opentype'),
    url("../font/NotoSerifCJKjp-Medium.woff") format('woff'),
    url("../font/NotoSerifCJKjp-Medium.otf") format('opentype');
}
@font-face {
    font-family: "Noto Serif Japanese";
    font-style: normal;
    font-weight: 700;
    src: url("../font/NotoSerifCJKjp-Bold.eot");
    src: url("../font/NotoSerifCJKjp-Bold.eot?#iefix") format('embedded-opentype'),
    url("../font/NotoSerifCJKjp-Bold.woff") format('woff'),
    url("../font/NotoSerifCJKjp-Bold.otf") format('opentype');
}
@font-face {
    font-family: "Noto Serif Japanese";
    font-style: normal;
    font-weight: 900;
    src: url("../font/NotoSerifCJKjp-Black.eot");
    src: url("../font/NotoSerifCJKjp-Black.eot?#iefix") format('embedded-opentype'),
    url("../font/NotoSerifCJKjp-Black.woff") format('woff'),
    url("../font/NotoSerifCJKjp-Black.otf") format('opentype');
}
.font-mincho { font-family: "YakuHanJP", "Vollkorn", Times New Roman , "Noto Serif Japanese", "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , "MSP明朝", "MS PMincho", "MS 明朝", serif; }
/* フォントカラー */
.navy { color: #001F3F; }
.blue { color: #0074D9; }
.aqua { color: #7FDBFF; }
.teal { color: #39CCCC; }
.olive { color: #3D9970; }
.green { color: #2ECC40; }
.lime { color: #01FF70; }
.yellow { color: #FFDC00; }
.orange { color: #FF851B; }
.red { color: #FF4136; }
.maroon { color: #85144B; }
.fuchsia { color: #F012BE; }
.purple { color: #B10DC9; }
.sitver { color: #DDD; }
.gray { color: #AAA; }
.black { color: #111; }																																																																																																																																																																																																																																																																																		

/* リンク設定
------------------------------------------------------------*/
a{ margin: 0; padding: 0; outline: 0; vertical-align: baseline; background: transparent; font-size: 100%; text-decoration: underline; color: #73CADA; -webkit-transition: 0.4s all; -moz-transition: 0.4s all; transition: 0.4s all; }
a:hover, a:active{ outline: none; text-decoration: none; }
.fade:hover, .fadeAll a:hover {	opacity: 0.6; filter: alpha(opacity=60); }

/* 配置指定
------------------------------------------------------------*/
img.aligncenter { display: block; margin: 5px auto; }
img.alignright, img.alignleft{ padding: 4px;	margin: 0 0 2px 7px; display: inline; }
img.alignleft{ margin: 0 7px 2px 0; }
.alignright{ float: right; }
.alignleft{ float: left; }
.inline { letter-spacing: -0.4em; } 
.inline li { display: inline-block; *display: inline; *zoom: 1; letter-spacing: normal; }

/* マージン
------------------------------------------------------------*/
.mb05 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }

/* Clearfix
------------------------------------------------------------*/
.cf:before, .cf:after {	content: " "; display: table; }
.cf:after { clear: both; }
.cf { *zoom: 1; }

/* フォーム
------------------------------------------------------------*/
input[type="text"], input[type="email"], input[type="tel"], select, textarea {
	font-family: "YakuHanJP", "Roboto", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 16px; font-size: 1.6rem; color: #182A3C; line-height: 50px; vertical-align: middle; width: 100%; height: 52px; padding: 1px 10px; background: #FFF; border: 1px solid #E7EEF1; box-sizing: border-box;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
/*input[type="tel"] { width: -webkit-calc(33.33% - 16px); width: calc(33.33% - 16px); max-width: 120px; }*/
textarea { line-height: 1.8; height: 220px; }

/* -- input[type="file"] -- */
input[type="file"] { display: none; }
.js-selectFile { position: relative; line-height: 58px; height: 60px; padding: 1px 10px; overflow: hidden; background: #FFF; border: 1px solid #E7EEF1; box-sizing: border-box; }
.js-selectFile .js-btn { position: absolute; top: 0; right: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; width: 60px; height: 60px; background: #182A3A url(../img/page/contact/file.png) no-repeat 50% 50%; border: none; }
.js-selectFile .icon { position: absolute; top: 0; bottom: 0; left: 10px; display: block; font-size: 12px; font-size: 1.2rem; color: #FFF; line-height: 30px; text-align: center; width: 60px; height: 30px; margin: auto; background: #999; }
.js-selectFile .icon.on { background: #E64B1E; }
.js-selectFile .filename { position: absolute; top: 0; left: 0; font-size: 12px; font-size: 1.2rem; line-height: 58px; padding: 0 70px 0 80px; }

/* -- select -- */
select { cursor: pointer; background-image: url(../img/select.png); background-repeat: no-repeat; background-position: -webkit-calc( 100% - 20px ) 50%; background-position: calc( 100% - 20px ) 50%; }
select::-ms-expand { display: none; }

/* -- checkbox -- */
input[type="checkbox"] { display: none; }
.checkbox { position: relative; padding: 0 0 0 34px; cursor: pointer; }
.checkbox:before,
.checkbox:after  { position: absolute; top: 0; bottom: 0; content: ""; display: block; margin: auto; -webkit-transition: 0.4s all; -moz-transition: 0.4s all; transition: 0.4s all; }
.checkbox:before { left: 0; width: 26px; height: 26px; background: #FFF; border: 2px solid #73CADA; box-sizing: border-box; }
.checkbox:after  { top: -2px; left: 8px; width: 8px; height: 4px; border-bottom: 2px solid #73CADA; border-left: 2px solid #73CADA; opacity: 0; filter: alpha(opacity=0); -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transition: 0.4s all; -moz-transition: 0.4s all; transition: 0.4s all; }
.checkbox.on:after { opacity: 1.0; filter: alpha(opacity=100); }

/* -- radio -- */
input[type="radio"] { display: none; }
.radio span { display: inline; margin: 0; }
.radio label { display: block; font-size: 16px; font-size: 1.6rem; line-height: 60px; text-align: center; width: 50%; height: 60px; float: left; background: #FFF; -webkit-transition: 0.4s all; -moz-transition: 0.4s all; transition: 0.4s all; }
.radio label.on { color: #FFF; background: #E64B1E; }

/* -- submit -- */
input[type="submit"], input[type="reset"], input[type="button"] {
	font-family: "YakuHanJP", "Roboto", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 18px; font-size: 1.8rem; font-weight: bold; color: #E64B1E; line-height: 100px; vertical-align: middle; text-align: center; cursor: pointer;
	width: 100%; max-width: 320px; height: 100px; padding: 1px 10px; background: #FFF; border: 2px solid #E64B1E; box-sizing: border-box;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	-webkit-transition: 0.4s all; -moz-transition: 0.4s all; transition: 0.4s all;
}
input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover{ color: #FFF; background: #E64B1E; border-color: #E64B1E; }
input[type="submit"][disabled], input[type="reset"][disabled], input[type="button"][disabled] { color: #FFF; cursor: not-allowed; background: #C3C3C3; border-color: #C3C3C3; }