@charset "utf-8";
 /* -- 必要に応じてカラムを変更してください -- */
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.0.0/dist/css/yakuhanjp.min.css');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.0.0/dist/css/yakuhanmp.min.css');
@import url('https://fonts.googleapis.com/css?family=Lato:400,700');
@import url('https://fonts.googleapis.com/css?family=Lora:400,700');
@import url('https://use.fontawesome.com/releases/v5.0.13/css/all.css');


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


/* フォント設定
------------------------------------------------------------*/
@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;
}
html{ font-size: 10px; }
body{ font-size: 16px; font-size: 1.6rem; line-height: 1; }
body{ font-family: "Lato", "YakuHanJP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "M+ 1p", sans-serif; color: #555; background: #FAF9F5; }
h1, h2, h3, h4, h5, h6 { font-family: "Lato", "YakuHanJP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "M+ 1p", sans-serif; }
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; }

/* -- 明朝体 -- */
@font-face {
    font-family: "Noto Serif JP";
    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 JP";
    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 JP";
    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 JP";
    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 JP";
    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 JP";
    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: "Lora", "YakuHanMP", Times New Roman, "Noto Serif JP", "Yu Mincho Medium", YuMincho Medium, "YuMincho", YuMincho, "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , "MSP明朝","MS PMincho","MS 明朝",serif; }


/* リンク設定
------------------------------------------------------------*/
a {
	color: #468F1F;
	vertical-align: baseline; text-decoration: underline; outline: 0; margin: 0; padding: 0; background: transparent;
	-webkit-transition: 0.4s color ease, 0.4s border-color ease, 0.4s background ease, 0.4s opacity ease-out;
	-moz-transition: 0.4s color ease, 0.4s border-color ease, 0.4s background ease, 0.4s opacity ease-out;
	transition: 0.4s color ease, 0.4s border-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: 10px auto; }
img.alignright, img.alignleft{ display: inline; margin: 0 0 10px 20px; }
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 デフォルトはvertical-align: bottom;なので必要に応じて変更してください -- */
.inline { letter-spacing: -1em; } 
.inline li { display: inline-block; letter-spacing: normal; }

/* -- キャプション -- */
.wp-caption { text-align: center; margin: 20px 0; clear: both; } 
.wp-caption img { display: inline-block; padding: 10px; background: #FFF; border: 1px solid #EEE; }
.wp-caption p.wp-caption-text { font-size: 13px; font-size: 1.3rem; line-height: 1.5; margin: 10px 0 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; }


/* Clearfix
------------------------------------------------------------*/
.cf:before,
.cf:after { content: ""; display: table; line-height: 0; }
.cf:after { clear: both; }


/* フォームタグ
------------------------------------------------------------*/
input[type="text"], input[type="tel"], input[type="number"], input[type="email"], input[type="password"], textarea {
	font-family: "Lato", "YakuHanJP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "M+ 1p", sans-serif;
	font-size: 16px; font-size: 1.6rem; color: #333; line-height: 44px; vertical-align: middle; width: 100%; height: 44px; padding: 0 10px;
	background: #FFF; border: 1px solid #EEE; border-radius: 2px; box-sizing: border-box;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
textarea { line-height: 1.8; height: 200px; }

/* -- SELECT -- */
select {
	font-family: "Lato", "YakuHanJP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "M+ 1p", sans-serif;
	font-size: 16px; font-size: 1.6rem; color: #333; line-height: 44px; vertical-align: middle; width: 100%; max-width: 330px; height: 44px; padding: 0 28px 0 10px; cursor: pointer; background: #FFF url(../img/select.png) no-repeat; background-position: calc(100% - 10px) 50%; border: 1px solid #EEE; border-radius: 2px; box-sizing: border-box;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	select { background-image: url(../img/select@2x.png); background-size: 8px 17px; }
}

/* -- Contact Form 7 -- */
span.wpcf7-list-item { margin: auto !important; }

/* -- width -- */
.w2 { max-width: 80px; margin-right: 5px; }

/* -- CHECKBOX -- */
input[type="checkbox"] { display: none; }
label.checkbox {
	position: relative; display: inline-block; vertical-align: middle; line-height: 30px; margin: 0 0 10px; padding: 0 0 0 40px; cursor: pointer;
	-webkit-transition: all 0.4s; -moz-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s;
}
label.checkbox::before,
label.checkbox::after { position: absolute; top: 50%; content: ""; -webkit-transition: all 0.4s; -moz-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s; }
label.checkbox::before { left: 0; width: 30px; height: 30px; margin: -15px 0 0; background: #FFF; border: 2px solid #DDD; box-sizing: border-box; }
label.checkbox::after {
	left: 10px; width: 8px; height: 4px; margin: -4px 0 0; border-left: 2px solid #3F8F2F; border-bottom: 2px solid #3F8F2F;
	opacity: 0; filter: alpha(opacity=0); -webkit-transform: rotate(-45deg) scale(.5); transform: rotate(-45deg) scale(.5);
}
label.checkbox:hover::before { background: #EEE; }
label.checkbox.active::before { background: #FFF; border: 2px solid #3F8F2F; }
label.checkbox.active::after { opacity: 1; filter: alpha(opacity=100); -webkit-transform: rotate(-45deg) scale(1); transform: rotate(-45deg) scale(1); }

/* -- RADIO -- */
input[type="radio"] { display: none; }
label.radio { position: relative; display: inline-block; vertical-align: middle; line-height: 18px; margin: 0 20px 10px 0; padding: 0 0 0 30px; cursor: pointer; }
label.radio::before,
label.radio::after  { position: absolute; top: 0; bottom: 0; content: ""; display: block; margin: auto; border-radius: 50%; -webkit-transition: all 0.4s; -moz-transition: all 0.4s; -o-transition: all 0.4s; transition: all 0.4s; }
label.radio::before { left: 0; width: 16px; height: 16px; background: #FFF; border: 2px solid #EEE; }
label.radio::after  { left: 6px; width: 8px; height: 8px; background: #3F8F2F; opacity: 0; }
label.radio.active::after  { opacity: 1.0; }

/* -- SUBMIT -- */
input[type="submit"] {
	font-family: "Lato", "YakuHanJP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "M+ 1p", sans-serif;
	font-size: 18px; font-size: 1.8rem; font-weight: bold; color: #FFF; width: 100%; padding: 20px 30px; cursor: pointer;
	background: #E16565; border: none; border-right: 1px solid #DA4141; border-bottom: 1px solid #DA4141; border-radius: 2px;
	-webkit-transition: 0.4s background ease; -moz-transition: 0.4s background ease; transition: 0.4s background ease;
	-moz-appearance: none; -webkit-appearance: none; appearance: none;
}
input[type="submit"]:hover { background: #DA4141; }
input[type="submit"][disabled] { color: #888; background: #CCC; border-right-color: #AAA; border-bottom-color: #AAA; }

/* -- PLACEHOLDER --*/
input::-webkit-input-placeholder { color: #BBB; }
input:-ms-input-placeholder { color: #BBB; }
input::-moz-placeholder { color: #BBB; }


/* 見出し設定
------------------------------------------------------------*/
.content { line-height: 1.75; }
.content > *:first-child { margin-top: 0; }
.content > *:last-child  { margin-bottom: 0; }
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 { margin: 2.0em 0 1.5em; }
.content > h2:first-child,
.content > h3:first-child,
.content > h4:first-child,
.content > h5:first-child,
.content > h6:first-child { margin-top: 0; }
.content h1 { position: relative; font-size: 22px; font-size: 2.2rem; font-weight: bold; color: #222; line-height: 1.35; padding: 20px 0 0; }
.content h1:before {
	position: absolute; top: 0; left: 0; content: ""; display: block; width: 110px; height: 2px;
	background: -webkit-linear-gradient(left, #468F1F 70%, #E16565 30%);
	background: -moz-linear-gradient(left, #468F1F 70%, #E16565 30%);
	background: linear-gradient(to right, #468F1F 70%, #E16565 30%);
}
.content h2 { position: relative; font-size: 20px; font-size: 2.0rem; font-weight: bold; color: #222; line-height: 1.35; padding: 10px 0 10px 60px; background: #EFFAE9; border-top: 1px solid #468F1F; border-bottom: 1px solid #468F1F; }
.content h2:before,
.content h2:after  { position: absolute; display: block; margin: auto; }
.content h2:before { top: 0; left: 0; content: ""; width: 50px; height: 100%; background: #468F1F; }
.content h2:after  { top: 50%; left: 14px; content: "\f00c"; font-family: "Font Awesome 5 Free"; font-weight: bold; color: #FFF; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); }
.content h3 { position: relative; font-size: 18px; font-size: 1.8rem; font-weight: bold; color: #FFF; line-height: 1.35; padding: 10px 20px; background: #7CD342; border-radius: 2px; }
.content h3:before { position: absolute; bottom: -10px; left: 30px; content: ""; border-width: 10px 10px 0 10px; border-style: solid; border-color: transparent; border-top-color: #7CD342; }
.content h4 { font-size: 16px; font-size: 1.6rem; font-weight: bold; color: #689f38; line-height: 1.35; padding: 10px 20px; background: #F0F7E9; border-top: solid 1px #7CD342; }
.content h5 { font-size: 14px; font-size: 1.4rem; font-weight: bold; color: #6DB223; line-height: 1.35; padding: 7px 0 7px 15px; background: #F0F7E9; border-left: 5px solid #7CB342; } 
.content h6 { font-size: 12px; font-size: 1.2rem; font-weight: bold; color: #468F1F; line-height: 1.35; }

@media screen and (min-width: 768px) {
	.content h1 { font-size: 26px; font-size: 2.6rem; }
	.content h2 { font-size: 24px; font-size: 2.4rem; }
	.content h3 { font-size: 22px; font-size: 2.2rem; }
	.content h4 { font-size: 20px; font-size: 2.0rem; }
	.content h5 { font-size: 18px; font-size: 1.8rem; }
	.content h6 { font-size: 16px; font-size: 1.6rem; }
}


/* リスト設定
------------------------------------------------------------*/
.content ul { margin: 0 0 1.5em; }
.content ul li { position: relative; margin: 0 0 1.0em; padding-left: 18px; }
.content ul li:last-child { margin: 0; }
.content ul li:before { position: absolute; top: 0.65em; left: 0; content: ""; display: block; width: 8px; height: 8px; margin: auto; background: #555; border-radius: 50%; }
.content ol { margin: 0 0 1.5em; }
.content ol li { position: relative; counter-increment: number; margin: 0 0 1.0em; padding-left: 34px; }
.content ol li:before { position: absolute; top: 0; left: 0; content: counter(number); display: block; font-size: 13px; font-size: 1.3rem; font-weight: bold; color: #468F1F; line-height: 24px; text-align: center; width: 22px; height: 22px; background: #FFF; border: 1px solid; }


/* テーブル設定
------------------------------------------------------------*/
.content table { margin: 0 0 1.5em; border: 2px solid #DDD; }
.content table tr { height: auto !important; }
.content table tr th,
.content table tr td { line-height: 1.35; vertical-align: middle; height: auto !important; padding: 10px 15px; border: 1px solid #EEE; box-sizing: border-box; }
.content table tr th { position: relative; font-weight: bold; background: #F6F6F6; }
.content table tr th span { position: absolute; top: 0; right: 20px; bottom: 0; display: block; font-size: 12px; font-size: 1.2rem; font-weight: bold; color: #FFF; line-height: 20px; text-align: center; width: 40px; height: 20px; margin: auto; background: #E16565; border-radius: 2px; }
.content table tr td { background: #FFF; }


/* clear
------------------------------------------------------------*/
.content hr { content: ""; display: table; margin: 0; border: none; clear: both; }


/* Shortcodes by Angie Makes 
------------------------------------------------------------*/
.wcs-tabs-nav li:before { display: none !important; }
.wcs-tabs-nav li a { font-weight: bold; color: #222; text-decoration: none; }


/* iframe
------------------------------------------------------------*/
.content .iframe { position: relative; margin-bottom: 1.5em; padding-top: 56.25%; overflow: hidden; }
.content .iframe iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
@media screen and (min-width: 768px) {
	.content .iframe { width: 640px; height: 360px; padding-top: 0; margin-right: auto; margin-left: auto; }
}