@charset "UTF-8";
/* --------------------
Foundation
---------------------*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* Reset */
* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	background: transparent;
	font-weight: inherit;
	font-size: inherit;
	font-style: inherit;
	-webkit-tap-highlight-color: transparent;
}

article,
aside,
details,
figcaption,
figure,
main,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

/* Normal style */
sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

em,
strong {
	font-weight: bold;
}

@font-face {
	font-family: 'sonpo-icons';
	font-display: swap;
	src: url('/assets_cms/fonts/sonpo-icons.ttf') format('truetype'), url('/assets_cms/fonts/sonpo-icons.woff') format('woff'), url('/assets_cms/fonts/sonpo-icons.svgsonpo-icons') format('svg');
	font-weight: normal;
	font-style: normal;
}

.icon,
.icon-search,
.icon-blank,
.icon-caution,
.icon-info,
.icon-q,
.icon-q_sq,
.icon-lang,
.icon-home,
.icon-check,
.icon-excel,
.icon-word,
.icon-pp,
.icon-pdf,
.icon-close,
.icon-plus,
.icon-minus,
.icon-chevron_down,
.icon-chevron_left,
.icon-chevron_right,
.icon-chevron_up,
.icon-circle_left,
.icon-circle_right,
.icon-sitemap {
	font-family: 'sonpo-icons' !important;
	speak: none;
	font-style: normal;
	font-size: inherit;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	color: inherit;
}

.icon-search:before {
	content: '';
}

.icon-blank {
	color: #039a75;
}

.icon-blank:before {
	content: '';
}

.icon-caution {
	color: #c3001c;
}

.icon-caution:before {
	content: '';
}

.icon-info:before {
	content: '';
}

.icon-q {
	color: #039a75;
}

.icon-q:before {
	content: '';
}

.icon-q_sq {
	color: #039a75;
}

.icon-q_sq:before {
	content: '';
}

.icon-lang:before {
	content: '';
}

.icon-home:before {
	content: '';
}

.icon-check {
	color: #039a75;
}

.icon-check:before {
	content: '';
}

.icon-excel {
	color: #61a844;
}

.icon-excel:before {
	content: '';
}

.icon-word {
	color: #128bc9;
}

.icon-word:before {
	content: '';
}

.icon-pp {
	color: #e34e37;
}

.icon-pp:before {
	content: '';
}

.icon-pdf {
	color: #c3001c;
}

.icon-pdf:before {
	content: '';
}

.icon-close:before {
	content: '';
}

.icon-plus:before {
	content: '';
}

.icon-minus:before {
	content: '';
}

.icon-chevron_down:before {
	content: '';
}

.icon-chevron_left:before {
	content: '';
}

.icon-chevron_right:before {
	content: '';
}

.icon-chevron_up:before {
	content: '';
}

.icon-circle_left:before {
	content: '';
}

.icon-circle_right {
	color: #039a75;
}

.icon-circle_right:before {
	content: '';
}

.icon-sitemap:before {
	content: '';
}

/* basics */
html {
	font-size: 62.5%;
	background-color: #fff;
}

body {
	font-size: 1.6rem;
	line-height: 1.5;
	font-family: "Noto Sans JP", "ヒラギノ角ゴシック", Hiragino Sans, "MS Pゴシック", sans-serif;
	letter-spacing: 0em;
	color: #222;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.fixed {
	width: 100%;
	position: fixed;
}

a {
	text-decoration: none;
	color: #039a75;
}

img {
	width: 100%;
	vertical-align: top;
}

/*--------------------
	Components
---------------------*/
/* svg icon */
.svgicon,
.svgicon-check_sq {
	display: inline-block;
	margin-top: -0.25em;
	vertical-align: middle;
	line-height: 1;
	speak: none;
}

