/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
  overflow-wrap: break-word;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */

/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */

input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type="number"] {
  width: auto; /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type="search"] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */

img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */

/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
	display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
	position: absolute !important;
	clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */

/* Specify text selection background color and omit drop shadow */

::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}


body {
	background: #fff;
	color: #333;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-weight: 500;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	line-height: 1;
	letter-spacing: 0.05em;
	position: relative;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

#wrapper {
	min-height: 100vh;
	position: relative;
	overflow: hidden;
}

[type="text"] {
	line-height: normal;
}

input[type="text"],
textarea {
	-webkit-appearance: none;
}

area,
button {
	border: none;
	outline: none;
}

img {
	display: block;
	border: 0;
  max-width: 100%;
  height: auto;
}

li {
	list-style-type: none;
	list-style: none;
}

a {
	color: #3a8ce1;
	text-decoration: none;
}

a:hover {
	opacity: 0.8;
}

a img:hover {
	opacity: 0.8;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

.pc-br {
	display: block;
}

.sp-br {
	display: none;
}

a[href^="tel:"] {
	pointer-events: none;
}

iframe {
	display: block;
	border: 0;
}

/* 記事タグの色 */
.article-tag.tag01 {
	background: #d74343;
}

.article-tag.tag02 {
	background: #2868b1;
}

/* ページのトップへ戻る */
#pagetop {
	width: 45px;
	height: 45px;
	position: fixed;
	z-index: 1;
}

#pagetop a {
	display: block;
	width: 45px;
	height: 45px;
}

/* パンくず */
.breadcrumb .breadcrumb-list {
	display: flex;
}

.breadcrumb .breadcrumb-list li {
	font-weight: bold;
	margin-right: 5px;
}

.breadcrumb .breadcrumb-list li:last-child {
	margin-right: 0;
}

.breadcrumb .breadcrumb-list li + li:before {
	content: ">";
	display: inline-block;
	margin-right: 5px;
}

.breadcrumb .breadcrumb-list li a {
	text-decoration: underline;
}

.breadcrumb .breadcrumb-list li a:hover {
	text-decoration: none;
}

.breadcrumb .breadcrumb-list li:last-child a {
	color: #333;
	cursor: text;
	text-decoration: none;
	pointer-events: none;
}

/* ------------------------------
見出し
------------------------------ */
.ttl h2,
.topics-ttl,
.topics-ttl h2,
#info .info-ttl,
#goal .info-ttl,
.action-area .topics-box .area-name h2 {
	display: flex;
	align-items: baseline;
}

/* 青 */
.ttl h2:before,
.topics-ttl:before,
#goal .info-ttl:before,
.action-area .topics-box .area-name h2:before {
	content: "";
	background: url(../images/common/ttl_icon01.png) no-repeat left center;
	width: 100%;
	max-width: 18px;
}

/* 白 */
#info .info-ttl:before {
	content: "";
	background: url(../images/common/ttl_icon02.png) no-repeat left center;
	width: 100%;
	max-width: 18px;
}

@media screen and (max-width: 768px) {
	body {
		min-width: 320px;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.pc-br {
		display: none;
	}

	.sp-br {
		display: block;
	}

	.tel {
		pointer-events: auto;
	}

	a[href^="tel:"] {
		pointer-events: auto;
	}

	#wrapper {
		padding-bottom: 160px;
	}

	/* ページのトップへ戻る */
	#pagetop {
		right: 15px;
	}

	/* パンくず */
	.breadcrumb .breadcrumb-list li {
		font-size: 10px;
		letter-spacing: 0.05em;
	}

	/* ------------------------------
	見出し
	------------------------------ */
	/* 青 */
	.ttl h2:before,
	.topics-ttl:before,
	#goal .info-ttl:before,
	.action-area .topics-box .area-name h2:before {
		height: 18px;
		margin-right: 11px;
	}

	/* 白 */
	#info .info-ttl:before {
		height: 18px;
		margin-right: 11px;
	}
}

