@charset "utf-8";
/* CSS Document */

/*------------------------

背景

------------------------*/

html {
	overflow: -moz-scrollbars-vertical;
}
body {
	background-color: #fff;
	word-wrap: break-word;
}

@media print {
body {
	width: 1280px;
	-webkit-transform: scale(0.8);
	-moz-transform: scale(0.8);
	transform: scale(0.8);
	transform-origin: 0 0;
}
}
.wrap {
	width: 1170px;
	margin: auto;
}

@media screen and (max-width: 1279px) {
.wrap {
	width: 980px;
	margin: auto;
}
}

@media screen and (max-width: 1023px) {
.wrap {
	width: 707px;
}
}

@media screen and (max-width: 767px) {
.wrap {
	width: 300px;
}
}
.content {
	padding: 30px 0;
	background-color: #ebeef2;
}

@media screen and (max-width: 767px) {
.content {
	padding: 15px 0;
}
}
.row-box {
	margin-bottom: 30px;
}
.box {
	width: 100%;
	margin-bottom: 30px;
}
.box:after {
	display: table;
	clear: both;
	content: "";
}

@media (max-width: 767px) {
.box {
	margin-bottom: 16px;
}
}
/*------------------------

フォーム

------------------------*/
input, textarea, select {
	padding: 10px 12px;
}
/*------------------------

テーブル

------------------------*/

table th, table td {
	padding: 1.65em;
	vertical-align: top;
	letter-spacing: 0;
}
table th {
	width: 154px;
}
table td {
	word-break: break-all;
}

@media only screen and (max-width: 767px) {
table th, table td {
	display: block;
	width: 100%;
	padding: 1em;
}
table th {
	display: block;
	width: 100%;
}
table td {
	padding: 1em 0;
}
}
/*------------------------

ボタン

------------------------*/

.button {
	position: relative;
	display: inline-block;
	padding: 24px 100px;
	transition: all 0.3s;
	text-align: center;
	text-decoration: none;
	border-radius: 10px;
	background-color: #009a5a;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}
.button::after {
	position: absolute;
	top: 50%;
	right: 0.5em;
	margin-top: -9px;
	content: "\e65d";
	font-family: "themify";
	font-size: 1.8rem;
	font-weight: bold;
}
.button2 {
	background-color: #79c813;
}


@media (min-width: 1025px) {
.button:hover {
	background-color: #FFCA3B;
}
}

@media only screen and (max-width: 767px) {
.button {
	display: block;
	width: 100%;
	padding: 24px 10px;
}
}
/*------------------------

リスト

------------------------*/
ul.list-left {
	margin: 0;
}
.list-left li {
	float: left;
	margin-right: 1em;
	list-style: none;
}
.list-left li:last-child {
	margin-right: 0;
}
.link li a {
	display: block;
	margin-left: 1em;
	text-decoration: none;
	text-indent: -1em;
}
.link li a:before {
	margin-right: 0.5em;
	content: "\f0da";
	color: #e60013;
	font: normal normal normal 14px/1 FontAwesome;
}
.list-mark li {
	position: relative;
}
.list-mark li::after {
	position: absolute;
	top: 0.6em;
	left: -1em;
	display: block;
	width: 6px;
	height: 6px;
	content: "";
	border-radius: 100%;
	background-color: #33b495;
}
.list-before li {
	display: block;
	padding-left: 2em;
	text-indent: -1em;
}
.list-before li:before {
	display: block;
	float: left;
	width: 1em;
	margin-right: 1em;
	margin-left: -1em;
	padding: 0;
	content: "\f061";
	text-align: center;
	color: #1e1e1e;
	font-family: "FontAwesome";
}
.list-after li {
	position: relative;
	padding-right: 15px;
}
.list-after li:after {
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -12px;
	content: "";
	color: #007f2d;
	font-family: "FontAwesome";
}
.list-centered ul {
	display: flex;
	margin: 0;
	list-style-type: none;
	justify-content: center;
}
.list-centered ul li {
	margin-left: 10px;
}
.list-centered ul li:first-child {
	margin-left: 0;
}

@media (max-width: 767px) {
.list-centered ul {
	flex-direction: column;
	flex-wrap: nowrap;
}
.list-centered ul li {
	margin-bottom: 10px;
	margin-left: 0;
}
.list-centered ul li:last-child {
	margin-bottom: 0;
}
}
.list-info {
	margin: 0 0 1em 1em;
}
.list-info li {
	display: block;
	padding-left: 1em;
	list-style-type: none;
	color: #f03c69;
	text-indent: -1em;
}
.list-info li:before {
	display: block;
	float: left;
	width: 1em;
	margin-right: 1em;
	margin-left: -1em;
	padding: 0;
	content: "※";
	text-align: center;
}
/*------------------------

画像

------------------------*/
img {
	vertical-align: bottom;
	border: 0;
}

@media (min-width: 1025px) {
a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-moz-opacity: 0.6;
}
}
img.left {
	margin-right: 1em;
}
img.right {
	margin-left: 1em;
}

