@charset "utf-8";

/* -- WebFonts 必要に応じて追加＆削除してください -- */
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');
@import url('https://fonts.googleapis.com/css?family=Vollkorn: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, main { display: block; }
input, textarea { margin: 0; padding: 0; }
figure { margin: 0; padding: 0; }


/* Web Fonts
-------------------------------------------------------------- */

/* -- 約物半角ゴシック -- */
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/YakuHanJP-Thin.eot");
  src: url("../fonts/YakuHanJP-Thin.woff2") format("woff2"),
  url("../fonts/YakuHanJP-Thin.woff") format("woff");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/YakuHanJP-Light.eot");
  src: url("../fonts/YakuHanJP-Light.woff2") format("woff2"),
  url("../fonts/YakuHanJP-Light.woff") format("woff");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/YakuHanJP-DemiLight.eot");
  src: url("../fonts/YakuHanJP-DemiLight.woff2") format("woff2"),
  url("../fonts/YakuHanJP-DemiLight.woff") format("woff");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/YakuHanJP-Regular.eot");
  src: url("../fonts/YakuHanJP-Regular.woff2") format("woff2"),
  url("../fonts/YakuHanJP-Regular.woff") format("woff");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/YakuHanJP-Medium.eot");
  src: url("../fonts/YakuHanJP-Medium.woff2") format("woff2"),
  url("../fonts/YakuHanJP-Medium.woff") format("woff");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/YakuHanJP-Bold.eot");
  src: url("../fonts/YakuHanJP-Bold.woff2") format("woff2"),
  url("../fonts/YakuHanJP-Bold.woff") format("woff");
}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/YakuHanJP-Black.eot");
  src: url("../fonts/YakuHanJP-Black.woff2") format("woff2"),
  url("../fonts/YakuHanJP-Black.woff") format("woff");
}



