@charset "utf-8";

@import url("editor-style.css");

/* -- 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 { 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: 15px; font-size: 1.5rem; line-height: 1; }
@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: #333; background: #F6F6F6; -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: #22B24B;
	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 border-color ease, 0.4s opacity ease-out;
	-moz-transition: 0.4s color ease, 0.4s background ease, 0.4s border-color ease, 0.4s opacity ease-out;
	transition: 0.4s color ease, 0.4s background ease, 0.4s border-color 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: 1.5em auto; }
img.alignright, img.alignleft { margin: 0 0 10px 20px; display: inline; }
img.alignleft{ margin: 0 20px 10px 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; }
.mb70 { 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:first-child,
.editor-style h3:first-child,
.editor-style h4:first-child {
	margin-top: 0;
}
.editor-style h2:last-child,
.editor-style h3:last-child,
.editor-style h4:last-child {
	margin-bottom: 0;
}

/* -- H2 -- */
.editor-style h2 { font-size: 24px; font-size: 2.4rem; margin: 50px 0 40px; padding: 14px 0 14px 34px; background: url("../img/page/h2.png") no-repeat 0 50%; border-bottom: 4px solid #DDD; box-shadow: inset 0 -1px 0 #CCC; }
.editor-style h2:before,
.editor-style h2:after  { position: absolute; bottom: -4px; left: 0; content: ""; display: block; height: 4px; }
.editor-style h2:before { width: 42px; background: #FFF; }
.editor-style h2:after  { width: 8px; background: #EE1C23; }

/* -- H3 -- */
.editor-style h3 { font-size: 22px; font-size: 2.2rem; color: #FFF; margin: 40px 0 30px; padding: 12px 10px 12px 24px; background: rgba(37,68,120,0.64); }
.editor-style h3:before { position: absolute; top: 0; bottom: 0; left: 8px; content: ""; display: block; width: 4px; height: 60%; margin: auto; background: #FFF; }

/* -- H4 -- */
.editor-style h4 { font-size: 18px; font-size: 1.8rem; color: #222; margin: 30px 0 20px; padding-left: 26px; }
.editor-style h4:before { position: absolute; top: 0; bottom: 0; left: 0; content: ""; display: block; width: 20px; height: 20px; margin : auto; background: #222; }

/* -- リスト -- */
.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 table { table-layout: fixed; width: 100%; margin-bottom: 1.5em; overflow-x: auto; }
.editor-style table tr th,
.editor-style table tr td { width: 25%; vertical-align: middle; padding: 12px; box-sizing: border-box; border: 1px solid #DDD; }
.editor-style table tr th { font-weight: bold; color: #FFF; background: #333; }
.editor-style table tr:nth-of-type(odd) td { background: #F6F6F6; }

/* -- 区切り線 -- */
.editor-style hr { width: 100%; border-style: dashed; border-color: #DDD; }

/* -- 引用 -- */
.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; }

/* -- ホバー動作（画像） -- */
.editor-style a img {
	-webkit-transition: 0.4s all ease-out;
	-o-transition: 0.4s all ease-out;
	transition: 0.4s all ease-out;
}
.editor-style a:hover img {
	opacity: 0.6;
}

/* -- iframe -- */
.iframe {
	position: relative;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}
.iframe iframe {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%;
}


/* 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: 32px; vertical-align: middle; width: 100%; height: 44px; padding: 5px 10px;
	background: #F6F6F6; border: 1px solid #EEE; border-radius: 6px; box-sizing: border-box;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
textarea { line-height: 1.6; height: 300px; }

/* -- Select -- */
select { font-weight: bold; color: #254478; line-height: 30px; padding-right: 34px; background-color: #FFF; background-image: url("../img/select.png"); background-repeat: no-repeat; background-position: -webkit-calc(100% - 10px) 50%; background-position: calc(100% - 10px) 50%; border: 2px solid #254478; border-radius: 0; cursor: pointer; }
@media screen and (-webkit-min-device-pixel-ratio:2), (min-resolution: 2dppx){
	select { background-image: url("../img/select@2x.png"); background-size: 14px 14px; }
}

/* -- Radio -- */
input[type="radio"] { display: none; }
input[type="radio"] + span { position: relative; display: block; padding-left: 30px; cursor: pointer; -webkit-transition: 0.4s all ease-out; -o-transition: 0.4s all ease-out; transition: 0.4s all ease-out; }
input[type="radio"] + span:before,
input[type="radio"] + span:after  { position: absolute; top: 0; bottom: 0; content: ""; margin: auto; border-radius: 50%; box-sizing: border-box; }
input[type="radio"] + span:before { left: 0; width: 20px; height: 20px; background: #F6F6F6; border: 2px solid #EEE; -webkit-transition: 0.4s border ease; -moz-transition: 0.4s border ease; transition: 0.4s border ease; }
input[type="radio"] + span:after  { left: 5px; width: 10px; height: 10px; background: #254478; opacity: 0; -webkit-transition: 0.4s opacity ease; -moz-transition: 0.4s opacity ease; transition: 0.4s opacity ease; }
input[type="radio"]:checked + span:before { border-color: #254478; }
input[type="radio"]:checked + span:after  { opacity: 1.0; }

/* -- Checkbox -- */
input[type="checkbox"] { display: none; }
input[type="checkbox"] + span { position: relative; display: block; padding-left: 30px; cursor: pointer; -webkit-transition: 0.4s all ease-out; -o-transition: 0.4s all ease-out; transition: 0.4s all ease-out; }
input[type="checkbox"] + span:before,
input[type="checkbox"] + span:after  { position: absolute; top: 0; bottom: 0; content: ""; margin: auto; box-sizing: border-box; -webkit-transition: 0.4s all ease-out; -moz-transition: 0.4s all ease-out; transition: 0.4s all ease-out; }
input[type="checkbox"] + span:before { left: 0; width: 20px; height: 20px; background: #F6F6F6; border: 2px solid #EEE; }
input[type="checkbox"] + span:after  {
	left: 5px; width: 5px; height: 10px; border-width: 0 3px 3px 0; border-style: solid; border-color: #254478; opacity: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
input[type="checkbox"]:checked + span:before { border-color: #254478; }
input[type="checkbox"]:checked + span:after  { opacity: 1.0; }

/* -- Submit -- */
input[type="submit"],
input[type="button"] {
	font-family: inherit;
	font-size: 20px; font-size: 2.0rem; font-weight: bold; color: #FFF; line-height: 80px; cursor: pointer;
	width: 100%; height: 80px; padding: 0; background: #EE1C23; border: none; border-radius: 6px; box-sizing: border-box;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	-webkit-transition: 0.4s opacity ease; -moz-transition: 0.4s opacity ease; transition: 0.4s opacity ease;
}
input[type="submit"]:hover,
input[type="button"]:hover { opacity: 0.6; }

/* -- Contact form 7 -- */
.wpcf7-form dl div { margin: 0 0 30px; }
.wpcf7-form dl div dt { font-weight: bold; margin: 0 0 12px; }
.wpcf7-form dl div dt span { display: inline-block; font-size: 12px; font-size: 1.2rem; color: #FFF; line-height:  22px; text-align: center; vertical-align: middle; width: 44px; height: 22px; margin-left: 10px; background: #EE1C23; border-radius: 4px; }
.wpcf7-form dl div dd span.wpcf7-list-item { margin: 0 1em 0 0; }