@media (min-width: 660px) {
img {
	max-width: 100%;
}
}
/*------------------------

Typography

------------------------*/

a {
	color: #009a5a;
}
i {
	margin: 0 .5em 0 0;
	color: #009a5a;
}
em, i {
	font-style: normal;
}
.red {
	color: #ca1b28;
}
h1, .h1, h2, .h2, h3, .h3 {
	line-height: 1.61;
}
/*------------------------

フォントサイズ

------------------------*/

html {
	font-size: 62.5%;
}
body {
	color: #1e1e1e;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.61;
	font-feature-settings: "palt";
	letter-spacing: .05em;
}

@media (max-width: 767px) {
body {
	font-size: 1.6rem;
}
}
.font06 {
	font-size: 0.6rem;
}
.font07 {
	font-size: 0.7rem;
}
.font08 {
	font-size: 0.8rem;
}
.font09 {
	font-size: 0.9rem;
}
.font10 {
	font-size: 1.0rem;
}
.font11 {
	font-size: 1.1rem;
}
.font12 {
	font-size: 1.2rem;
}
.font13 {
	font-size: 1.3rem;
}
.font14 {
	font-size: 1.4rem;
}
.font15 {
	font-size: 1.5rem;
}
.font16 {
	font-size: 1.6rem;
}
.font17 {
	font-size: 1.7rem;
}
.font18 {
	font-size: 1.8rem;
}
.font19 {
	font-size: 1.9rem;
}
.font20 {
	font-size: 2.0rem;
}
.font21 {
	font-size: 2.1rem;
}
.font22 {
	font-size: 2.2rem;
}
.font23 {
	font-size: 2.3rem;
}
.font24 {
	font-size: 2.4rem;
}
.font25 {
	font-size: 2.5rem;
}
.font26 {
	font-size: 2.6rem;
}
.font27 {
	font-size: 2.7rem;
}
.font28 {
	font-size: 2.8rem;
}
.font29 {
	font-size: 2.9rem;
}
.font30 {
	font-size: 3.0rem;
}
.font31 {
	font-size: 3.1rem;
}
.font32 {
	font-size: 3.2rem;
}
/*------------------------

レイアウト

------------------------*/

.left {
	float: left;
}
.right {
	float: right;
}
.img-centered img {
	display: block;
	margin: 0 auto;
}
.btn-centered {
	text-align: center;
}
.text-centered {
	text-align: center;
}

@media screen and (max-width: 767px) {
.row.gutters .col:last-child {
	margin-bottom: 0;
}
}

@media screen and (max-width: 1023px) {
.row.mobile-50 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.mobile-50 .col-3, .mobile-50 .col-4, .mobile-50 .col-6 {
	width: 50%;
}
.row.gutters.mobile-50, .row.gutters.mobile-50 > .row {
	margin-left: -2%;
}
.row.gutters.mobile-50 > .col, .row.gutters.mobile-50 > .row > .col {
	margin-bottom: 0;
	margin-left: 2%;
}
.row.gutters.mobile-50 > .col-3, .row.gutters.mobile-50 > .col-4 {
	width: calc(50% - 2%);
}
.row.mobile-33 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.mobile-33 .col-3, .mobile-33 .col-4, .mobile-33 .col-6 {
	width: 33.33333%;
}
}