@media screen and (min-width: 769px) {
	body {
		min-width: 1100px;
	}

	#wrapper {
		padding-bottom: 63px;
	}

	/* ページのトップへ戻る */
	#pagetop {
		right: 20px;
	}

	/* パンくず */
	.breadcrumb .breadcrumb-list li {
		font-size: 12px;
		letter-spacing: 0.05em;
	}

	/* ------------------------------
	見出し
	------------------------------ */
	/* 青 */
	.ttl h2:before,
	.topics-ttl:before,
	#goal .info-ttl:before,
	.action-area .topics-box .area-name h2:before {
		height: 23px;
		margin-right: 13px;
	}

	/* 白 */
	#info .info-ttl:before {
		height: 23px;
		margin-right: 13px;
	}
}


header {
	width: 100%;
}

.header-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#header-nav-pc {
	background: #3a8ce1;
}

.header-nav-list nav {
	font-size: 15px;
	font-weight: bold;
}

.header-nav-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-nav-link {
	display: block;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	height: 100%;
}

/* ------------------------------
検索ボックス
------------------------------ */
#search {
	position: relative;
}

#sbox {
	background: #eee;
	outline: 0;
	position: absolute;
	left: 0;
	top: 0;
}

#sbtn {
	background: url(../images/common/search_btn.png) no-repeat center center #3a8ce1;
	border: none;
	text-indent: -9999px;
	position: absolute;
	top: 0;
}

/* ------------------------------
言語切替
------------------------------ */
.language-box {
	display: flex;
	align-items: center;
}

.language-box .language {
	border: 2px solid #3a8ce1;
	color: #3a8ce1;
	font-weight: bold;
	text-align: center;
}

.language-box .language.active {
	background: #3a8ce1;
	border: none;
	color: #fff;
	font-weight: bold;
}

@media all and (-ms-high-contrast:none) { /* IE11 */
	*::-ms-backdrop,
	.language-box .language.active {
		padding-top: 2px;
	}
}

@media screen and (max-width: 768px) {
	header {
		border-bottom: 2px solid #398ce1;
		height: 57px;
	}

	.header-inner {
		height: 100%;
		padding: 0 15px;
	}

	#header-nav-sp {
		margin-left: 20px;
	}

	#header-nav-sp > nav > ul > li {
		border-bottom: 1px solid #fff;
		font-size: 15px;
		width: 100%;
		height: 44px;
		line-height: 44px;
	}

	#header-nav-sp > nav > ul > li:last-child {
		border: none;
	}

	#header-nav-sp > nav > ul > li a {
		background: url(../images/common/arrow01.png) no-repeat 93% center;
		color: #fff;
		padding: 0 25px;
	}

	.header-nav-list {
		background: #3a8ce1;
		flex-direction: column;
	}

	#header-nav-sp > nav > ul:nth-child(n + 2) {
		margin-top: 50px;
	}

	#header-nav-sp > nav > ul:nth-child(n + 2):before {
		content: "";
		display: block;
		background: rgba(255, 255, 255, 0.4);
		width: 18px;
		height: 1px;
		margin: 0 auto 45px;
	}

	.overlay {
		content: "";
		display: block;
		background: rgba(0, 0, 0, 0.5);
		width: 0;
		height: 0;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 9999;
		opacity: 0;
		transition: opacity .5s;
	}

	.overlay.open {
		width: 100%;
		height: 100%;
		opacity: 1;
	}

	.menu-trigger {
		width: 35px;
		height: 32px;
		margin-left: auto;
		cursor: pointer;
		z-index: 100;
	}

	.menu-trigger span {
		display: block;
		background: #398ce1;
		width: 35px;
		height: 2px;
		transition: all .5s;
	}

	.menu-trigger.active span:nth-of-type(1) {
		transform: translate(4px, 9px) rotate(45deg);
		width: 27.7px;
	}

	.menu-trigger span:nth-of-type(2) {
		margin-top: 6px;
	}

	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}

	.menu-trigger span:nth-of-type(3) {
		margin-top: 6px;
	}

	.menu-trigger.active span:nth-of-type(3) {
		transform: translate(4px, -7px) rotate(-45deg);
		width: 27.7px;
	}

	.menu-trigger p {
		width: 35px;
		margin-top: 4px;
	}

	#header-nav-sp > nav {
		background: #fff;
		border-bottom: 2px solid #3a8ce1;
		width: 100%;
		padding-bottom: 25px;
		position: absolute;
		top: 57px;
		right: 0;
		z-index: 10;
		transform: translateY(-200%);
		transition: all .5s;
	}

	#header-nav-sp > nav.open {
		transform: translateY(0);
	}

	/* ------------------------------
	検索ボックス
	------------------------------ */
	.header-subnav {
		display: none;
		margin-top: 25px;
	}

	#search-box {
		width: 100%;
		height: 40px;
		margin: 0 auto;
		padding: 0 25px;
	}

	#sbox {
		width: 100%;
		height: 40px;
		padding: 0 15px;
	}

	#sbtn {
		width: 40px;
		height: 40px;
		right: 0;
	}

	/* ------------------------------
	言語切替
	------------------------------ */
	.language-box {
		justify-content: center;
		margin-top: 15px;
		padding: 0 25px;
	}

	.language-box .language {
		font-size: 15px;
		width: 50%;
		height: 40px;
		line-height: 37px;
	}

	.language-box .language.active {
		line-height: 40px;
	}

	.language-box .language:nth-child(n + 2) {
		margin-left: 15px;
	}
}