/* フォント設定
------------------------------------------------------------*/
html{ font-size: 10px; }
body{ font-size: 14px; font-size: 1.4rem; line-height: 1; }
@media screen and (min-width:768px) { body { font-size: 16px; font-size: 1.6rem; } }
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Yu Mincho";
  src: local("Yu Mincho Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Mincho";
  src: local("Yu Mincho Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Mincho";
  src: local("Yu Mincho Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Mincho";
  src: local("Yu Mincho Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Mincho";
  src: local("Yu Mincho Bold");
  font-weight: bold;
}

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
body { font-family: "Roboto", "YakuHanJP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic Medium", Yu Gothic Medium, "Yu Gothic", YuGothic, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "M+ 1p", sans-serif; color: #222; background: #FFF; -webkit-text-size-adjust: 100%; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }
h2, h3, h4, h5, h6, p { margin-bottom: 1.5em; }
.bold, strong { font-weight: bold; }
.italic, em { font-style: italic; }
.underline { text-decoration: underline; }
.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; }
.font-22 { font-size: 22px; font-size: 2.2rem; }
.font-24 { font-size: 24px; font-size: 2.4rem; }
.font-26 { font-size: 26px; font-size: 2.6rem; }
.font-28 { font-size: 28px; font-size: 2.8rem; }
.font-30 { font-size: 30px; font-size: 3.0rem; }

/* -- フォント色 -- */
.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 {
	color: #CD6668;
	vertical-align: baseline; text-decoration: underline; outline: 0; margin: 0; padding: 0; background: transparent;
	-webkit-transition: 0.4s color ease, 0.4s background ease, 0.4s opacity ease-out;
	-moz-transition: 0.4s color ease, 0.4s background ease, 0.4s opacity ease-out;
	transition: 0.4s color ease, 0.4s background ease, 0.4s opacity ease-out;
}
a:hover,
a:active { text-decoration: none; outline: none; }

/* -- ホバー時透過　単体：.fade　全体：.fadeAll -- */
.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; }
.text-center { text-align: center; }
.text-right  { text-align: right;  }
.text-left   { text-align: left;   }

/* -- inline-block -- */
.inline { letter-spacing: -0.4em; } 
.inline li { display: inline-block; letter-spacing: normal; }


/* マージン
------------------------------------------------------------*/
.mb00 { margin-bottom: 0; }
.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; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }


/* Editor style
------------------------------------------------------------*/
.editor-style h2,
.editor-style h3,
.editor-style h4 { position: relative; font-weight: bold; line-height: 1.35; }
.editor-style h2 { font-size: 24px; font-size: 2.4rem; color: #FFF; margin: 50px 0 40px; padding: 12px 20px 12px 60px; background: #870C0B; border-radius: 10px; }
.editor-style h2:before { position: absolute; top: 14px; left: 20px; content: ""; display: block; width: 28px; height: 28px; border: 2px solid #FFF; border-radius: 50%; box-sizing: border-box; }
.editor-style h3 { font-size: 22px; font-size: 2.2rem; margin: 68px 0 30px; padding: 12px 20px; background: #F6F6F6; border-width: 2px 0 2px 0; border-style: solid; border-color: #870C0B; }
/*.editor-style h3:before { position: absolute; top: -28px; left: 0; content: "POINT"; display: block; font-size: 12px; font-size: 1.2rem; color: #FFF; line-height: 28px; text-align: center; width: 62px; height: 28px; background: #870C0B; border-radius: 4px 4px 0 0; }*/
.editor-style h4 { font-size: 18px; font-size: 1.8rem; margin: 30px 0 20px; padding: 12px 20px; background: #F8F8F8; border-bottom: 3px solid #EEE; border-left: 5px solid #870C0B; border-radius: 6px; }

/* -- テーブル -- */
.editor-style table { margin-bottom: 1.5em; }
.editor-style table tr th,
.editor-style table tr td { vertical-align: middle; width: auto; height: auto; padding: 12px 20px; border: 1px solid #EEE; box-sizing: border-box; }
.editor-style table tr th { font-weight: bold; color: #FFF; text-align: center; width: 25%; background: #666; }
.editor-style table tbody tr:nth-of-type(odd)  td { background: #FFF; }
.editor-style table tbody tr:nth-of-type(even) td { background: #F6F6F6; }

/* -- リスト -- */
.editor-style ol,
.editor-style ul { margin-bottom: 1.5em; margin-left: 1.5em; }
.editor-style ol li,
.editor-style ul li { margin-bottom: 1.0em; }
.editor-style ol li:last-child,
.editor-style ul li:last-child { margin-bottom: 0; }
.editor-style ol { list-style: decimal; }
.editor-style ul { list-style: disc; }

/* -- 引用 -- */
.editor-style blockquote { position: relative; margin: 0 0 1.5em; padding: 20px; background: #F4F4F4; border-left: 2px solid #666; }
.editor-style blockquote p { font-size: 14px; font-size: 1.4rem; font-style: italic; margin: 0 0 12px; }
.editor-style blockquote p:last-of-type { margin: 0; }


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


/* フォームタグ
------------------------------------------------------------*/
input[type="text"], input[type="tel"], input[type="number"], input[type="email"], textarea, select {
	font-family: "Roboto", "YakuHanJP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic Medium", Yu Gothic Medium, "Yu Gothic", YuGothic, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "M+ 1p", sans-serif;
	font-size: 16px; font-size: 1.6rem; color: #333; line-height: 26px; vertical-align: middle; width: 100%; height: 50px; padding: 12px 20px;
	background-color: #F9F9F9; border: 1px solid #DDD; border-radius: 4px; box-sizing: border-box;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
textarea { line-height: 1.8; height: auto; }

/* -- SELECT -- */
select { padding-right: 42px; cursor: pointer; background-image: url(../img/page/select.png); background-repeat: no-repeat; background-position: -webkit-calc(100% - 20px) 50%; background-position: calc(100% - 20px) 50%; }
@media screen and (-webkit-min-device-pixel-ratio:2), (min-resolution: 2dppx) {
	select { background-image: url(../img/page/select@2x.png); background-size: 12px 10px; }
}

/* -- CHECKBOX -- */
span.wpcf7-list-item { display: block !important; margin: 0 !important; }
input[type="checkbox"] { display: none; }
label.checkbox { position: relative; display: inline-block; vertical-align: middle; line-height: 1.2; margin: 0 20px 12px 0; padding-left: 32px; cursor: pointer; }
label.checkbox::before,
label.checkbox::after { position: absolute; top: 0; bottom: 0; left: 0; content: ""; display: block; width: 22px; height: 22px; margin: auto; -webkit-transition: all 0.4s; -moz-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s; }
label.checkbox::before {
	background: -moz-linear-gradient(top, #FFFFFF 0%, #F2F2F2 100%);
	background: -webkit-linear-gradient(top, #FFFFFF 0%,#F2F2F2 100%);
	background: linear-gradient(to bottom, #FFFFFF 0%,#F2F2F2 100%);
	border: 1px solid #DDD; border-radius: 4px; box-sizing: border-box;
}
label.checkbox::after { top: -4px; left: 6px; width: 8px; height: 12px; border-width: 0 3px 3px 0; border-style: solid; border-color: #333; box-sizing: border-box; opacity: 0; transform: rotate(45deg); }
label.checkbox.active::after { opacity: 1; }

/* -- SUBMIT -- */
[type="submit"] {
	font-family: inherit;
	font-size: 18px; font-size: 1.8rem; font-weight: bold; color: #FFF; line-height: 60px;
	width: 100%; height: 60px; padding: 0; background: #333; border: none; border-radius: 4px; box-sizing: border-box;
	cursor: pointer;
	appearance: none;
	transition: 0.4s background ease;
}
[type="submit"]:hover {
	background-color: #555;
}
[type="submit"][disabled] { background: #BFBFBF; }