@media screen and (max-width: 767px) {
.mobile-50 .col-6 {
	width: 100%;
}
.w5, .w10, .w15, .w20, .w25, .w30, .w35, .w40, .w45, .w50, .w55, .w60, .w65, .w70, .w75, .w80, .w85, .w90, .w95 {
	width: 100%;
}
}
/*------------------------

Blocks

------------------------*/

.blocks-2, .blocks-3, .blocks-4, .blocks-5, .blocks-6 {
	margin-left: -2%;
	padding-left: 0;
	list-style: none;
}
.blocks-2:after, .blocks-3:after, .blocks-4:after, .blocks-5:after, .blocks-6:after {
	display: table;
	clear: both;
	content: "";
}
.blocks-2:after, .blocks-3:after, .blocks-4:after, .blocks-5:after, .blocks-6:after {
	display: table;
	clear: both;
	content: "";
}
.blocks-2 > li, .blocks-3 > li, .blocks-4 > li, .blocks-5 > li, .blocks-6 > li {
	float: left;
	height: auto;
	margin-bottom: 10px;
	margin-left: 2%;
}
.blocks-2 > li ul, .blocks-3 > li ul, .blocks-4 > li ul, .blocks-5 > li ul, .blocks-6 > li ul {
	list-style-type: disc;
}
.blocks-2 > li ul ul, .blocks-3 > li ul ul, .blocks-4 > li ul ul, .blocks-5 > li ul ul, .blocks-6 > li ul ul {
	list-style-type: circle;
}
.blocks-2 > li li, .blocks-3 > li li, .blocks-4 > li li, .blocks-5 > li li, .blocks-6 > li li {
	float: none;
	margin: 0;
}
.blocks-2 > li {
	width: 48%;
}
.blocks-3 > li {
	width: 31.33333333333333%;
}
.blocks-4 > li {
	width: 23%;
}
.blocks-5 > li {
	width: 18%;
}
.blocks-6 > li {
	width: 13.66666666666667%;
}
.block-first {
	clear: both;
}

@media only screen and (max-width: 1023px) {
.blocks-2 > li, .blocks-3 > li, .blocks-4 > li, .blocks-5 > li, .blocks-6 > li {
	width: 100%;
}
}
/*------------------------

余白

------------------------*/

.mt05 {
	margin-top: 5px;
}
.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt70 {
	margin-top: 70px;
}
.mt100 {
	margin-top: 100px;
}
.mt_20 {
	margin-top: -20px;
}
.mtb05 {
	margin-top: 5px;
	margin-bottom: 5px;
}
.mtb10 {
	margin-top: 10px;
	margin-bottom: 10px;
}
.mtb15 {
	margin-top: 15px;
	margin-bottom: 15px;
}
.mtb20 {
	margin-top: 20px;
	margin-bottom: 20px;
}
.mtb30 {
	margin-top: 30px;
	margin-bottom: 30px;
}
.mb05 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.ml05 {
	margin-left: 5px;
}
.ml10 {
	margin-left: 10px;
}
.ml20 {
	margin-left: 20px;
}
.ml30 {
	margin-left: 30px;
}
.mr05 {
	margin-right: 5px;
}
.mr10 {
	margin-right: 10px;
}
.pt40 {
	padding-top: 40px;
}
/*------------------------

表示・非表示

------------------------*/

br.sp_only {
	display: none;
}

@media (max-width: 1023px) {
br.sp_only {
	display: block;
}
}
.hidden {
	display: none;
	visibility: hidden;
}
.visible-phone {
	display: none !important;
}
.visible-tablet {
	display: none !important;
}
.hidden-desktop {
	display: none !important;
}
.visible-desktop {
	display: inline-block !important;
}

@media (min-width: 660px) and (max-width: 979px) {
.hidden-desktop {
	display: inherit !important;
}
.visible-desktop {
	display: none !important;
}
.visible-tablet {
	display: inherit !important;
}
.hidden-tablet {
	display: none !important;
}
}

@media (max-width: 667px) {
.hidden-desktop {
	display: inherit !important;
}
.visible-desktop {
	display: none !important;
}
.visible-phone {
	display: inherit !important;
}
.hidden-phone {
	display: none !important;
}
}
/*------------------------

clearfix

------------------------*/

.clearfix:before, .clearfix:after {
	display: block;
	overflow: hidden;
	height: 0;
	content: ".";
}
.clearfix:after {
	clear: both;
}