.svgicon::before,
.svgicon-check_sq::before {
	content: '';
	display: block;
	width: 1.1em;
	height: 1.1em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.svgicon-check_sq::before {
	background-image: url(/assets_cms/images/icon-check_sq.svg);
}

/*----------
	text
----------*/
/* text component */
.c-text,
.c-text--point,
.c-text--data {
	font-size: 1.4rem;
	line-height: 1.8;
	color: #222;
}

.c-text--point {
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5;
}

.c-text--data {
	font-weight: bold;
	font-size: 3.2rem;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.c-text,
	.c-text--point,
	.c-text--data {
		font-size: 1.6rem;
	}
	.c-text--point {
		font-size: 2rem;
	}
}

/* text utility set */
.txt,
.txt-lg,
.txt-sm,
.txt-strong,
.txt-caution,
.txt-remark,
.txt-scale {
	font-size: 1.6rem;
	line-height: 1.8;
	color: #222;
}

.txt-lg {
	font-size: 1.8rem;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.txt-lg {
		font-size: 2.4rem;
	}
}

.txt-sm {
	font-size: 1.4rem;
}

.txt-strong {
	font-weight: bold;
	line-height: 1.5;
}

.txt-caution {
	font-weight: bold;
	line-height: 1.5;
	color: #c3001c;
}

.txt-remark {
	font-size: 1.2rem;
	line-height: 1.5;
	color: #666;
}

.txt-scale {
	font-size: 1.4rem;
}

@media (min-width: 768px) {
	.txt-scale {
		font-size: 1.6rem;
	}
}

/* text modifier */
.txt--sm {
	font-size: 1.4rem !important;
}

.txt--md {
	font-size: 1.6rem !important;
}

.txt--lg {
	font-size: 1.8rem !important;
}

.txt--xlg {
	font-size: 2rem !important;
}

.txt--bold {
	font-weight: bold !important;
}

.txt--keyc {
	color: #039a75 !important;
}

/* 文中リンク */
@media (min-width: 768px) {
	[class^='txt'] a:hover,
	[class*=' txt'] a:hover,
	[class^='c-txt'] a:hover,
	[class*=' c-txt'] a:hover,
	.txt-link:hover {
		text-decoration: underline;
	}
}

/* icon text */
.c-icontext,
.c-icontext--innerlink {
	padding-left: 1.4em;
	font-size: 1.4rem;
	line-height: 1.8;
	color: #222;
}

.c-icontext [class*='icon-'],
.c-icontext--innerlink [class*='icon-'],
.c-icontext [class*='svgicon-'],
.c-icontext--innerlink [class*='svgicon-'] {
	height: 1.2em;
	width: 1.2em;
	margin-right: 0.2em;
	margin-left: -1.4em;
	display: inline-block;
	vertical-align: middle;
}

.c-icontext a,
.c-icontext--innerlink a {
	color: #222;
}

.c-icontext--innerlink .icon-circle_right {
	color: #039a75;
}

@media (min-width: 768px) {
	.c-icontext,
	.c-icontext--innerlink {
		font-size: 1.6rem;
	}
	.c-icontext a,
	.c-icontext--innerlink a {
		transition: color 0.2s linear;
	}
	.c-icontext a:hover,
	.c-icontext--innerlink a:hover {
		color: #039a75;
	}
	.c-icontext--innerlink {
		font-size: 2rem;
	}
}

/* heading */
.c-heading--prim .c-heading__inner {
	font-size: 2.4rem;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.c-heading--prim .c-heading__inner {
		font-size: 3.6rem;
	}
}

.c-heading--seco {
	position: relative;
	padding-left: 25px;
}

.c-heading--seco::before {
	content: '';
	display: block;
	width: 4px;
	height: 100%;
	border-left: 3px solid #039a75;
	border-right: 3px solid #f48a3f;
	position: absolute;
	top: 0;
	left: 0;
}

.c-heading--seco .c-heading__inner {
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.c-heading--seco .c-heading__inner {
		font-size: 3rem;
	}
}

.c-heading--tert {
	border-bottom: 2px solid #ddd;
	position: relative;
}

.c-heading--tert::after {
	content: '';
	display: block;
	width: 90px;
	height: 2px;
	position: absolute;
	bottom: -2px;
	left: 0;
	background-color: #039a75;
}

.c-heading--tert .c-heading__inner {
	padding-bottom: 6px;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5;
	color: #039a75;
}

@media (min-width: 768px) {
	.c-heading--tert .c-heading__inner {
		padding-bottom: 13px;
		font-size: 2.6rem;
	}
}

.c-heading--quat {
	position: relative;
	padding-left: 20px;
	background-color: #f3f3f3;
}

.c-heading--quat::before {
	content: '';
	display: block;
	width: 3px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #039a75;
}

.c-heading--quat .c-heading__inner {
	padding-top: 5px;
	padding-bottom: 5px;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.5;
}

.c-heading--quin {
	position: relative;
	padding-left: 25px;
}

.c-heading--quin::before {
	content: '';
	display: block;
	width: 15px;
	height: 4px;
	border-top: 3px solid #039a75;
	border-bottom: 3px solid #f48a3f;
	position: absolute;
	top: 0.6em;
	left: 0;
}

.c-heading--quin .c-heading__inner {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.8;
}

/* list */
.c-list li {
	padding-left: 1em;
	position: relative;
	font-size: 1.4rem;
}

.c-list li::before {
	content: '';
	display: block;
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	position: absolute;
	top: 0.8em;
	left: 0;
	background-color: #039a75;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.c-list li + li {
	margin-top: 6px;
}

@media (min-width: 768px) {
	.c-list li {
		font-size: 1.6rem;
	}
	.c-list li::before {
		width: 0.8rem;
		height: 0.8rem;
	}
}

.c-ordered li {
	padding-left: 2.2em;
	position: relative;
	font-size: 1.4rem;
}

.c-ordered li + li {
	margin-top: 6px;
}

.c-ordered__no {
	position: absolute;
	top: 0.1em;
	left: 0;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1;
}

@media (min-width: 768px) {
	.c-ordered li {
		font-size: 1.6rem;
	}
	.c-ordered__no {
		top: 0.23em;
	}
}

.c-tag,
.c-tag--kc {
	display: inline-block;
	vertical-align: top;
}

.c-tag > span,
.c-tag--kc > span,
.c-tag > a,
.c-tag--kc > a {
	display: block;
	padding: 3px 6px;
	border: 1px solid #ddd;
	background-color: #fff;
	font-size: 1.1rem;
	line-height: 1.2;
	color: #222;
}

.c-tag--kc > span,
.c-tag--kc > a {
	border-color: #039a75;
	color: #039a75;
}

@media (min-width: 768px) {
	.c-tag a,
	.c-tag--kc a {
		cursor: pointer;
		transition: border-color 0.2s linear, background-color 0.2s linear, color 0.2s linear;
	}
	.c-tag a:hover,
	.c-tag--kc a:hover {
		border-color: #039a75;
		background-color: #f1f9f7;
		color: #039a75;
	}
	.c-tag--kc a:hover {
		background-color: #039a75;
		color: #fff;
	}
}

.c-tag-container {
	margin-top: -8px;
	margin-left: -8px;
}

.c-tag-container [class*='c-tag'] {
	margin-left: 8px;
	margin-top: 8px;
}

.c-deflist {
	border-top: 1px dashed #ddd;
}

.c-deflist > dl {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.c-deflist > dl > dt {
	width: 33.84615%;
	flex: 0 0 33.84615%;
	margin-right: 6.15385%;
	padding: 15px 0;
}

.c-deflist > dl > dd {
	width: 60%;
	flex: 0 0 60%;
	padding: 15px 0;
}

@media (min-width: 768px) {
	.c-deflist > dl > dt {
		width: 18.66667%;
		flex: 0 0 18.66667%;
		margin-right: 2.66667%;
	}
	.c-deflist > dl > dd {
		width: 78.66667%;
		flex: 0 0 78.66667%;
	}
}

.c-halftable {
	display: flex;
	flex-wrap: wrap;
	margin-left: -4%;
}

.c-halftable .c-halftable__item {
	width: 46%;
	max-width: 46%;
	flex: 0 1 46%;
	margin-left: 4%;
	margin-top: 0px;
}

.c-halftable .c-halftable__item:nth-child(-n + 2) {
	margin-top: 0;
}

@media (min-width: 768px) {
	.c-halftable__item > dl > dt {
		width: 35%;
		flex-basis: 35%;
	}
	.c-halftable__item > dl > dd {
		width: 50%;
		flex-basis: 50%;
	}
}

/*　.c-halftableコンポーネントはCMS上で異なる形で実装されたため、その対応 */
[class*='f-column'] .f-column__item:nth-child(n + 3) .c-deflist {
	margin-top: -30px;
}

@media (min-width: 768px) {
	[class*='f-column'] .c-deflist__item > dl > dt {
		width: 35%;
		flex-basis: 35%;
	}
	[class*='f-column'] .c-deflist__item > dl > dd {
		width: 50%;
		flex-basis: 50%;
	}
}

/* table */
.c-table table,
.c-table--min-s table,
.c-table--min-l table {
	width: 100%;
	text-align: left;
	border: none;
}

.c-table caption,
.c-table--min-s caption,
.c-table--min-l caption {
	margin-bottom: 20px;
	text-align: center;
}

.c-table th,
.c-table--min-s th,
.c-table--min-l th,
.c-table td,
.c-table--min-s td,
.c-table--min-l td {
	padding: 10px 20px;
}

.c-table th p,
.c-table--min-s th p,
.c-table--min-l th p,
.c-table td p,
.c-table--min-s td p,
.c-table--min-l td p {
	font-weight: inherit;
}

.c-table th,
.c-table--min-s th,
.c-table--min-l th {
	text-align: left;
	font-weight: bold;
	border: 1px solid #ddd;
}

.c-table th.c-table__headcell,
.c-table--min-s th.c-table__headcell,
.c-table--min-l th.c-table__headcell {
	background-color: #f3f3f3;
}

.c-table td,
.c-table--min-s td,
.c-table--min-l td {
	background-color: #fff;
	border: 1px solid #ddd;
}

.c-table--min-s {
	overflow-x: auto;
}

.c-table--min-s table {
	min-width: 500px;
}

.c-table--min-l {
	overflow-x: auto;
}

.c-table--min-l table {
	min-width: 750px;
}

/* image, video */
.c-image,
.c-image--fix,
.c-image--sq,
.c-image--half,
.c-image--twth {
	position: relative;
	overflow: hidden;
}

.c-image--fix,
.c-image--sq,
.c-image--half,
.c-image--twth {
	padding-bottom: 56.25%;
}

.c-image--fix img,
.c-image--sq img,
.c-image--half img,
.c-image--twth img,
.c-image--fix__element {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.c-image--fix img,
.c-image--sq img,
.c-image--half img,
.c-image--twth img {
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	font-family: 'object-fit: cover; object-position: center;';
}

.c-image--sq {
	padding-bottom: 100%;
}

.c-image--half {
	padding-bottom: 50%;
}

.c-image--twth {
	padding-bottom: 66.66667%;
}

.c-gmap {
	width: 100%;
	height: 0;
	padding-bottom: 77.61194%;
	position: relative;
}

.c-gmap > iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: none;
	position: absolute;
	top: 0;
	left: 0;
}

@media (min-width: 768px) {
	.c-gmap {
		padding-bottom: 51.72414%;
	}
}

/* image container */
.c-image-container,
.c-image-container--md,
.c-image-container--sm,
.c-image-container--video {
	margin-left: auto;
	margin-right: auto;
}

.c-image-container__caption {
	margin-top: 5px;
}

.c-image-container--md {
	max-width: 360px;
}

.c-image-container--sm {
	max-width: 230px;
}

.c-image-container--video {
	max-width: 450px;
}

/* buttons */
.c-button,
.c-button--key,
.c-button--sub {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	border: 1px solid #ddd;
	position: relative;
	background-color: #fff;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: center;
	font-weight: bold;
	color: #222;
}

.c-button__inner {
	-webkit-appearance: none;
	display: block;
	width: 100%;
	padding: 7px 40px;
	background: none;
	color: inherit;
	cursor: pointer;
}

.c-button [class*='icon-'],
.c-button--key [class*='icon-'],
.c-button--sub [class*='icon-'],
.c-button [class*='svgicon-'],
.c-button--key [class*='svgicon-'],
.c-button--sub [class*='svgicon-'] {
	position: absolute;
	height: 1.6rem;
	width: 1.6rem;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	font-size: 1.6rem;
	pointer-events: none;
	color: #039a75;
}

.c-button__righticon[class*='icon-'],
.c-button__righticon[class*='svgicon-'] {
	left: auto;
	right: 15px;
}

.c-button--key {
	border-color: #039a75;
	background-color: #039a75;
}

.c-button--key [class*='c-button__inner'] {
	color: #fff;
}

.c-button--key [class*='icon-'],
.c-button--key [class*='svgicon-'] {
	color: #fff;
}

.c-button--sub {
	border-color: #f48a3f;
	background-color: #f48a3f;
}

.c-button--sub [class*='c-button__inner'] {
	color: #fff;
}

.c-button--sub [class*='icon-'],
.c-button--sub [class*='svgicon-'] {
	color: #fff;
}

.c-button.disabled,
.disabled.c-button--key,
.disabled.c-button--sub {
	background-color: #ddd !important;
}

.c-button.disabled .c-button__inner,
.disabled.c-button--key .c-button__inner,
.disabled.c-button--sub .c-button__inner {
	color: #999 !important;
	cursor: default !important;
	pointer-events: none;
}

.c-button.disabled [class*='icon-'],
.disabled.c-button--key [class*='icon-'],
.disabled.c-button--sub [class*='icon-'],
.c-button.disabled [class*='svgicon-'],
.disabled.c-button--key [class*='svgicon-'],
.disabled.c-button--sub [class*='svgicon-'] {
	color: #999 !important;
}

@media (min-width: 768px) {
	.c-button,
	.c-button--key,
	.c-button--sub {
		transition: border-color 0.2s linear, background-color 0.2s linear, color 0.2s linear;
	}
	.c-button:hover:not(.disabled),
	.c-button--key:hover:not(.disabled),
	.c-button--sub:hover:not(.disabled) {
		border-color: #039a75;
		background-color: #f1f9f7;
		color: #039a75;
	}
	.c-button--key:hover:not(.disabled) {
		border-color: #00c594;
		background-color: #00c594;
	}
	.c-button--key:hover:not(.disabled) .c-button__inner {
		color: #fff;
	}
	.c-button--sub:hover:not(.disabled) {
		border-color: #ff4f3d;
		background-color: #ff4f3d;
	}
	.c-button--sub:hover:not(.disabled) .c-button__inner {
		color: #fff;
	}
}

.c-button--wide {
	max-width: 750px;
	flex-basis: 750px;
}

.c-button--wl {
	max-width: 300px;
	flex-basis: 300px;
}

.c-button--wl .c-button__inner {
	padding: 17px 10px;
}

.c-button--wm {
	max-width: 240px;
	flex-basis: 240px;
}

.c-button--ws {
	max-width: 200px;
	flex-basis: 200px;
}

.c-button--ws .c-button__inner {
	font-size: 1.4rem;
	padding: 3px 10px;
}

/* button container */
.c-btn-container,
.c-btn-container--left,
.c-btn-container--double {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.c-btn-container--left {
	justify-content: flex-start;
}

@media (max-width: 767px) {
	.c-btn-container--double {
		display: block;
	}
	.c-btn-container--double .c-btn-container__btn {
		margin-left: auto;
		margin-right: auto;
	}
	.c-btn-container--double .c-btn-container__btn + .c-btn-container__btn {
		margin-top: 30px;
	}
}

@media (min-width: 768px) {
	.c-btn-container--double .c-btn-container__btn + .c-btn-container__btn {
		margin-left: 30px;
	}
}

/* tab */
.c-tabs [class*='c-tabs__cols'],
.c-tabs--clack [class*='c-tabs__cols'] {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.c-tabs [class*='c-tabs__cols'] > li,
.c-tabs--clack [class*='c-tabs__cols'] > li {
	width: 50%;
	flex: 0 0 50%;
	margin-top: -1px;
	margin-left: -1px;
}

.c-tabs [class*='c-tabs__cols'] > li > a,
.c-tabs--clack [class*='c-tabs__cols'] > li > a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 20px 10px;
	border: 1px solid #ddd;
	background-color: #039a75;
	text-align: center;
	font-weight: bold;
	font-size: 1.4rem;
	color: #fff;
	transition: background-color 0.2s linear, color 0.2s linear;
}

.c-tabs [class*='c-tabs__cols'] > li > a > span,
.c-tabs--clack [class*='c-tabs__cols'] > li > a > span {
	width: 100%;
}

.c-tabs [class*='c-tabs__cols'] > li.current > a,
.c-tabs--clack [class*='c-tabs__cols'] > li.current > a {
	border-color: #039a75;
	background-color: #fff;
	color: #039a75;
}

.c-tabs--clack .c-tabs__cols {
	margin-top: -15px;
	margin-left: -4.41176%;
}

.c-tabs--clack .c-tabs__cols > li {
	width: 45.58824%;
	flex: 0 0 45.58824%;
	margin-left: 4.41176%;
	margin-top: 15px;
}

.c-tabs--clack .c-tabs__cols > li > a {
	border: 1px solid #039a75;
}

@media (min-width: 768px) {
	.c-tabs [class*='c-tabs__cols'] > li,
	.c-tabs--clack [class*='c-tabs__cols'] > li {
		width: 25%;
		flex: 1 0 25%;
	}
	.c-tabs [class*='c-tabs__cols'] > li > a,
	.c-tabs--clack [class*='c-tabs__cols'] > li > a {
		font-size: 1.6rem;
	}
	.c-tabs [class*='c-tabs__cols'] > li:not(.current) > a:hover,
	.c-tabs--clack [class*='c-tabs__cols'] > li:not(.current) > a:hover {
		background-color: #00c594;
	}
	.c-tabs .c-tabs__cols--5up > li,
	.c-tabs--clack .c-tabs__cols--5up > li {
		width: 20%;
		flex-basis: 20%;
	}
	.c-tabs--clack .c-tabs__cols {
		margin-left: -2.77778%;
	}
	.c-tabs--clack .c-tabs__cols > li {
		width: 22.22222%;
		flex: 0 0 22.22222%;
		margin-left: 2.77778%;
	}
	.c-tabs--clack .c-tabs__cols > li > a {
		padding: 15px;
		font-size: 2rem;
	}
}

/* サブページ汎用container */
.f-section {
	width: 86.66667%;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	.f-section {
		width: 100%;
	}
}

.f-section--wide {
	width: 86.66667%;
	max-width: 1130px;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	.f-section--wide {
		width: 100%;
		min-width: 1130px;
		padding-left: 40px;
		padding-right: 40px;
	}
}

/* 汎用カラムcontainer */
.f-column__item {
	margin-top: 30px;
}

.f-column__item:first-child {
	margin-top: 0;
}

@media (min-width: 768px) {
	.f-column,
	.f-column--2up,
	.f-column--3up,
	.f-column--4up {
		display: flex;
		flex-wrap: wrap;
	}
}

.f-column--2up.f-column--sp {
	margin-left: -4%;
}

.f-column--2up.f-column--sp .f-column__item {
	width: 46%;
	max-width: 46%;
	flex: 0 1 46%;
	margin-left: 4%;
	margin-top: 30px;
}

.f-column--2up.f-column--sp .f-column__item:nth-child(-n + 2) {
	margin-top: 0;
}

@media (min-width: 768px) {
	.f-column--2up {
		margin-left: -4%;
	}
	.f-column--2up .f-column__item {
		width: 46%;
		max-width: 46%;
		flex: 0 1 46%;
		margin-left: 4%;
		margin-top: 30px;
	}
	.f-column--2up .f-column__item:nth-child(-n + 2) {
		margin-top: 0;
	}
}

.f-column--3up.f-column--sp {
	margin-left: -4%;
}

.f-column--3up.f-column--sp .f-column__item {
	width: 29.33333%;
	max-width: 29.33333%;
	flex: 0 1 29.33333%;
	margin-left: 4%;
	margin-top: 30px;
}

.f-column--3up.f-column--sp .f-column__item:nth-child(-n + 3) {
	margin-top: 0;
}

@media (min-width: 768px) {
	.f-column--3up {
		margin-left: -4%;
	}
	.f-column--3up .f-column__item {
		width: 29.33333%;
		max-width: 29.33333%;
		flex: 0 1 29.33333%;
		margin-left: 4%;
		margin-top: 30px;
	}
	.f-column--3up .f-column__item:nth-child(-n + 3) {
		margin-top: 0;
	}
}

.f-column--4up.f-column--sp {
	margin-left: -4%;
}

.f-column--4up.f-column--sp .f-column__item {
	width: 21%;
	max-width: 21%;
	flex: 0 1 21%;
	margin-left: 4%;
	margin-top: 30px;
}

.f-column--4up.f-column--sp .f-column__item:nth-child(-n + 4) {
	margin-top: 0;
}

@media (min-width: 768px) {
	.f-column--4up {
		margin-left: -4%;
	}
	.f-column--4up .f-column__item {
		width: 21%;
		max-width: 21%;
		flex: 0 1 21%;
		margin-left: 4%;
		margin-top: 30px;
	}
	.f-column--4up .f-column__item:nth-child(-n + 4) {
		margin-top: 0;
	}
}

.f-column--h-adjust .f-column__item > * {
	height: 100%;
}

.f-column--sp {
	display: flex;
	flex-wrap: wrap;
}

/* textbox */
.c-checktext {
	padding-left: 40px;
	position: relative;
}

.c-checktext i.icon-check {
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 5px;
	left: 0;
	font-size: 20px;
	color: #039a75;
}

.c-question {
	padding-left: 30px;
	position: relative;
}

.c-question i.icon-q_sq {
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 5px;
	left: 0;
	font-size: 20px;
	color: #039a75;
}

.c-question > p {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
	color: #222;
}

@media (min-width: 768px) {
	.c-question {
		padding-left: 50px;
	}
	.c-question i.icon-q_sq {
		width: 32px;
		height: 32px;
		top: 0;
		font-size: 32px;
	}
	.c-question > p {
		font-size: 2rem;
	}
}

.c-pointtext {
	position: relative;
	padding-left: 100px;
}

.c-pointtext__point {
	min-width: 80px;
	padding: 0 12px;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #000;
	text-align: center;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.625;
	color: #fff;
}

.c-pointtext > p {
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.5;
}

.c-news__inner {
	display: block;
}

.c-news__inner > *:first-child {
	margin-top: 0 !important;
}

.c-news__inner > *:last-child {
	margin-bottom: 0 !important;
}

.c-news__inner .c-news__tags {
	display: inline-block;
	vertical-align: middle;
}

.c-news__date {
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
	font-size: 1.2rem;
	line-height: 1.5;
	color: #222;
}

.c-news__content {
	margin-top: 5px;
}

.c-news--icon {
	padding-left: 25px;
	position: relative;
}

.c-news--icon .c-news__content::before {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	margin-top: 0;
	position: absolute;
	top: 8px;
	left: 0;
	font-family: sonpo-icons;
	font-weight: normal;
	font-size: 16px;
	line-height: 1;
	speak: none;
	color: #039a75;
}

.c-news.newmarked .c-news__content::before,
.newmarked.c-news--icon .c-news__content::before {
	content: 'NEW';
	display: inline-block;
	width: auto;
	height: auto;
	margin-top: -0.3em;
	margin-right: 10px;
	padding: 2px 4px;
	background-color: #f48a3f;
	font-weight: bold;
	font-size: 1.2rem;
	line-height: 1;
	color: #fff;
}

@media (min-width: 768px) {
	.c-news__inner {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.c-news__inner .c-news__tags {
		margin-right: 15px;
		margin-top: -6px;
		flex: 0 0 auto;
	}
	.c-news__date {
		margin-right: 15px;
		flex: 0 0 auto;
		font-size: 1.6rem;
	}
	.c-news__content {
		flex: 1 1 auto;
		margin-top: -0.15em;
		transition: color 0.2s linear;
	}
	.c-news--icon {
		padding-left: 0;
	}
	.c-news--icon .c-news__content {
		padding-left: 30px;
		position: relative;
	}
	.c-news--icon .c-news__content::before {
		top: 7px;
		left: 0;
	}
	.c-news > a:hover .c-news__content,
	.c-news--icon > a:hover .c-news__content {
		color: #039a75;
	}
}

.c-innerlinkbox > *:first-child {
	margin-top: 0 !important;
}

.c-innerlinkbox > *:last-child {
	margin-bottom: 0 !important;
}

.c-innerlinkbox__inner {
	display: block;
	padding-left: 6.15385%;
	padding-right: 10.76923%;
	border-left: 3px solid #039a75;
	position: relative;
}

.c-innerlinkbox__inner::before {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	font-family: sonpo-icons;
	font-weight: normal;
	font-size: 16px;
	line-height: 1;
	speak: none;
	color: #039a75;
}

.c-innerlinkbox__title {
	margin-bottom: 10px;
}

@media (min-width: 768px) {
	.c-innerlinkbox__inner {
		padding-left: 20px;
		padding-right: 40px;
		transition: background-color 0.2s linear;
	}
	.c-innerlinkbox__inner::before {
		right: 10px;
	}
	.c-innerlinkbox__inner:hover {
		background-color: #f1f9f7;
	}
}

.c-textlinkbox > *:first-child {
	margin-top: 0 !important;
}

.c-textlinkbox > *:last-child {
	margin-bottom: 0 !important;
}

.c-textlinkbox__inner {
	display: block;
	padding: 20px 6.15385% 0;
	border-top: 1px solid #039a75;
	position: relative;
}

.c-textlinkbox__inner::before {
	content: '';
	display: block;
	width: 30px;
	height: 1px;
	background-color: #f48a3f;
	position: absolute;
	top: -1px;
	left: 0;
}

.c-textlinkbox__title {
	margin-bottom: 10px;
}

a.c-textlinkbox__inner .c-textlinkbox__title {
	position: relative;
	padding-left: 1.4em;
}

a.c-textlinkbox__inner .c-textlinkbox__title::before {
	font-family: 'sonpo-icons';
	content: '\e913';
	display: block;
	speak: none;
	font-style: normal;
	font-size: inherit;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	color: #039a75;
	position: absolute;
	top: 0.3em;
	left: 0;
}

@media (min-width: 768px) {
	.c-textlinkbox__inner {
		padding-top: 20px;
		padding-left: 20px;
	}
	.c-textlinkbox__inner > p {
		transition: color 0.2s linear;
	}
	.c-textlinkbox__inner:hover > p {
		color: #039a75;
	}
}

.c-textbox,
.c-textbox--caution,
.c-textbox--related {
	border: 1px solid #ddd;
	padding: 20px 25px;
}

.c-textbox > *:first-child,
.c-textbox--caution > *:first-child,
.c-textbox--related > *:first-child {
	margin-top: 0 !important;
}

.c-textbox > *:last-child,
.c-textbox--caution > *:last-child,
.c-textbox--related > *:last-child {
	margin-bottom: 0 !important;
}

.c-textbox__title {
	margin-bottom: 10px;
}

.c-textbox--caution {
	border-color: #c3001c;
	background-color: #fff5f6;
}

.c-textbox--caution .c-textbox__title {
	color: #c3001c;
}

.c-textbox--caution .c-textbox__title > i[class*='icon-'] {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	font-size: 16px;
}

.c-textbox--related {
	border: none;
	background-color: #f3f3f3;
}

.c-textbox--related .c-textbox__title {
	color: #666;
}

.c-textbox--related .c-textbox__title > i[class*='icon-'] {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 10px;
	font-size: 16px;
}

.c-textbox--related .c-textbox__link {
	margin-bottom: 10px;
}

.c-textbox--related .c-textbox__link > li a:hover {
	text-decoration: underline;
	color: #039a75;
}

@media (min-width: 768px) {
	.c-textbox--related .c-textbox__link > li a:hover {
		text-decoration: underline;
		color: #039a75;
	}
}

/* card */
.c-card > a {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	height: 100%;
}

.c-card > a[href] {
	border: 1px solid #ddd;
	box-shadow: none;
}

.c-card__content {
	width: 100%;
	order: 2;
	flex: 1 1 auto;
	padding: 5.53846% 6.15385%;
}

.c-card__content > *:first-child {
	margin-top: 0 !important;
}

.c-card__content > *:last-child {
	margin-bottom: 0 !important;
}

.c-card__title {
	margin-bottom: 6px;
}

.c-card__image {
	width: 100%;
	order: 1;
	flex: 0 0 auto;
}

@media (min-width: 768px) {
	.c-card > a[href] {
		transition: box-shadow 0.2s linear;
	}
	.c-card > a[href] p,
	.c-card > a[href] .c-card__title > strong {
		transition: color 0.2s linear;
	}
	.c-card > a[href]:hover {
		box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
	}
	.c-card > a[href]:hover p,
	.c-card > a[href]:hover .c-card__title > strong {
		color: #039a75;
	}
	.c-card__content {
		padding: 18px 20px;
	}
}

.c-card-container__card {
	margin-top: 30px;
}

.c-card-container__card:first-child {
	margin-top: 0;
}

@media (max-width: 767px) {
	.c-card-container--2up {
		display: flex;
		flex-wrap: wrap;
		margin-left: -4%;
	}
	.c-card-container--2up .c-card {
		width: 46%;
		max-width: 46%;
		flex: 0 1 46%;
		margin-left: 4%;
		margin-top: 30px;
	}
	.c-card-container--2up .c-card:nth-child(-n + 2) {
		margin-top: 0;
	}
	.c-card-container--2up .c-card {
		margin-top: 4.61538%;
	}
}

@media (min-width: 768px) {
	.c-card-container,
	.c-card-container--2up {
		display: flex;
		flex-wrap: wrap;
		margin-left: -4%;
	}
	.c-card-container .c-card,
	.c-card-container--2up .c-card {
		width: 46%;
		max-width: 46%;
		flex: 0 1 46%;
		margin-left: 4%;
		margin-top: 30px;
	}
	.c-card-container .c-card:nth-child(-n + 2),
	.c-card-container--2up .c-card:nth-child(-n + 2) {
		margin-top: 0;
	}
}

/* media object */
.c-mediaobj,
.c-mediaobj--pchd {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}

[class*='c-mediaobj__content'] {
	order: 2;
	flex: 1 1 auto;
	padding-top: 15px;
}

[class*='c-mediaobj__content'] > *:first-child {
	margin-top: 0 !important;
}

[class*='c-mediaobj__content'] > *:last-child {
	margin-bottom: 0 !important;
}

.c-mediaobj__content--pad {
	padding-left: 10px;
	padding-right: 10px;
}

.c-mediaobj__title {
	margin-bottom: 5px;
	padding-top: 5px;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
}

.c-mediaobj__link {
	margin-top: 10px;
}

.c-mediaobj__link a {
	display: inline-block;
	color: #222;
	font-size: 1.4rem;
}

.c-mediaobj__link [class*='icon-'],
.c-mediaobj__link [class*='svgicon-'] {
	height: 1.2em;
	width: 1.2em;
	margin-right: 0.2em;
	display: inline-block;
	vertical-align: middle;
	color: #039a75;
}

.c-mediaobj__image {
	width: 100%;
	height: 100%;
	order: 1;
	flex: 0 1 auto;
}

@media (min-width: 768px) {
	.c-mediaobj__title {
		font-size: 2rem;
	}
	.c-mediaobj__link a {
		transition: color 0.2s linear;
	}
	.c-mediaobj__link a:hover {
		color: #039a75;
	}
	.c-mediaobj--pchd {
		flex-direction: row;
	}
	.c-mediaobj--pchd [class*='c-mediaobj__content'] {
		padding-top: 0;
		width: 66%;
		flex-basis: 66%;
	}
	.c-mediaobj--pchd .c-mediaobj__content--pad {
		padding: 20px 0 0 0;
	}
	.c-mediaobj--pchd .c-mediaobj__image {
		width: 30.66667%;
		max-width: 230px;
		flex-basis: 30.66667%;
		margin-right: 3.33333%;
	}
	.c-mediaobj--pchd--reverse {
		flex-direction: row-reverse;
	}
	.c-mediaobj--pchd--reverse [class*='c-mediaobj__content'] {
		margin-right: 3.33333%;
	}
	.c-mediaobj--pchd--reverse .c-mediaobj__image {
		margin-right: 0;
	}
}

[class*='c-media-hd__inner'] {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
}

.c-media-hd__content {
	width: 44.61538%;
	order: 2;
	flex: 1 1 44.61538%;
}

.c-media-hd__content > *:first-child {
	margin-top: 0 !important;
}

.c-media-hd__content > *:last-child {
	margin-bottom: 0 !important;
}

.c-media-hd__image {
	width: 49.23077%;
	order: 1;
	flex: 0 0 49.23077%;
	margin-right: 6.15385%;
}

.c-media-hd__title {
	margin-bottom: 5px;
}

.c-media-hd--reverse .c-media-hd__content {
	order: 1;
	margin-right: 6.15385%;
}

.c-media-hd--reverse .c-media-hd__image {
	order: 2;
	margin-right: 0;
}

.c-media-hd--link [class*='c-media-hd__inner'] {
	padding-right: 10.76923%;
}

.c-media-hd--link [class*='c-media-hd__inner']::before {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	font-family: sonpo-icons;
	font-weight: normal;
	font-size: 16px;
	line-height: 1;
	speak: none;
	color: #039a75;
}

.c-media-hd--link .c-media-hd__inner[target='_blank']::before {
	content: '';
	bottom: auto;
}

.c-media-hd--link .c-media-hd__image {
	width: 43.10345%;
	flex-basis: 43.10345%;
}

.c-media-hd--link .c-media-hd__content {
	width: 51.72414%;
	flex-basis: 51.72414%;
}

@media (min-width: 768px) {
	[class*='c-media-hd__inner'] > :first-child {
		margin-right: 3.33333%;
	}
	.c-media-hd__image {
		width: 30.66667%;
		max-width: 230px;
		flex-basis: 30.66667%;
	}
	.c-media-hd__content {
		padding-top: 10px;
		width: 66%;
		flex: 1 1 66%;
	}
	.c-media-hd--link [class*='c-media-hd__inner'] {
		padding-right: 40px;
		transition: background-color 0.2s linear;
	}
	.c-media-hd--link [class*='c-media-hd__inner']::before {
		right: 10px;
	}
	.c-media-hd--link [class*='c-media-hd__inner']:hover {
		background-color: #f1f9f7;
	}
	.c-media-hd--link .c-media-hd__inner[target='_blank']::before {
		top: 10px;
	}
	.c-media-hd--link .c-media-hd__image {
		width: 17.60563%;
		flex-basis: 17.60563%;
	}
	.c-media-hd--link .c-media-hd__content {
		width: 82.39437%;
		flex-basis: 82.39437%;
	}
}

/* 地震保険画像用 */
.c-eqimage,
.c-eqimage--pchd {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.c-eqimage__image {
	width: 38.46154%;
	flex: 0 0 38.46154%;
}

.c-eqimage__text {
	width: 61.53846%;
	flex: 1 0 61.53846%;
	padding-left: 20px;
}

@media (min-width: 768px) {
	.c-eqimage--pchd .c-eqimage__image {
		width: 22%;
		flex: 0 0 22%;
	}
	.c-eqimage--pchd .c-eqimage__text {
		width: 78%;
		flex: 1 0 78%;
		padding-left: 25px;
	}
}

.c-eqimage-container__item + .c-eqimage-container__item {
	margin-top: 20px;
}

@media (min-width: 768px) {
	.c-eqimage-container {
		display: flex;
		flex-wrap: wrap;
		margin-left: -4%;
	}
	.c-eqimage-container .c-eqimage-container__item {
		width: 21%;
		max-width: 21%;
		flex: 0 1 21%;
		margin-left: 4%;
		margin-top: 30px;
	}
	.c-eqimage-container .c-eqimage-container__item:nth-child(-n + 4) {
		margin-top: 0;
	}
	.c-eqimage-container__item {
		display: block;
	}
	.c-eqimage-container__item .c-eqimage__image {
		width: 100%;
	}
	.c-eqimage-container__item .c-eqimage__text {
		width: 100%;
		padding: 10px 10px 0 10px;
	}
}

/* separator */
.c-separator,
.c-separator--dot {
	display: block;
	border-top: 1px solid #ddd;
}

.c-separator--dot {
	border-style: dotted;
}

/*--------------------
	Layout
---------------------*/
/*----------
	main header
----------*/
.l-mainheader {
	width: 100%;
	height: 60px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}

.l-mainheader__inner {
	height: 100%;
	position: relative;
	z-index: 100;
	background-color: #fff;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
}

.l-mainheader__logo {
	width: 190px;
	position: absolute;
	top: 20px;
	left: 20px;
}

.l-mainheader__navtoggle {
	width: 50px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

.l-mainheader__navtoggle > a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	background-color: #039a75;
}

.l-mainheader__navtoggle > a > span,
.l-mainheader__navtoggle > a:after,
.l-mainheader__navtoggle > a:before {
	display: block;
	width: 26px;
	height: 3px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: #fff;
	text-indent: -9999px;
}

.l-mainheader__navtoggle > a > span {
	opacity: 0;
	transition: opacity 0.2s linear;
}

.l-mainheader__navtoggle > a:before {
	content: '';
	-webkit-transform: translate(0, 0) rotate(-45deg);
	transform: translate(0, 0) rotate(-45deg);
	transition: -webkit-transform 0.2s linear;
	transition: transform 0.2s linear;
	transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.l-mainheader__navtoggle > a:after {
	content: '';
	-webkit-transform: translate(0, 0) rotate(45deg);
	transform: translate(0, 0) rotate(45deg);
	transition: -webkit-transform 0.2s linear;
	transition: transform 0.2s linear;
	transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}


.l-mainheader__search {
	width: 50px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 50px;
	border-left: 1px solid #ddd;
}

.l-mainheader__search > a {
	display: grid;
	place-content: center;
	place-items: center;
	width: 100%;
	height: 100%;
	position: relative;
	text-align: center;
}

.l-mainheader__search > a::before {
	display: block;
	width: 25px;
	height: 25px;
	margin: auto;
	font-size: 25px;
	color: #039a75;
}

.l-mainheader__search > a > span {
	display: block;
	color: #222;
	font-size: 1rem;
	line-height: 1.5;
}

.l-mainheader__utility {
	width: 100%;
	background-color: #F3F3F3;
}

.l-mainheader__utility > ul {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 30px;
	padding: 13px 25px;
}
.l-mainheader__utility > ul li {
	line-height: 1;
}
.l-mainheader__utility > ul > li > a {
	font-size: 1.2rem;
}
.l-mainheader__utility > ul > li > a > span {
	display: inline-flex;
	align-items: center;
	color: #222;
	transition: color 0.2s;
}
.l-mainheader__utility > ul > li > a > span::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 5px;
}
.l-mainheader__utility .icon-education::before {
	background: url(/assets_cms/images/icon-education.png) no-repeat 0 0;
	background-size: cover;
}
.l-mainheader__utility .icon-disaster::before {
	background: url(/assets_cms/images/icon-disaster.png) no-repeat 0 0;
	background-size: cover;
}

@media (min-width: 768px) {
	.l-mainheader {
		min-width: 1250px;
		left: 50%;
		height: 90px;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		transition: height 0.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.l-mainheader__logo {
		width: 220px;
		top: 16px;
		left: 100px;
		transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.l-mainheader__navtoggle {
		display: none;
		pointer-events: none;
	}
	.l-mainheader__search {
		display: none;
	}
	.l-mainheader__utility {
		width: 396px;
		position: absolute;
		top: 0;
		right: 50px;
		height: 40px;
		border-radius: 0 0 10px 10px;
		z-index: 101;
	}
	.l-mainheader__utility > ul {
		justify-content: center;
		padding: 9px 0 10px;
	}
	.l-mainheader__utility > ul > li > a {
		font-size: 1.4rem;
	}
	.l-mainheader__utility > ul > li > a > span::before {
		width: 16px;
		height: 16px;
		margin-right: 8px;
		transform: translateY(2px);
	}
	.l-mainheader__utility > ul > li > a:hover > span {
		color: #039a75;
		text-decoration: underline;
	}
}

/* Narrow PC display mode */
@media (min-width: 768px) {
	body[data-viewmode='PC_NARROW'] .l-mainheader {
		left: 0;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	body[data-viewmode='PC_NARROW'] .l-mainheader__logo {
		left: 40px;
	}
	body[data-viewmode='PC_NARROW'] .l-mainnav__gnav {
		margin-left: 40px;
	}
	body[data-viewmode='PC_NARROW'] .l-mainnav__gnav ul > li {
		margin: 0;
	}
}

/*----------
	main navigation
----------*/
@media (max-width: 767px) {
	.l-mainnav__inner {
		width: 100%;
		height: calc(100vh - 60px);
		position: relative;
		top: 0;
		left: 0;
		overflow: hidden;
		transition: height 0.4s cubic-bezier(0.77, 0, 0.175, 1);
	}
	.l-mainnav__main,
	.l-mainnav__subnav {
		width: 100%;
		height: 100%;
		position: absolute;
		overflow-x: hidden;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		background-color: #f3f3f3;
		box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
	}
	.l-mainnav__main ul > li,
	.l-mainnav__subnav ul > li {
		border-bottom: 1px solid #ddd;
	}
	.l-mainnav__main ul > li > a,
	.l-mainnav__subnav ul > li > a {
		display: flex;
		align-items: center;
		height: 78px;
		padding: 0 22px;
		font-size: 1.6rem;
		line-height: 1.2;
	}
	.l-mainnav__main ul > li > a > span,
	.l-mainnav__subnav ul > li > a > span {
		color: #222;
	}
	.l-mainnav__main {
		top: 0;
		left: 0;
		z-index: 97;
		padding-bottom: 60px;
	}
	.l-mainnav__gnav ul > li > a {
		padding-right: 40px;
		position: relative;
		font-weight: bold;
	}
	.l-mainnav__sns > li > a,
	.l-mainnav__other ul > li > a {
		padding-right: 40px;
		position: relative;
	}
	.l-mainnav__gnav ul > li > a::after,
	.l-mainnav__sns > li > a::after,
	.l-mainnav__other ul > li > a::after {
		content: '';
		display: block;
		width: 16px;
		height: 16px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 25px;
		font-family: 'sonpo-icons' !important;
		speak: none;
		font-weight: normal;
		font-size: 16px;
		line-height: 1;
		color: #222;
	}
	.l-mainnav__gnav ul > li > a[data-subnav]::after {
		content: '\e90c';
	}
	.l-mainnav__gnav ul > li > a[data-subnav].is-minus::after {
		content: '\e90d';
	}
	.l-mainnav__subnav {
		z-index: 98;
		display: none;
	}
	.l-mainnav__subnav__navlist {
		height: 0;
		position: relative;
		overflow: hidden;
		opacity: 0;
		pointer-events: none;
		transition: all .5s linear;
	}
	.l-mainnav__subnav__navlist.is-open {
		height: auto;
		opacity: 1;
		pointer-events: all;
	}
	.l-mainnav__subnav__navlist li {
		background-color: #fff;
	}
	.l-mainnav__subnav__navlist li:last-child {
		border-bottom: 0;
	}
	.l-mainnav__subnav > dl > dt {
		margin: 15px 0 35px;
		text-align: center;
		font-weight: bold;
		font-size: 2.2rem;
		line-height: 1;
		color: #039a75;
	}
	.l-mainnav__subnav__cattop {
		border-top: 1px solid #ddd;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a {
		height: 100px;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a > img {
		width: 60px;
		flex: 0 0 60px;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a > span {
		padding-left: 20px;
		font-weight: bold;
	}
	.l-mainnav__subnav.subnav-active-sp {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		z-index: 99;
	}
	.l-mainnav__sns img {
		width: 16px !important;
		margin-right: 10px;
	}
	.l-mainnav__other__language .icon-lang {
		width: 16px;
		margin-right: 10px;
		color: #039a75;
	}
	.l-mainheader__pcsearch {
		display: none;
	}
}

@media (min-width: 768px) {
	.l-mainnav__gnav {
		width: 100%;
		padding: 0 40px;
		margin: 0 auto;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 101;
	}
	.l-mainnav__gnav ul {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: flex-end;
		gap: 0;
		width: 100%;
		height: 100%;
	}
	.l-mainnav__gnav ul > li {
		height: 44px;
		position: relative;
		transition: height 0.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.l-mainnav__gnav ul > li::after {
		content: '';
		display: block;
		width: 0;
		height: 3px;
		margin: 0 auto;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: #f48a3f;
		transition: width 0.4s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.l-mainnav__gnav ul > li.current a {
		font-weight: bold;
	}
	.l-mainnav__gnav ul > li.active::after {
		width: 100%;
	}
	.l-mainnav__gnav ul > li > a {
		position: relative;
		display: block;
		height: 100%;
		padding: 10px 14px;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1;
		color: #222;
		transition: font-size 0.2s cubic-bezier(0.19, 1, 0.22, 1);
	}
	.l-mainnav__gnav ul > li:not(:last-child) > a::after {
		content: '';
		display: inline-block;
		position: absolute;
		top: 12px;
		right: 0;
		width: 1px;
		height: 1em;
		background-color: #222;
	}
	.l-mainnav__sns {
		position: absolute;
		top: 8px;
		right: 790px;
		z-index: 101;
		display: flex;
		gap: 0 18px;
	}
	.l-mainnav__sns li {
		width: 20px;
		height: 20px;
	}
	.l-mainnav__sns li a {
		display: block;
	}
	.l-mainnav__sns li.l-mainnav__sns-x img {
		width: 20px;
		height: 20px;
	}
	.l-mainnav__sns li.l-mainnav__sns-yt > a {
		padding-top: 3px;
	}
	.l-mainnav__sns li span {
		display: inline-block;
		text-indent: -9999px;
		overflow: hidden;
	}
	.l-mainnav__sns a {
		transition: opacity .2s;
	}
	.l-mainnav__sns a:hover {
		opacity: .7;
	}
	.l-mainnav__other {
		position: absolute;
		top: 5px;
		right: 465px;
		z-index: 101;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
	}
	.l-mainnav__other__language a {
		display: block;
		height: 30px;
		padding: 1px 15px 0;
		border: 1px solid #ddd;
		border-radius: 15px;
		transition: border .2s;
	}
	.l-mainnav__other__language span {
		color: #222;
		font-size: 1.4rem;
		line-height: 1;
		transition: color .2s;
	}
	.l-mainnav__other__language .icon-lang {
		display: inline-block;
		margin-right: 6px;
		color: #039a75;
		font-size: 16px;
		transform: translateY(1px);
	}
	.l-mainnav__other__language a:hover {
		border: 1px solid #059A75;
	}

	.l-mainnav__other__language a:hover span {
		color: #039a75;
		text-decoration: underline;
	}

	.l-mainheader__pcsearch {
		width: 200px;
		height: 30px;
		margin-left: 10px;
	}

	.l-mainheader__searchsp {
		display: none;
	}

	.l-mainheader__pcsearch .mf_finder_searchBox_items {
		display: block;
		padding: 0;
	}

	.l-mainheader__pcsearch .mf_finder_searchBox_query_input {
		display: block;
		padding: 0 35px 0 15px;
		width: 100%;
		height: 30px;
		font-size: 1.4rem;
		line-height: 30px;
		border: none;
		background-color: #fff;
		border: 1px solid #ddd;
		border-radius: 15px;
	}

	.l-mainheader__pcsearch .mf_finder_searchBox_query_inputinput::placeholder {
		color: #999;
	}

	.l-mainheader__pcsearch .mf_finder_searchBox_query_input::-ms-clear {
		visibility: hidden;
	}

	.l-mainheader__pcsearch .mf_finder_searchBox_submit {
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		top: 0;
		right: 0;
		padding: 0;
		border-radius: 100%;
		background: none;
		appearance: none;
		cursor: pointer;
		background-color: #039a75;
	}

	.l-mainheader__pcsearch .mf_finder_searchBox_submit:before {
		display: none;
	}

	.l-mainheader__pcsearch .mf_finder_searchBox_submit span {
		display: inline-block;
		margin: 0;
		font-size: 0;
		line-height: 0;
		vertical-align: bottom;
	}

	.l-mainheader__pcsearch .mf_finder_searchBox_submit span:before {
		content: '';
		display: block;
		width: 16px;
		height: 16px;
		font-family: 'sonpo-icons' !important;
		speak: none;
		font-weight: normal;
		font-size: 16px;
		line-height: 1;
		color: #fff;
	}

	.l-mainnav__subnav {
		width: 100%;
		padding: 30px 0;
		position: absolute;
		top: 90px;
		z-index: -1;
		background-color: #f3f3f3;
		box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.2);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.2s linear, top 0.2s linear;
	}
	.l-mainnav__subnav .l-mainnav__drillup,
	.l-mainnav__subnav > dl > dt,
	.l-mainnav__subnav__cattop {
		display: none;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist,
	.l-mainnav__subnav .l-mainnav__subnav__banner {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-content: flex-start;
		width: 1050px;
		margin: 0 auto;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li,
	.l-mainnav__subnav .l-mainnav__subnav__banner > li {
		width: 328px;
		flex: 0 0 328px;
		margin-right: 30px;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li > a,
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a {
		display: flex;
		align-items: center;
		height: 100%;
		font-size: 1.6rem;
		line-height: 1.2;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li > a > span,
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a > span {
		color: #222;
		transition: color 0.2s linear;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li {
		border-bottom: 1px solid #ddd;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li:nth-child(3n + 1) {
		margin-right: 0;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li > a {
		padding: 16px 15px 16px 40px;
		position: relative;
		background-color: transparent;
		transition: background-color 0.2s linear;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li > a::before {
		content: '';
		display: block;
		width: 16px;
		height: 16px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 12px;
		font-family: 'sonpo-icons' !important;
		speak: none;
		font-weight: normal;
		font-size: 16px;
		line-height: 1;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li > a:hover {
		background-color: #e5e5e5;
	}
	.l-mainnav__subnav .l-mainnav__subnav__navlist > li > a:hover > span {
		color: #039a75;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner {
		margin-top: 20px;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner > li:nth-child(3n) {
		margin-right: 0;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a {
		padding: 10px 0;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a > img {
		width: 60px;
		flex: 0 0 60px;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a > span {
		padding-left: 20px;
		font-weight: bold;
	}
	.l-mainnav__subnav .l-mainnav__subnav__banner > li > a:hover > span {
		color: #039a75;
	}
	.l-mainnav__subnav.subnav-active-pc {
		z-index: 99;
		opacity: 1;
		pointer-events: auto;
	}
}

@media (max-width: 767px) {
	.nav-close-sp .l-mainheader__navtoggle > a > span {
		opacity: 1;
	}
	.nav-close-sp .l-mainheader__navtoggle > a:before {
		-webkit-transform: translate(0, -8px);
		transform: translate(0, -8px);
	}
	.nav-close-sp .l-mainheader__navtoggle > a:after {
		-webkit-transform: translate(0, 8px);
		transform: translate(0, 8px);
	}
	.nav-close-sp .l-mainnav__inner {
		height: 0;
	}
}

@media (min-width: 768px) {
	.header-full-pc {
		height: 150px;
	}
	.header-full-pc .l-mainheader__logo {
		width: 320px;
		top: 30px;
	}
	.header-full-pc .l-mainheader__search {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	.header-full-pc .l-mainnav__gnav ul > li {
		height: 54px;
	}
	.header-full-pc .l-mainnav__gnav ul > li > a {
		font-size: 1.8rem;
	}
	.header-full-pc .l-mainheader__utility {
		pointer-events: auto;
	}
	.header-full-pc .l-mainnav__sns {
		top: 58px;
		right: 380px;
		gap: 0 20px;
	}
	.header-full-pc .l-mainnav__sns li.l-mainnav__sns-x {
		width: 20px;
	}
	.header-full-pc .l-mainnav__sns li.l-mainnav__sns-yt {
		width: 24px;
	}
	.header-full-pc .l-mainnav__sns li.l-mainnav__sns-yt > a {
		padding-top: 2px;
	}
	.header-full-pc .l-mainnav__other {
		top: 55px;
		right: 50px;
	}
	.header-full-pc .l-mainnav__subnav {
		top: 150px;
	}
}

/*----------
	main footer
----------*/
.l-mainfooter {
	padding-top: 30px;
	padding-bottom: 20px;
	position: relative;
	background-color: #f3f3f3;
}

.l-mainfooter__inner {
	width: 86.66667%;
	max-width: 1130px;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
	.l-mainfooter__inner {
		width: 100%;
		min-width: 1130px;
		padding-left: 40px;
		padding-right: 40px;
	}
}

.l-mainfooter__nav {
	display: none;
}

.l-mainfooter__nav > dl > dt {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.5;
}

.l-mainfooter__nav > dl > dd {
	margin-top: 10px;
	font-size: 1.4rem;
	line-height: 2;
}

.l-mainfooter__nav > dl a {
	color: #222;
}

.l-mainfooter__utility > ul + ul {
	margin-top: 20px;
}

.l-mainfooter__utility > ul > li {
	display: inline-block;
	margin-right: 18px;
}

.l-mainfooter__utility > ul > li + li::before {
	content: '|';
	display: inline-block;
	margin-right: 18px;
	font-size: 1.2rem;
	line-height: 1.8;
	color: #666;
}

.l-mainfooter__utility > ul > li:last-child {
	margin-right: 0;
}

.l-mainfooter__utility > ul > li > a {
	font-size: 1.2rem;
	line-height: 1.8;
	color: #666;
}

.l-mainfooter__snsicon-x span > img,
.l-mainfooter__snsicon-yt span > img {
	vertical-align: middle;
	position: relative;
	top: -2px;
}

.l-mainfooter__snsicon-x span {
	display: inline-block;
	width: 14px;
	margin-right: 8px;
}

.l-mainfooter__snsicon-yt span {
	display: inline-block;
	width: 18px;
	margin-right: 8px;
}

.l-mainfooter__logo {
	width: 150px;
	margin: 30px auto 0;
}

.l-mainfooter__copyright {
	margin-top: 15px;
}

.l-mainfooter__copyright > p {
	text-align: center;
	font-size: 1rem;
	line-height: 1.8;
}


@media (min-width: 768px) {
	.l-mainfooter {
		min-width: 1250px;
		padding-top: 80px;
	}
	.l-mainfooter__nav {
		margin-top: -50px;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.l-mainfooter__nav > dl {
		width: 21.90476%;
		flex: 0 1 21.90476%;
		margin-top: 50px;
	}
	.l-mainfooter__nav > dl:not(:nth-child(4n)) {
		margin-right: 3.80952%;
	}
	.l-mainfooter__nav > dl a {
		transition: color 0.2s linear;
	}
	.l-mainfooter__nav > dl a:hover {
		color: #039a75;
		text-decoration: underline;
	}
	.l-mainfooter__utility {
		margin-top: 70px;
		text-align: center;
	}

	.l-mainfooter__utility > ul > li > a {
		transition: color .3s;
	}

	.l-mainfooter__utility > ul > li > a:hover {
		color: #039a75;
		text-decoration: underline;
	}

	.l-mainfooter__logo {
		margin-top: 50px;
	}
	.l-mainfooter__copyright {
		margin-top: 20px;
	}
}

/* back to head */
.l-backtohead {
	width: 50px;
	height: 50px;
	position: fixed;
	bottom: 25px;
	right: 25px;
	z-index: 50;
	opacity: 0.8;
}

.l-backtohead > a {
	display: block;
	width: 100%;
	height: 100%;
	background: url(/assets_cms/images/backtohead.svg) no-repeat center;
	background-size: 46px;
}

@media (min-width: 768px) {
	.l-backtohead {
		right: 95px;
		bottom: 50px;
	}
}

/*----------
	main area
----------*/
.l-main {
	max-width: 1130px;
	margin: 0 auto;
	padding-bottom: 50px;
}

@media (min-width: 768px) {
	.l-main {
		min-width: 1130px;
		padding-left: 40px;
		padding-right: 40px;
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: flex-start;
		margin-top: 50px;
		padding-bottom: 135px;
	}
	.l-main__content {
		width: 750px;
		flex: 0 0 750px;
	}
	.l-main__localnav {
		width: 240px;
		flex: 0 0 240px;
	}
	.l-main.full {
		max-width: none;
	}
	.l-main.full .l-main__content {
		width: auto;
		flex: none;
		margin-left: auto;
		margin-right: auto;
	}
}

/* local nav */
.l-main__localnav {
	max-width: 86.66667%;
	width: 100%;
	margin: 50px auto 0 auto;
}

.l-main__localnav > dl {
	border: 1px solid #ddd;
}

.l-main__localnav > dl > dt {
	padding: 18px 20px;
	border-bottom: 5px solid #f48a3f;
	background-color: #039a75;
	text-align: center;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1.5;
	color: #fff;
}

.l-main__localnav > dl > dd ul > li {
	border-bottom: 1px solid #ddd;
}

.l-main__localnav > dl > dd ul > li:last-child {
	border-bottom: none;
}

.l-main__localnav > dl > dd ul > li > a {
	display: flex;
	align-items: center;
	padding: 20px 22px 20px 34px;
	position: relative;
	font-size: 1.4rem;
	line-height: 1.5;
}

.l-main__localnav > dl > dd ul > li > a::before {
	content: '';
	display: block;
	width: 14px;
	height: 14px;
	position: absolute;
	top: 1.7em;
	left: 15px;
	font-family: 'sonpo-icons' !important;
	speak: none;
	font-weight: normal;
	font-size: 14px;
	line-height: 1;
	color: #039a75;
}

.l-main__localnav > dl > dd ul > li > a > span {
	color: #222;
}

.l-main__localnav > dl > dd ul > li.current > a {
	font-weight: bold;
}

@media (min-width: 768px) {
	.l-main__localnav {
		max-width: 240px;
		margin: 0;
	}
	.l-main__localnav > dl {
		border: none;
	}
	.l-main__localnav > dl > dt {
		padding: 28px 20px;
	}
	.l-main__localnav > dl > dd {
		padding-top: 20px;
		padding-bottom: 20px;
		background-color: #f3f3f3;
	}
	.l-main__localnav > dl > dd ul > li {
		border-bottom: none;
	}
	.l-main__localnav > dl > dd ul > li > a {
		padding: 15px 22px 15px 50px;
		font-size: 1.6rem;
	}
	.l-main__localnav > dl > dd ul > li > a::before {
		width: 16px;
		height: 16px;
		top: 1.3em;
		left: 15px;
		font-size: 16px;
	}
	.l-main__localnav > dl > dd ul > li > a > span {
		transition: color 0.2s linear;
	}
	.l-main__localnav > dl > dd ul > li > a:hover > span {
		color: #039a75;
	}
}

/* print */
@media print {
	.l-mainheader,
	.l-mainfooter,
	.l-main__localnav {
		display: none;
	}
}

/*----------
	ページパーツ系
----------*/
/* breadcrumb */
.l-breadcrumb {
	width: 86.66667%;
	max-width: 1130px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 105px;
	min-height: 40px;
}

@media (min-width: 768px) {
	.l-breadcrumb {
		width: 100%;
		min-width: 1130px;
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media (min-width: 768px) {
	.l-breadcrumb {
		margin-top: 150px;
	}
}

.c-breadcrumb {
	visibility: hidden;
	padding: 10px 0;
}

.c-breadcrumb__inner {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.c-breadcrumb ol {
	margin-left: -10px;
	line-height: 1.2;
}

.c-breadcrumb ol li {
	display: inline-block;
	margin-left: 10px;
}

.c-breadcrumb ol li a {
	display: block;
	font-size: 1.2rem;
	color: #039a75;
	white-space: nowrap;
}

.c-breadcrumb ol li + li a:before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 10px;
	font-family: sonpo-icons;
	font-weight: normal;
	font-size: 12px;
	line-height: 1;
	speak: none;
}

.c-breadcrumb ol li:first-child > a > span {
	font-size: 16px;
	vertical-align: text-bottom;
}

.c-breadcrumb ol li:first-child > a > span > span {
	display: inline-block;
	text-indent: -9999px;
}

.c-breadcrumb ol li:last-child > a > span {
	color: #666;
}

@media (min-width: 768px) {
	.c-breadcrumb {
		visibility: visible;
	}
	.c-breadcrumb ol li a:hover {
		text-decoration: underline;
		color: #039a75;
	}
}

/* 公開日付 */
.c-articledate {
	font-size: 1.4rem;
	line-height: 1;
	color: #666;
}

/* 更新・文責表記 */
.l-update {
	width: 86.66667%;
	max-width: 1130px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
}

@media (min-width: 768px) {
	.l-update {
		width: 100%;
		min-width: 1130px;
		padding-left: 40px;
		padding-right: 40px;
	}
}

/* ページネーション・ページ送り */
.c-pagenav {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}

.c-pagenav__btn {
	width: 46.15385%;
	flex: 0 0 46.15385%;
}

.c-pagenav__btn .c-button__inner {
	padding: 12px 10px;
}

/* 開閉ボックス */
.c-togglebox__content {
	transition: max-height 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.c-togglebox__content__inner {
	padding: 26px 10px 10px;
}

.c-togglebox__close {
	margin-top: 20px;
	text-align: center;
	font-weight: bold;
	font-size: 1.6rem;
}

.c-togglebox__close .icon-close {
	color: #039a75;
}

.c-togglebox.closed .c-togglebox__content {
	max-height: 0;
	overflow: hidden;
}

.c-togglebox.closed .c-togglebox__content__inner {
	pointer-events: none;
}

/* タブ切り替えコンテンツ */
.js-tabcontent [data-tabcontent-panel] {
	height: 0;
	position: relative;
	z-index: -1;
	overflow: hidden;
	visibility: hidden;
	pointer-events: none;
}

.js-tabcontent [data-tabcontent-panel].active {
	height: auto;
	z-index: 1;
	visibility: visible;
	pointer-events: auto;
}

/* お問い合わせ */
.c-adrtel {
	padding: 25px;
	border: 4px solid #ddd;
}

.c-adrtel__title {
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 2rem;
	line-height: 1;
}

.c-adrtel__tel {
	margin: 20px 0;
}

.c-adrtel__tel > img {
	display: inline-block;
	width: 45px;
	margin-right: 10px;
}

.c-adrtel__tel > p {
	display: inline-block;
	font-weight: bold;
	font-size: 3rem;
	line-height: 1;
}

.c-adrtel__link {
	margin-top: 10px;
}

@media (min-width: 768px) {
	.c-adrtel {
		padding: 25px 35px;
	}
	.c-adrtel__title {
		font-size: 2.4rem;
	}
	.c-adrtel__tel {
		margin-bottom: 10px;
	}
	.c-adrtel__tel > img {
		width: 50px;
	}
	.c-adrtel__tel > p {
		font-size: 3.6rem;
	}
	.c-adrtel__link {
		font-size: 1.6rem;
	}
}

@media (max-width: 374px) {
	.c-adrtel__tel > p {
		font-size: 2.4rem;
	}
}

.c-contact_info__group {
	margin-top: 35px;
	font-weight: bold;
	font-size: 1.4rem;
}

.c-contact_info__add {
	margin-top: 20px;
	font-size: 1.4rem;
}

.c-contact_info__add dl > dd {
	margin: -1.5em 0 0.5em 5em;
}

@media (min-width: 768px) {
	.c-contact_info__group {
		font-size: 1.6rem;
	}
	.c-contact_info__add {
		font-size: 1.6rem;
	}
	.c-contact_info__add dl > dd {
		margin: -1.5em 0 1em 5em;
	}
}

/* カラム画像にセンターキャプションがつく */
.c-columnimages__item {
	margin-top: 30px;
}

.c-columnimages__item:first-child {
	margin-top: 0;
}

.c-columnimages__caption,
.c-columnimages .u-txt-center.txt-sm,
.c-columnimages--3up .u-txt-center.txt-sm {
	margin-top: 20px;
	text-align: center;
}

@media (min-width: 768px) {
	.c-columnimages__items {
		display: flex;
		flex-wrap: nowrap;
	}
	.c-columnimages__item {
		width: 46%;
		max-width: 46%;
		flex: 0 1 46%;
		margin-top: 0;
		margin-left: 4%;
	}
	.c-columnimages--3up .c-columnimages__item {
		width: 29.33333%;
		max-width: 29.33333%;
		flex: 0 1 29.33333%;
	}
}

/* 検索モーダル */
.l-search-modal {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 100vw;
	z-index: -1;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	background-color: #fff;
	pointer-events: none;
	transition: all 0s linear 0.2s, opacity 0.2s linear 0s;
}

.l-search-modal__inner {
	width: 100%;
	height: 100%;
	position: relative;
}

.l-search-modal__inner > dl {
	width: 86.66667%;
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 70px;
}

.l-search-modal__inner > dl > dt {
	text-align: center;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1;
}

.l-search-modal__inner > dl > dd {
	margin-top: 20px;
	min-height: 50px;
	background-color: #f3f3f3;
	position: relative;
}

.l-search-modal__inner .mf_finder_searchBox {
	margin: 0;
	padding-right: 50px;
}

.l-search-modal__inner .mf_finder_searchBox_items {
	display: block;
	padding: 0;
}

.l-search-modal__inner .mf_finder_searchBox_query_input {
	display: block;
	padding: 5px 10px;
	width: 100%;
	height: 50px;
	font-size: 1.4rem;
	border: none;
}

.l-search-modal__inner .mf_finder_searchBox_query_input::-ms-clear {
	visibility: hidden;
}

.l-search-modal__inner .mf_finder_searchBox_submit {
	display: block;
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	right: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}

.l-search-modal__inner .mf_finder_searchBox_submit:before {
	display: none;
}

.l-search-modal__inner .mf_finder_searchBox_submit span {
	display: inline-block;
	margin: 0;
	font-size: 0;
	line-height: 0;
	vertical-align: bottom;
}

.l-search-modal__inner .mf_finder_searchBox_submit span:before {
	content: '';
	display: block;
	width: 26px;
	height: 26px;
	padding: 12px;
	font-family: 'sonpo-icons' !important;
	speak: none;
	font-weight: normal;
	font-size: 26px;
	line-height: 1;
	color: #039a75;
}

.l-search-modal__inner .mf_finder_searchBox_selects {
	display: none !important;
}

.l-search-modal__close {
	width: 50px;
	height: 60px;
	position: absolute;
	top: 0;
	right: 0;
	overflow: hidden;
}

.l-search-modal__close > a {
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}

.l-search-modal__close > a > span,
.l-search-modal__close > a:after,
.l-search-modal__close > a:before {
	display: block;
	width: 26px;
	height: 3px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: #039a75;
	text-indent: -9999px;
}

.l-search-modal__close > a > span {
	opacity: 0;
}

.l-search-modal__close > a:before {
	content: '';
	-webkit-transform: translate(0, 0) rotate(-45deg);
	transform: translate(0, 0) rotate(-45deg);
}

.l-search-modal__close > a:after {
	content: '';
	-webkit-transform: translate(0, 0) rotate(45deg);
	transform: translate(0, 0) rotate(45deg);
}

.l-search-modal.search-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	left: 0;
	z-index: 150;
	transition: all 0s linear 0s, opacity 0.2s linear 0.1s;
}

@media (min-width: 768px) {
	.l-search-modal__inner > dl {
		padding-top: 100px;
	}
	.l-search-modal__inner > dl > dt {
		font-size: 3rem;
	}
	.l-search-modal__inner > dl > dd {
		margin-top: 30px;
		min-height: 90px;
	}
	.l-search-modal__inner .mf_finder_searchBox {
		padding-right: 90px;
	}
	.l-search-modal__inner .mf_finder_searchBox_query_input {
		padding: 10px 20px;
		height: 90px;
		font-size: 1.6rem;
	}
	.l-search-modal__inner .mf_finder_searchBox_submit {
		width: 90px;
		height: 90px;
	}
	.l-search-modal__inner .mf_finder_searchBox_submit:before {
		display: none;
	}
	.l-search-modal__inner .mf_finder_searchBox_submit span:before {
		width: 40px;
		height: 40px;
		padding: 25px;
		font-size: 40px;
	}
	.l-search-modal__close {
		top: 0;
		right: 0;
		-webkit-transform-origin: top right;
		transform-origin: top right;
		-webkit-transform: scale(1.3);
		transform: scale(1.3);
	}
}

/*----------
	content default margin settings
----------*/
[class*='f-section'].cms .c-heading--prim {
	margin-bottom: 30px;
}

[class*='f-section'].cms .c-heading--prim .c-heading__inner::before {
	content: '';
	display: block;
	height: 0;
	width: 0;
	margin-top: calc((1 - 1.5) * 0.5em);
	speak: none;
}

[class*='f-section'].cms .c-heading--prim .c-heading__inner::after {
	content: '';
	display: block;
	height: 0;
	width: 0;
	margin-bottom: calc((1 - 1.5) * 0.5em);
	speak: none;
}

[class*='f-section'].cms .c-heading--seco {
	margin-top: 80px;
	margin-bottom: 30px;
}

[class*='f-section'].cms .c-heading--tert {
	margin-top: 35px;
	margin-bottom: 20px;
}

[class*='f-section'].cms .c-heading--tert + [class*='c-text'],
[class*='f-section'].cms .c-heading--tert + [class*='txt'] {
	margin-top: 20px;
}

[class*='f-section'].cms .c-heading--quat {
	margin-top: 30px;
	margin-bottom: 20px;
}

[class*='f-section'].cms .c-heading--quin {
	margin-top: 25px;
	margin-bottom: 15px;
}

[class*='f-section'].cms .c-heading--quin + [class*='c-text'],
[class*='f-section'].cms .c-heading--quin + [class*='txt'] {
	margin-top: 15px;
}

[class*='f-section'].cms > [class*='c-text'],
[class*='f-section'].cms > [class*='txt'],
[class*='f-section'].cms > [class*='c-text--data'] {
	margin-top: 30px;
}

[class*='f-section'].cms > [class*='c-text'] + [class*='c-text'],
[class*='f-section'].cms > [class*='c-text'] + [class*='txt'],
[class*='f-section'].cms > [class*='txt'] + [class*='c-text'],
[class*='f-section'].cms > [class*='txt'] + [class*='txt'] {
	margin-top: 25px;
}

[class*='f-section'].cms > [class*='txt-remark'] {
	margin-top: 20px;
}

[class*='f-section'].cms > [class*='c-icontext'] {
	margin-top: 25px;
}

[class*='f-section'].cms > [class*='c-icontext'] + [class*='c-icontext'] {
	margin-top: 8px;
}

[class*='f-section'].cms > [class*='c-question'] {
	margin-top: 50px;
}

[class*='f-section'].cms > [class*='c-question'] + [class*='c-question'] {
	margin-top: 30px;
}

[class*='f-section'].cms > [class*='c-pointtext'] {
	margin-top: 20px;
}

[class*='f-section'].cms > [class*='c-textbox'],
[class*='f-section'].cms > [class*='c-checktext'] {
	margin-top: 40px;
}

[class*='f-section'].cms > [class*='c-list'],
[class*='f-section'].cms > [class*='c-ordered'] {
	margin-top: 20px;
}

[class*='f-section'].cms > [class*='c-tag-container'] {
	margin-top: 10px;
}

[class*='f-section'].cms > [class*='c-deflist'] {
	margin-top: 20px;
}

[class*='f-section'].cms > [class*='c-deflist'] + [class*='c-deflist'] {
	margin-top: 0;
}

[class*='f-section'].cms > [class*='c-image-container'] {
	margin-top: 20px;
}

[class*='f-section'].cms > [class*='c-btn-container'] {
	margin-top: 30px;
}

[class*='f-section'].cms > [class*='c-card-container'],
[class*='f-section'].cms > [class*='c-mediaobj'],
[class*='f-section'].cms > [class*='c-media-hd'] {
	margin-top: 50px;
}

[class*='f-section'].cms > [class*='c-innerlinkbox'] {
	margin-top: 40px;
}

[class*='f-section'].cms > [class*='c-separator'] {
	margin: 20px 0;
}

[class*='f-section'].cms > [class*='c-togglebox'] {
	margin-top: 30px;
}

[class*='f-section'].cms > [class*='c-adrtel'] {
	margin-top: 50px;
}

[class*='f-section'].cms > .c-articledate {
	margin-top: 20px;
	margin-bottom: 40px;
}

[class*='f-section'].cms .c-heading--prim + .c-articledate {
	margin-top: -12px;
}

[class*='f-section'].cms > [class*='c-columnimages'] {
	margin-top: 60px;
	margin-bottom: 40px;
}

@media (min-width: 768px) {
	[class*='f-section'].cms .c-heading--prim {
		margin-bottom: 50px;
	}
	[class*='f-section'].cms .c-heading--seco {
		margin-top: 100px;
		margin-bottom: 35px;
	}
	[class*='f-section'].cms .c-heading--tert {
		margin-top: 50px;
		margin-bottom: 30px;
	}
	[class*='f-section'].cms .c-heading--quat {
		margin-top: 40px;
		margin-bottom: 20px;
	}
	[class*='f-section'].cms .c-heading--quin {
		margin-top: 35px;
		margin-bottom: 15px;
	}
	[class*='f-section'].cms .c-heading--prim + .c-articledate {
		margin-top: -37px;
	}
}

/*--------------------
	Utility
---------------------*/
.u-clrfx:after {
	content: '';
	display: table;
	clear: both;
}

.u-hide {
	display: none;
}

.u-pcbr {
	display: none;
}

@media (min-width: 768px) {
	.u-pcbr {
		display: inline-block;
	}
}

@media (min-width: 768px) {
	.u-spbr {
		display: none;
	}
}

.u-txt-center {
	text-align: center !important;
}

.u-txt-right {
	text-align: right !important;
}

.u-txt-bold {
	font-weight: bold !important;
}

.u-margin-n {
	margin-top: 0 !important;
}

.u-margin-s {
	margin-top: 30px !important;
}

.u-margin-m {
	margin-top: 40px !important;
}

.u-margin-l {
	margin-top: 50px !important;
}