@media screen and (min-width: 769px) {
	.header-inner {
		/*width: 1320px;*/
		height: 98px;
		margin: 0 auto;
	}

  .header-inner .logo {
    margin-left: 23px;
  }

	.header-subnav {
		display: flex;
		align-items: center;
	}

	#header-nav-pc {
		height: 47px;
		line-height: 47px;
	}

	#header-nav-pc nav {
		width: 1034px;
		margin: 0 auto;
	}

	/* ------------------------------
	検索ボックス
	------------------------------ */
	.header-subnav {
		margin: 0 23px 20px 0;
	}

	#search-box {
		width: 250px;
		height: 36px;
	}

	#sbox {
		width: 214px;
		height: 36px;
		padding: 0 10px;
	}

	#sbtn {
		width: 36px;
		height: 36px;
		right: 0;
	}

	/* ------------------------------
	言語切替
	------------------------------ */
	.language-box {
		margin-left: 20px;
	}

	.language-box .language {
		font-size: 14px;
		width: 100px;
		height: 36px;
		line-height: 36px;
	}

	.language-box .language:nth-child(n + 2) {
		margin-left: 10px;
	}
}


footer {
	background: #2b2b2b;
	width: 100%;
	position: absolute;
	bottom: 0;
}

footer > .inner {
	display: flex;
	align-items: center;
}

footer a {
	color: #fff;
}

footer a:hover {
	text-decoration: underline;
	opacity: 1;
}

footer .ft-sns,
footer .ft-menu {
	display: flex;
	align-items: center;
}

footer .ft-sns li:nth-child(n + 2) {
	margin-left: 10px;
}

.copyright {
	color: #fff;
}

@media screen and (max-width: 768px) {
	footer {
		height: 160px;
	}

	footer > .inner {
		flex-direction: column;
		padding: 25px;
	}

	footer .ft-menu {
		margin-top: 25px;
	}

	footer .ft-menu li {
		font-size: 14px;
	}

	footer .ft-menu li:nth-child(n + 2) {
		margin-left: 22px;
	}

	footer .copyright {
		font-size: 11px;
		margin-top: 42px;
	}
}

@media screen and (min-width: 769px) {
	footer {
		height: 63px;
		line-height: 63px;
	}

	footer > .inner {
		padding: 0 25px 0 20px;
	}

	footer .ft-menu {
		margin-left: 26px;
	}

	footer .ft-menu li:nth-child(n + 2) {
		margin-left: 27px;
	}

	footer .copyright {
		font-size: 16px;
		margin-left: auto;
	}
}

.wp-caption {
  max-width:100%;
}
