@charset "UTF-8";
/* リセット */
/* ============================================ */
* {
  box-sizing: border-box;
}
::before, ::after {
  box-sizing: inherit;
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; /* iOSの向き変更後のフォントサイズ調整 */
  -webkit-tap-highlight-color: transparent; /* iOSリンクの灰色*/
  font-size: 62.5%;
  word-wrap: break-word;
	scroll-behavior: auto;
}

body, p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0;
}
main {
  display: block;
}
/* リセット-見出し */
/* ============================================ */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}
/* リセット-テキスト関連 */
/* ============================================ */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  text-decoration-skip-ink: none;
  text-underline-offset: 3px;
  transition: all 0.3s ease;
}
a:hover {
  transition: all 0.3s ease;
  text-decoration-color: transparent;
}
abbr[title] {
  border-bottom: none; /* Chromeの下枠削除 */
  text-decoration: underline; /* テキスト装飾を追加 */
  text-decoration: underline dotted; /* テキスト装飾を追加 */
}
strong {
  font-weight: bold;
}
code, kbd, samp {
  font-family: monospace, monospace; /* ブラウザでフォントサイズの継承とスケーリングを修正 */
  font-size: inherit; /* ブラウザで奇数の `em`フォントサイズを修正 */
}
small {
  font-size: 85%;
}
sub, sup {
  font-size: .65em;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -.1em;
}
sup {
  top: -.35em;
}
/* リセット-リスト */
/* ============================================ */
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
dd {
  margin-left: 0;
}
/* リセット-フォーム */
/* ============================================ */
button, [type="text"], optgroup, select, textarea {
  -webkit-appearance: auto;
  appearance: auto;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}
::placeholder {
  color: #aaa;
}
:-ms-input-placeholder {
  color: #aaa;
}
::-ms-input-placeholder {
  color: #aaa;
}
/* ラジオとチェックボックスの外観をリセットして、iOSでの外観を維持 */
[type="checkbox"] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}
[type="radio"] {
  -webkit-appearance: radio;
  appearance: radio;
}
/** Edge、IEでオーバーフローを表示. */
button, input {
  overflow: visible;
}
/* Edge, Firefox, and IEのテキスト変換の継承を削除 */
button, select {
  text-transform: none;
}
button {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
button[disabled], [type="button"][disabled], [type="reset"][disabled], [type="submit"][disabled] {
  cursor: default;
}
/* Firefox：内側の境界線とパディングを削除 */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
a:focus-visible, button:focus-visible {
  outline: #78be20 solid 2px;
  outline-offset: 1px;
}
/* フォーカススタイルを復元 */
select::-ms-expand {
  display: none;
}
/* パディングリセット */
option {
  padding: 0;
}
/* 非表示にリセット */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
legend {
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE. */
  display: table; /* EdgeおよびIEでのテキストの折り返し修正 */
  max-width: 100%; /* EdgeおよびIEでのテキストの折り返し修正 */
  padding: 0; /*  `fieldset`要素をゼロにしたときに引っ掛からないように */
  white-space: normal; /* EdgeおよびIEでのテキストの折り返し修正 */
}
/* Chrome、Firefox、Operaで正しい垂直方向の配置 */
progress {
  vertical-align: baseline;
}
/* IEのデフォルトの垂直スクロールバーを削除. */
textarea {
  overflow: auto;
}
/* Chromeの増分ボタンと減分ボタンのカーソルスタイルを修正 */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px; /* Safariのアウトラインスタイルを修正 */
}
/* macOSのChromeとSafariの内側のパディングを削除 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button; /* iOSおよびSafariのクリッカブルタイプの設定 */
  font: inherit; /* Safariでフォントのプロパティを「継承」に変更 */
}
label[for] {
  cursor: pointer;
}
/* リセット-テーブル */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th, td {
  padding: 0;
  font-weight: normal;
}
caption {
  text-align: left;
}
hr {
  box-sizing: content-box; /* Firefoxで正しいボックスサイズ */
  height: 0; /* Firefoxで正しいボックスサイズ */
  overflow: visible; /* EdgeとIEでオーバーフロー */
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}
address {
  font-style: inherit;
}
body img {
  border-style: none;
  vertical-align: bottom;
}
embed, object, iframe {
  border: 0;
  vertical-align: bottom;
}
/* Edge、IE +、Firefoxで正しいディスプレイを追加 */
details {
  display: block;
}
summary {
  display: list-item;
}
/* IEで正しいディスプレイを追加. */
template, [hidden] {
  display: none;
}
/*　リセットcss終了　*/
/*--------------------------------------------
共通ベース
---------------------------------------------*/
body {
  font-size: 1.6rem;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Helvetica Neue", Arial, "メイリオ", Meiryo, sans-serif;
  line-height: 1.6;
  overflow-wrap: break-word;
  word-wrap: break-word;
	color: var(--charcoal-gray);
  text-align: justify;
}
img {
  max-width: 100%;
  height: auto;
}
main {
  margin: 0 auto 10rem;
/*	padding-top: 6rem;*/
}
.con-inner {
  max-width: var(--wrap-xl);
  width: calc(100% - 4vw);
  margin: 0 auto;
}
.section_col2_inner {
	display: flex;
  justify-content: space-between;
	gap: 0 4rem;
}
.section_col2_inner > *:first-child {
	width: 25%;
	min-width: 300px;
	text-align: center;
	height: 100%;
  position: sticky;
  top: 8rem;
}
@media only screen and (max-width: 1200px) {
.section_col2_inner > *:first-child {
	top: 0;
}
}
.section_col2_inner.no-sticky > *:first-child {
  position: relative;
  top: 0;
}
.section_col2_inner > *:first-child .section_col2_img {
	max-width: 120px;
  width: 100%;
  margin: 1em auto 0;
}
.section_col2_inner > *:last-child {
	width: 75%;
	padding-top: 8.5rem;
}
.max-xl {
  max-width: var(--wrap-xl);
}
.max-l {
  max-width: var(--wrap-l);
}
.max-m {
  max-width: var(--wrap-m);
}
.max-s {
  max-width: var(--wrap-s);
}
.wrap-flex {
  display: flex;
  flex-wrap: wrap;
}
.wrap-flex.case {
	gap: 4rem;
}
.wrap-con {
	border-radius: .5em;
	padding: 2em;
	background: var(--white);
	position: relative;
}
.wrap-con.frame-1 {
	border-top: 6px solid var(--light-blue-gray03);
	border-radius: 0 0 1em 1em;
}
.frame-1::before,
.frame-1::after {
	content: '';
	position: absolute;
	width: 15%;
}
.frame-1::before {
	border-top: solid 6px var(--blue);
	top: -6px;
	left: 0;
}
.wrap-col-2 {
  flex-basis: calc(50%);
}
.wrap-col-3 {
  flex-basis: calc(100% / 3);
}
.wrap-col-4 {
  flex-basis: calc(100% / 4);
}
.wrap-col-5 {
  flex-basis: calc(100% / 5);
}
.wrap-flex.line {
	border: 2px solid #ccc;
	padding: 2.5% 0;
	border-radius: 10px;
}
.wrap-flex.line > .wrap-col-3:nth-child(n+2) {
	border-left: 1px solid #ccc;
}
.wrap-flex.line .wrap-col-3 {
	padding: 0 2.5%;
}
.wrap-flex.line > .wrap-col-2:nth-child(even) {
	border-left: 1px solid #ccc;
}
.wrap-flex.line .wrap-col-2 {
	padding: 0 2.5%;
}
.wrap-flex.case .wrap-col-3 {
	width: calc((100% - 90px) / 3);
	flex-basis: auto;
	background: linear-gradient(to bottom, #426e85 20%, #f8f1e5 20%, #f8f1e5 60%, #fff 60%);
	border-radius: 1em 0 0 0;
	overflow: hidden;
}
.wrap-flex.case .case-ttl {
	font-size: 2.2rem;
	font-weight: bold;
	color: var(--white);
	background-color: var(--blue);
	display: flex;
	padding: .75em 1em .75em 3.25em;
	position: relative;
}
.wrap-flex.case .case-ttl .case_icon {
	width: 1.75em;
	height: 1.75em;
	position: absolute;
	left: .75em;
	top: .75em;
}
.wrap-flex.case .case-ttl .case_icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.wrap-flex.case .case-ttl span:last-child {
	padding-top: .15em;
}
.case-detail {
	background-color: var(--offwhite);
	padding: 1.5em;
	border-radius: 1em 0 0 0;
}
.case-price {
	padding: 1em 0;
  background-color: #fff;
  border-radius: 1em 0 0 0;
}
.case-price > div{
	padding: 0 1.5em;
}
.case-price dl {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-end;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 1em;
}
.case-price dt {
	width: 40%;
	border-bottom: 1px solid #ccc;
	padding: .75em 0 .75em 1.5em;
}
.case-price dt span {
	font-size: 1.8rem;
}
.case-price dd {
	text-align: right;
	width: 60%;
	border-bottom: 1px solid #ccc;
	padding: .75em 1.5em .75em 0;
}

/*最後の要素を下付きに 親を.flex-col 最後の子要素に.mt-auto*/
.flex-col {
  display: flex;
  flex-direction: column;
}
.mt-auto {
  margin-top: auto !important;
}
.flex-center {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.flex-inner {
  padding: 1em;
}
.flex-inner.wrap-col-5 {
  padding: 1.5em 1em;
}
.wrap-img {
  padding: 5%;
}
.wrap-contents {
	background: var(--offwhite);
}
.wrap-contents:not(:last-child) {
	padding: 0 0 10rem;
}
.wrap-contents *:has( > .heading-2) {
  margin-top: 3em;
}
.wrap-contents .heading-1 + *:has(.heading-2),
.wrap-contents .heading-1 + .wrap-flex > *:has(.heading-2) {
  margin-top: 0;
}
.wrap-contents *:has(.heading-1) {
  margin-top: 0;
}
.wrap-contents p:not(.text-faq > p) + p {
  margin-top: .75em;
}
.wrap-contents a, .section-faq a {
  color: var(--blue);
  text-decoration: underline;
}
.wrap-contents a:hover, .section-faq a:hover {
  text-decoration: none;
}

/* wrap-contents > heading-X がない場合 */
.wrap-ttl_non {
	padding-top: 10rem !important;
}

/* お問合せ */
.wrap-contact {
  width: 100%;
  background-color: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 2.5em 2em 3em;
}
.contact-heading {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--blue);
  margin-bottom: 2rem;
}
.contact-name {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 960px) {
  body {
    font-size: 1.5rem;
  }
  .con-inner {
    width: calc(100% - 2em);
  }
	.section_col2_inner > *:first-child,
	.section_col2_inner > *:last-child {
		position: relative;
		top: 0;
  }
	.section_col2_inner > *:first-child,
	.section_col2_inner > *:last-child,
	.wrap-flex.case .wrap-col-3,
  .wrap-col-3 {
    flex-basis: 100%;
		width: 100%;
		position: relative;
  }
	.section_col2_inner > *:last-child {
		padding-top: 4rem;
	}
  .sp-co-1 {
    flex-direction: column;
  }
  .sp-co-1 .wrap-col-2, .sp-co-1 .wrap-col-4, .sp-co-1 .wrap-col-5 {
    flex-basis: 100%;
  }
  .wrap-flex-inner {
    padding: 1em;
  }
  .content-col2 {
    flex-direction: column;
    margin-bottom: 2em;
  }
  .col2-heading {
    width: 100%;
    font-size: 1.2em;
    padding: 1rem;
    border-radius: .5em .5em 0 0;
  }
  .col2_item {
    width: 100%;
    padding: 1em;
  }
  .wrap-contents:not(:last-child) {
		padding: 0 0 8rem;
  }
	.wrap-flex.case .case-ttl {
		font-size: 1.8rem;
	}
	.wrap-flex.case .case-ttl span:last-child {
		padding-top: .1em;
	}
  .wrap-contents + .wrap-contact {
    margin-top: 0;
  }
  .wrap-contact {
    padding: 1.5em 1em 2em;
  }
	/* wrap-contents > heading-X がない場合 */
	.wrap-ttl_non {
		padding-top: 6rem !important;
	}
  .contact-heading {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
  .contact-name {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
	.wrap-con {
		padding: 1em;
	}
	.wrap-con.frame-1 {
		padding: 1.5em;
	}
	.wrap-flex.line {
		border: none;
		padding: 0;
		gap: 2em 0;
		max-width: 48rem;
		margin: auto;
	}
	.wrap-flex.line .wrap-col-3,
	.wrap-flex.line .wrap-col-2 {
		padding: 0;
	}
	.wrap-flex.line .wrap-col-2 {
    flex-basis: 100%;
  }
	.wrap-flex.line > .wrap-col-3:nth-child(n+2),
	.wrap-flex.line > .wrap-col-2:nth-child(even) {
		border-top: 1px solid #ccc;
		border-left: none;
		padding-top: 2em;
	}
	.wrap-flex.line .heading-5 + .link_btn {
		margin-top: 2em;
	}
}
@media only screen and (max-width: 420px) {
  .wrap-flex-inner.wrap-col-5 {
    padding: 1.5rem 1rem;
  }
  .sp-s-co-1 {
    flex-direction: column;
  }
  .sp-s-co-1 .wrap-col-2 {
    flex-basis: 100%;
  }
	.wrap-flex.line.max-con-m {
		max-width: 48rem !important;
	}
	.wrap-flex.line .heading-5 + .link_btn {
		margin-top: 1em;
	}
}
/* FV
---------------------------------------------*/
.fv {
	font-size: 1.8rem;
	max-height: 60rem;
	height: calc(100vh - 12rem);
	min-height: 48rem;
	position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.fv-img {
  width: 100%;
  height: 100%;
  margin-left: auto;
}
.fv-img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
.fv-content {
	position: absolute;
	left: 0;
	padding: 0 3vw;
	height: 85%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.fv .fv-tagline {
  font-size: 5.4rem;
  font-weight: bold;
  display: inline-flex;
  flex-direction: column;
  text-align: start;
  max-width: 75rem;
  line-height: 1.3;
	margin-bottom: .25em;
}
.fv-text span {
	display: inline;
	font-weight: bold;
	font-size: 1.1em;
	color: var(--blue);
}
.fv-text span:not(:last-child) {
	margin-bottom: .5em;
}
.fv-content ul {
	display: flex;
	margin-top: 3em;
	gap: 1em;
}
.fv-content li {
	max-width: 320px;
	width: 100%;
	text-align: center;
}
.fv-content li:first-of-type a {
	color: var(--white);
	background-color: var(--blue);
}
.fv-content li:last-of-type a {
	color: var(--white);
	background-color: var(--charcoal-gray);
}
.fv-content li:first-of-type a:hover,
.fv-content li:last-of-type a:hover {
	background: var(--yellow);
	color: var(--charcoal-gray);
}
.fv-content li a {
	border-radius: 5em;
	width: 100%;
	height: 100%;
	font-weight: bold;
	align-items: center;
	display: flex;
	justify-content: center;
	padding: 1em;
}
.fv-content li a img {
  width: 100%;
	height: auto;
}
@media only screen and (max-width: 1200px) {
	.fv {
		margin-top: 0;
	}
}
@media only screen and (max-width: 960px) {
  .fv {
		font-size: 1.5rem;
		height: 70rem;
		margin-top: 5rem;
  }
  .fv::before {
		height: 100%;
		clip-path: none;
		background: linear-gradient(0deg, rgb(47 49 49 / 40%) 0%, rgb(47 49 49 / 0%) 80%);
  }
  .fv-img {
		margin-bottom: auto;
  }
  .fv-img img {
    object-fit: cover;
    object-position: top center;
  }
	.fv-content {
		width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
		bottom: 0;
		padding: 0;
    }
  .fv .fv-tagline {
    font-size: 4.2rem;
		text-align: center;
		margin: auto 0 .5em;
		max-width: 100%;
		-webkit-text-stroke: 6px var(--white);
		paint-order: stroke;
  }
	.fv-text {
		margin-bottom: auto;
	}
	.fv-text span {
		-webkit-text-stroke: 4px var(--white);
    paint-order: stroke;
	}
	.fv-content {
		width: 100%;
		padding: 0 1em 1em;
	}
	.fv-content ul {
		margin-top: 1em;
		font-size: 1.4rem;
		justify-content: center;
	}
	.fv-content li {
		max-width: 50%;
    height: auto;
	}
	.fv-content li a {
		flex-direction: column;
		gap: .25em;
		padding: .5em;
	}
}
@media only screen and (max-width: 960px) and (min-width: 769px) {
	.fv-img img {
    object-position: 70% top;
  }
}

/* 特徴
---------------------------------------------*/
.wrap-feature {
	display: flex;
	flex-wrap: wrap;
	padding-top: .5rem;
	gap: 4em 2rem;
}
.heading-1 + .lead + .wrap-feature {
	margin-top: 6em; /* 1分割のsectionの場合 */
}
.wrap-feature li {
	width: calc((100% - 4rem) / 3);
  background-color: #fff;
	text-align: center;
	position: relative;
	padding: 2.5em 1em 1.5em;
}
.wrap-feature li .font-bold {
	position: relative;
	z-index: 1;
}
.features-icon {
  display: inline-block;
  position: absolute;
	background-color: var(--light-blue-gray01);
	border: 6px solid var(--white);
	padding: .8em;
	border-radius: 100%;
	left: 50%;
	top: 0;
	transform: translate(-50%, -50%);
}
.features-icon img {
  width: 2.25em;
	height: 2.25em;
  margin: auto;
}
.wrap-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 1em;
}
.wrap-price.col-2 {
	gap: 1em 2em;
}
.wrap-price > * {
	display: flex;
	flex-wrap: wrap;
	flex-basis: 0;
	flex-grow: 1;
	align-items: baseline;
	padding-bottom: .25em;
	border-bottom: 2px solid #ccc;
}
.wrap-price.col-2 > * {
	width: 50%;
	min-width: 26rem;
	align-items: center;
}
.price {
	font-size: 1.6em;
	margin-left: auto;
}
.price-unit {
	font-size: 1.5rem;
	width: 4em;
	text-align: center;
	display: inline-block;
	background-color: var(--light-blue-gray01);
	padding: .3rem 0;
}
.col-wrap-2 {
	display: flex;
	flex-wrap: wrap;
	gap: 4%;
}
.col-wrap-2 > section {
	width: 48%;
}
.flex-center-y {
	display: flex;
	align-items: center;
}
.col-2box {
	display: flex;
	align-items: center;
	gap: 2rem 8rem;
}
.col-2box .heading-area {
	min-width: 370px;
	border-right: 1px solid var(--charcoal-gray);
}
.col-2box .heading-area > .ttl,
.col-2box .heading-area.ttl {
	font-size: 2.6rem;
	font-weight: bold;
}
.col-2box .heading-area > .ttl + p {
	margin-top: 4rem;
}

@media screen and (max-width: 960px) {
	.section_col2_inner {
		flex-wrap: wrap;
	}
	.section_col2_inner .heading-1 {
		margin: 0 auto 1em;
	}
	.section_box {
		width: 100%;
		padding-top: 0;
	}
	.wrap-feature {
		gap: 3.5em 1em;
		padding-top: 2em;
	}
	.heading-1 + .lead + .wrap-feature {
		margin-top: 3em !important; /* 1分割のsectionの場合 */
	}
	.wrap-feature li {
		width: calc((100% - 1em) / 2);
		text-align: left;
	}
	.features-icon img {
    width: 30px;
	}
	.col-wrap-2 > section {
		width: 100%;
	}
	.coverage-details_list {
		margin-top: 2rem;
	}
	.quote-mark_top::before,
	.quote-bottom::after {
		display: none;
	}
	.coverage-payment {
		font-size: 2rem;
	}
	.col-2box {
		flex-direction: column;
	}
	.col-2box .heading-area {
		min-width: auto;
		border-right: none;
		text-align: center;
	}
	.col-2box .heading-area > .ttl,
	.col-2box .heading-area.ttl {
		font-size: 2rem;
	}
	.col-2box .heading-area > .ttl + p {
		margin-top: 1rem;
	}
	.section_3col-wrap {
		padding-top: 0;
	}
	.section_3col {
		flex-wrap: wrap;
	}
	.section_3col section .link_btn a {
		width: 100%;
	}
	.section_3col-wrap .section_3col section {
		flex-basis: 100%;
		border: none;
		border-bottom: 1px solid var(--blue);
		padding: 3rem 0 3.5rem;
	}
	.section_3col-wrap .section_3col section:first-of-type {
		border-left: none;
	}
}
@media screen and (max-width: 767px) {
	.wrap-feature li {
		width: 100%;
	}
}

/*---------------------------------------------
フロー
---------------------------------------------*/
.wrap-flow .ttl {
	color: var(--white);
	background-color: var(--blue);
	display: flex;
	align-items: center;
	padding: .5em 1em .5em 2em;
	width: 12em !important;
	z-index: 1;
	position: relative;
}
.wrap-flow .ttl::after {
	content: '';
	top: 100%;
	left: 0;
	border-bottom: solid 10px transparent;
	border-right: solid 1em #013654;
	position: absolute;
}
.wrap-flow .inner {
	border-radius: .5em;
	padding: 3em 2em 1.5em;
	margin: -1.5em 0 0 1em;
}
.list-num.blue > li:before,
.wrap-flow .list-num > li:before {
	font-weight: bold;
	color : var(--blue);
}
@media screen and (max-width: 960px) {
	.wrap-flow {
		flex-direction: column;
	}
	.wrap-flow > * {
		width: 100% !important;
	}
	.wrap-flow .ttl {
		font-size: 1.6rem;
		padding: .5em 1em;
	}
	.wrap-flow .inner {
		padding: 3em 1em 1.5em;
		width: calc(100% - 1em) !important;
	}
}
/* ============================================ */
/* header */
/* ============================================ */
header {
	background: var(--blue);
}
.site-name {
	color: #fff;
}
/* ============================================ */
/* PC-header */
/* ============================================ */
@media print, screen and (min-width: 1201px) {
  header {
    color: #fff;
/*    transition: all .6s ease;*/
		height: 8rem;
		width: 100%;
    z-index: 100;
  position: sticky;
  top: 0;
 }
	.header-inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
		width: 100%;
		height: 100%;
  }
  .site-name {
		padding: 1rem;
		line-height: 1;
		font-weight: bold;
  }
	.site-name a {
		display: flex;
		flex-direction: column;
    font-size: 1.4rem;
	}
  .site-name span:first-child {
    font-size: 2.5rem;
		margin-top: .25em;
		transition: all 0.3s ease;
 }
	header.active .site-name a {
		font-size: 1.2rem;
	}
	header.active .site-name span:first-child {
		font-size: 1.8rem;
	}
	.site-name span:first-child .sub,
	header.active .site-name span:first-child .sub{
		font-size: .7em;
		font-weight: normal;
	}
  .btn-g-nav {
    display: none;
  }
  /* PC-メニュー表示 
----------------------------------------*/
  .wrap-g-nav {
    width: 70%;
    height: 100%;
    display: flex;
    transition: all 0.3s ease;
  }
  .wrap-g-nav nav {
		width: 100%;
    display: flex;
  }
  .wrap-g-nav nav.active {
    width: 100%;
    right: 0;
  }
  .g-nav {
		font-size: 1.1em;
		font-weight: bold;
    display: flex;
		justify-content: end;
    transition: all 0.3s ease;
    width: 100%;
		gap: 2em;
  }
  .g-nav > li {
		display: flex;
    align-items: center;
		justify-content: center;
  }
  .g-nav > li > a {
		display: inline-block;
		position: relative;
  }
	  .g-nav > li:not(.g-nav_cta) > a::after {
			content: '';
			width: 0;
			height: 2px;
			background: var(--yellow);
			margin: 0 auto;
			position: absolute;
			bottom: -4px;
			left: 0;
			right: 0;
			transition: all 0.3s ease;
	}
	.g-nav > li > a:hover::after {
		width: 100%;
	}
}
@media screen and (min-width: 1500px) {
	header {
			font-size: 1.6rem;
	}
}
@media (min-width: 1201px) and (max-width: 1500px)  {
	header {
			font-size: calc(1.4rem + ((1vw - (1200 / 100 * 0.1rem)) * 100 * (16 - 14) / (1500 - 1200)));
	}
}

.g-nav_cta {
	max-width: 10em;
	width: 100%;
}
.g-nav > li.g-nav_cta > a {
	background-color: var(--yellow);
	border: none;
	color: var(--charcoal-gray);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.g-nav > li.g-nav_cta > a:hover {
	background-color: var(--charcoal-gray);
	color: var(--white);
}
.g-nav .icon_mail::before {
	background-image:	url(../img/icon-mail.svg);
}
.g-nav .icon_mail:hover::before {
	background-image:	url(../img/icon-mail-w.svg);
}

/* SP-header */
/* ============================================ */
@media screen and (max-width: 1200px) {
  body > header {
    height: 50px;
    z-index: 100;
    position: absolute;
		top: 0;
		width: 100%;
  }
  body > header .pc-only {
    display: none;
  }
  main {
    margin-bottom: 8rem;
    padding-top: 0;
  }
  .site-name {
		font-size: 1.1rem;
		font-weight: bold;
		line-height: 1;
		padding: 0 8px;
  }
	.site-name span:first-child {
		font-size: 1.6rem;
		margin-top: .25em;
  }
	.site-name span:first-child .sub {
		font-size: .7em;
		font-weight: normal;
	}
	.site-name a {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		height: 5rem;
		width: calc(100% - 5rem);
	}
  /* SP-ハンバーガーメニュー 
----------------------------------------*/
  .btn-g-nav {
    background: #fff;
    width: 50px;
    height: 50px;
    display: block;
    margin-left: auto;
    position: fixed;
    right: 0;
    top: 0;
    padding: 12px;
    cursor: pointer;
    z-index: 100;
  }
  .btn-g-nav.active .btn-g-nav_line {
    background-color: transparent;
  }
  .btn-g-nav.active .btn-g-nav_line::before {
    top: 0;
    transform: rotate(45deg);
  }
  .btn-g-nav.active .btn-g-nav_line::after {
    top: 0;
    transform: rotate(-45deg);
  }
  .btn-g-nav_line {
    display: block;
    height: 2px;
    position: absolute;
    top: 18px;
    left: 50%;
    transform: translateX(-50%);
    width: 26px;
    background-color: var(--blue);
    transition: all 0.3s ease;
  }
  .btn-g-nav_line:before, .btn-g-nav_line:after {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    background-color: var(--blue);
    transition: inherit;
  }
  .btn-g-nav_line:before {
    top: -8px;
  }
  .btn-g-nav_line:after {
    top: 8px;
  }
  .btn-g-nav_text {
    position: absolute;
    transform: translateX(-50%);
    width: 100%;
    color: var(--blue);
    bottom: .5em;
    left: 50%;
    font-size: 1rem;
    text-align: center;
  }
  /* SP-メニュー表示 
----------------------------------------*/
  .wrap-g-nav nav {
    background: var(--offwhite);
    position: fixed;
    padding: 60px 0;
    display: flex;
    flex-direction: column;
    width: 0;
    height: 100%;
    top: 0;
    right: -100%;
    transition: all 0.3s ease;
  }
  .wrap-g-nav nav.active {
    width: 100%;
    height: 100%;
    right: 0;
    overflow-y: auto;
  }
  .g-nav, .lang-nav {
    max-width: 480px;
    width: calc(100% - 4em);
    margin: 0 auto;
  }
  .g-nav > li a {
		color: var(--blue);
    display: block;
		font-weight: bold;
    padding: 1em .5em;
    border-top: 1px solid var(--blue);
    position: relative;
		text-align: center;
  }
	.g-nav_cta {
		max-width: 100%;
	}
	nav.active .g-nav_cta {
		padding-top: 2em;
		border-top: 1px solid var(--blue);
	}
	.g-nav > li.g-nav_cta > a {
		border-radius: 5em;
		position: fixed;
		bottom: 8px;
		left: 0;
		right: 0;
		margin: auto;
		height: 42px !important;
		width: 12em !important;
		transition: 0s;
	}
	nav.active .g-nav > li.g-nav_cta > a {
		border-radius: 5em;
		position: relative;
		bottom: initial;
		left: initial;
		right: initial;
		margin: 0;
		height: 3.5em !important;
		width: 100% !important;
	}
  .lang-nav {
    display: flex;
    justify-content: center;
    margin-top: 2em;
  }
  .g-nav_link.g-sub-nav {
    position: relative;
    width: 100%;
  }
  .g-nav_link.g-sub-nav::after {
    content: '';
    display: block;
    height: 1em;
    position: absolute;
    top: 50%;
    right: calc(9px + .5em);
    width: 2px;
    background-color: var(--gray);
    transform: translateY(-50%);
    transition: transform 0.3s;
  }
  .g-nav_link.g-sub-nav::before {
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 10px;
    width: 1em;
    background-color: var(--gray);
    transform: translateY(-50%);
  }
  .g-nav_link.active::after {
    transform: translateY(-50%) rotate(-90deg);
  }
  .g-nav_link.g-sub-nav span {
    display: block;
    padding: 1em .5em;
    border-bottom: 1px solid var(--gray);
    position: relative;
  }
  .g-nav_link.g-sub-nav.active span {
    border-bottom: none;
  }
  .wrap-g-sub-nav {
    width: 100%;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    transition: all 0.3s ease;
  }
  .wrap-g-sub-nav.active {
    height: auto;
    visibility: visible;
    padding-bottom: 5px;
    border-bottom: 1px solid var(--gray);
  }
  .wrap-g-nav .g-sub-nav_list {
    margin-bottom: .5em;
  }
  .wrap-g-nav .g-sub-nav_list li a {
    border-top: 2px dotted var(--gray);
    border-bottom: none;
    padding: .5em;
  }
  .wrap-g-nav .g-sub-nav_list li:last-child a {}
  .wrap-sub-nav {
    display: block;
    padding: 2em;
    max-width: 240px;
    margin: 0 auto;
  }
}
/*--------------------------------------------
footer
---------------------------------------------*/
/* 関連リンク */
.related-links_section {
	background: var(--charcoal-gray);
	color: var(--white);
}
.related-links_section .con-inner {
	padding: 4rem 3rem;
}
.related-links_section .col-2box {
	justify-content: center;
}
.related-links_section .col-2box .heading-area {
	min-width: 200px;
	font-size: 2rem;
	border-right: 1px solid var(--white);
}
.link_list {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 4em;
	width: 100%;
}
.link_list li {
	padding-left: 1.2em;
	position: relative;
}
.link_list li::before,
.link_list li::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: .65em;
  height: 2px;
  border-radius: 9999px;
  background-color: var(--white);
  transform-origin: calc(100% - 1px) 50%;
}
.link_list li::before {
  transform: rotate(45deg);
}
.link_list li::after {
  transform: rotate(-45deg);
}
.link_list li a {
	text-decoration: none;
}
.link_list li a:hover {
	text-decoration: underline;
}
footer {
  background: var(--blue);
  color: #fff;
}
.footer_inner {
  padding: 20px 0;
}
.footer-wrap {
}
.logo_osaka-cci {
  width: 180px;
  height: auto;
  margin: 0 auto 1rem;
}
.logo_osaka-cci a:hover {
  opacity: .8;
}
.nav-footer {
  width: calc(100% - 200px - 3rem);
  max-width: 800px;
  display: flex;
  flex-wrap: wrap;
  gap: .5em 1em;
}
@media only screen and (max-width: 1200px) {
	.footer_inner {
		padding: 20px 0 50px;
	}
}
@media only screen and (max-width: 960px) {
	.related-links_section .col-2box .heading-area {
		border-right: none;
	}
	.related-links_section .con-inner {
		padding: 3rem 0 3.5rem;
	}
  .footer-wrap {
    flex-direction: column;
  }
  .logo_osaka-cci {
    width: 150px;
  }
  .nav-footer {
    width: 100%;
    font-size: 1.4rem;
    gap: .5em 1em;
  }
}
.page-top {
  display: none;
  z-index: 99;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 60px;
  height: 60px;
}
.page-top a {
  height: 100%;
  width: 100%;
  display: block;
  position: relative;
  background-color: var(--white);
}
.page-top a::before {
  content: '';
  width: 15px;
  height: 15px;
  border-top: solid 2px var(--blue);
  border-right: solid 2px var(--blue);
  position: absolute;
  transform: rotate(-45deg);
  top: calc((100% - 8px) / 2);
  left: calc((100% - 15px) / 2);
}
.page-top a:hover {
  background-color: var(--charcoal-gray);
}
.page-top a:hover::before {
  border-top: solid 2px var(--white);
  border-right: solid 2px var(--white);
}
.copy {
  font-size: 1.2rem;
  text-align: center;
	margin-bottom: 1rem;
}
@media only screen and (min-width: 961px) {
  .sp-only {
    display: none;
  }
}
@media only screen and (max-width: 960px) {
  .sp-scroll {
    overflow-x: scroll;
  }
  .sp-scroll table {
    min-width: 96rem;
  }
  .page-top {
    width: 50px;
    height: 50px;
  }
  .pc-only {
    display: none;
  }
.link_list {
	gap: 1rem 2em;
}
	.link_list li {
	flex-basis: 0;
	flex-grow: 1;
	width: 50%;
}
}
/*--------------------------------------------
テキスト
---------------------------------------------*/
.heading-1 {
	color: var(--gray);
	font-size: 4rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: .5em;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.heading-1 span {
	background: var(--yellow);
	color: var(--white);
  display: inline-block;
  margin-bottom: 2em;
  position: relative;
  font-size: 1.6rem;
  padding: .75em 2em;
	line-height: 1;
}
.heading-1 span::before {
}
.heading-2 {
	font-size: 2.6rem;
  font-weight: bold;
  color: var(--charcoal-gray);
	position: relative;
	padding-left: 20px;
	margin-bottom: 1em;
}
.heading-2::before {
	content: "";
	width: 6px;
	height: calc(100% - .4em);
	background-color: var(--yellow);
	position: absolute;
	top: .25em;
	left: 0;
}
.heading-3 {
	font-size: 2.4rem;
  font-weight: bold;
  color: var(--blue);
  border-bottom: 3px solid var(--blue);
  padding-bottom: .25em;
  margin-bottom: .5em;
}
.heading-4 {
  font-size: 2.6rem;
	color: var(--blue);
  font-weight: bold;
	text-align: center;
  margin-bottom: .5em;
}
.heading-5 {
  font-size: 2rem;
	color: var(--blue);
  font-weight: bold;
	text-align: center;
  margin-bottom: .5em;
}

@media only screen and (max-width: 960px) {
  .heading-1 {
    font-size: 2.4rem;
  }
	.heading-1 span {
		font-size: 1.4rem;
		margin-bottom: 1em;
	}
	.heading-1 span::before {
		height: 3px;
	}
	.heading-2 {
		font-size: 2rem;
		padding-left: 15px;
	  margin-bottom: 2rem;
	}
	.heading-2::before {
		height: 24px;
	}
	.heading-3 {
		font-size: 2rem;
	}
	.heading-4 {
		font-size: 1.8rem;
		margin-bottom: 1em;
	}
}

.font-s {
  font-size: .8em !important;
}
.font-l {
  font-size: 1.2em !important;
}
.pc-font-20 {
	font-size: 2rem;
}
.pc-font-18 {
	font-size: 1.8rem;
}
.font-15 {
	font-size: 1.5rem;
}
.font-14 {
	font-size: 1.4rem;
}
.lead {
	font-size: 1.8rem !important;
	font-weight: normal;
}
.wrap-lead-img {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: auto;
	gap: 1em 2em;
}
.wrap-lead-img.row {
	flex-direction: row-reverse;
}
.lead-img,
.lead-img img {
	max-width: 200px;
	max-height: 160px;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.font-bold {
  font-weight: bold !important;
}
.font-blue {
  color: var(--blue);
}
.text-left {
  text-align: left !important;
}
.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right !important;
}
/*
親要素に.text-center 子要素に.text-left_inline-block
中央並び・左揃えにできる
*/
.text-left_inline-block {
	display: inline-block;
	text-align: left !important;
}

/*@media only screen and (max-width: 767px) {*/
@media only screen and (max-width: 960px) {
  .font-l {
    font-size: 1.1em !important;
  }
	.pc-font-20 {
		font-size: 1.8rem;
	}
	.pc-font-18 {
		font-size: 1.6rem;
	}
	.lead {
		font-size: 1.5rem !important;
	}
}
@media only screen and (max-width: 768px) {
.wrap-lead-img,
.wrap-lead-img.row {
		flex-direction: column;
		align-items: center;
	}
.lead-img,
.lead-img img {
		max-width: 160px;
	}
}
/*--------------------------------------------
アイコンフォント
---------------------------------------------*/
@font-face {
  font-family: 'iconset';
  src:
    url('../fonts/iconset.ttf') format('truetype'), url('../fonts/iconset.woff') format('woff'), url('../fonts/iconset.svg') format('svg');
  font-weight: normal !important;
  font-style: normal;
  font-display: block;
}
[class^="icon-"]::after, [class*=" icon-"]::after, main a[target="_blank"]::after, .list-news a::after, [class^="icon-"]::before, [class*=" icon-"]::before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'iconset' !important;
  vertical-align: bottom;
  speak: never;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  text-decoration: none !important;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-blank::after, main:not(.top) a[target="_blank"]::after {
  content: "\e900";
  font-size: 1em;
  margin-left: .25em;
  margin-right: .25em;
  display: inline-block;
}
.icon-file::after {
/*
  content: "\e901" !important;
  font-size: 1em;
  margin-left: .25em;
  margin-right: .25em;
  display: inline-block;
*/
}
.icon-link::after {
  content: "\e902" !important;
  font-size: 1em;
  margin-left: .5em;
  margin-right: .25em;
  display: inline-block;
}
.icon-up::after {
  content: "\e903";
  font-size: 1em;
  margin-left: .25em;
  margin-right: .25em;
  display: inline-block;
}
.icon-down::after {
  content: "\e904";
  font-size: 1em;
  margin-left: .25em;
  margin-right: .25em;
  display: inline-block;
}
.icon-pagetop::after {
  content: "\e905";
  font-size: 1em;
  margin-left: .25em;
  margin-right: .25em;
  display: inline-block;
}
.icon_mail::before {
	content: '';
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 1.25em;
	height: 1.25em;
  margin-right: .5em;
	display: block;
	background-image: url(../img/icon-mail-w.svg);
	transition: 0.3s ease-in-out;
}
.icon_mail:hover::before {
	background-image: url(../img/icon-mail.svg);
	transition: 0.3s ease-in-out;
}
.icon-none::after {
	display: none !important;
}

/*--------------------------------------------
リンクボタン
---------------------------------------------*/
.link_btn a {
	border-radius: 5em;
  display: inline-block;
  font-weight: normal;
  color: #fff;
  background-color: var(--blue);
  position: relative;
  padding: 1em 2.5em 1em 1.5em;
  margin: 0 auto;
  transition: 0.3s ease-in-out;
  text-decoration: none;
}
.link_btn a::after {
  position: absolute;
  right: 1em;
  margin: 0 !important;
}
.link_btn a:hover {
  background: var(--yellow);
  color: var(--charcoal-gray);
}
.link_btn a.icon_mail {
	padding: 1em 2em 1em 3em;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* アイコンなし */
a.icon_mail[target="_blank"]::after ,
.link_btn.link-file a[target="_blank"]::after {
  display: none !important;
}
.link_btn.link-file a {
		padding: 1em 1em 1em 1.5em;
}

/*@media only screen and (max-width: 767px) {*/
@media only screen and (max-width: 960px) {
  .link_btn a {
    padding: .8em 2.5em .8em 1em;
  }
	.link_btn.link-file a {
    padding: .8em 1em .8em 1.5em;
  }
  .link_btn a::after {
    right: .75em;
  }
}
/*--------------------------------------------
アンカーリンク
---------------------------------------------*/
.nav-anc {
	display: flex;
	font-weight: bold;
	flex-wrap: wrap;
	padding-left: 1px;
	margin-bottom: 2em;
	gap: .5em 2em;
}
.nav-anc li {
	border-left: none;
}
.nav-anc a {
  position: relative;
  display: inline-block;
  padding-right: 1.5em;
  text-decoration: none;
  transition: .2s;
}
.nav-anc a::before,
.nav-anc a::after {
  content: "";
  position: absolute;
  right: .5em;
  bottom: calc((100% - .6em) / 2);
  width: 2px;
  height: .6em;
  background-color: var(--blue);
  border-radius: 1em;
  transform-origin: 50% calc(100% - 1px);
}
.nav-anc a::before {
  transform: rotate(45deg);
}
.nav-anc a::after {
  transform: rotate(-45deg);
}
.nav-anc a:hover::before,
.nav-anc a:hover::after {
  bottom: .3em;
  transition: .2s;
}
.nav-anc.bg-blue {
	padding: .75em 1em;
	background: var(--light-blue-gray01) !important;
}
.nav-anc.bg-blue a {
	color: var(--charcoal-gray);
}
.nav-anc.bg-blue a:hover {
	color: var(--blue);
}
/*--------------------------------------------
リスト
---------------------------------------------*/
main ul, main ol {
  line-height: 1.5;
}
ol {
  counter-reset: item;
}
.nav-anc-page {
  border-radius: .5em;
  background: var(--gray);
  padding: 1.5em .5em;
  margin: 5em auto;
  width: calc(100% - 4vw);
  max-width: var(--wrap-xl);
}
.nav-anc-page ul {
  justify-content: center;
  gap: 1em 2em;
}
.nav-anc-page a {
  color: #fff;
  position: relative;
}
.wrap-bread {
  font-size: 1.2rem;
  padding: 1em 0 5em;
}
.wrap-bread ol {
  width: calc(100% - 4vw);
  max-width: var(--wrap-xl);
  margin: auto;
}
.wrap-bread ol li {
  display: inline;
  position: relative;
}
.wrap-bread ol li:not(:last-child)::after {
  content: '/';
  margin: 0 .75em;
}
.wrap-bread a {
  color: var(--blue);
  font-weight: bold;
}
.wrap-bread a:hover {
  text-decoration: underline;
}
.list-num > li {
  counter-increment: item;
  position: relative;
  padding-left: 1.5em;
}
.list-num > li:before {
  position: absolute;
  left: 0;
  content: counter(item);
}
.list-brackets > li {
  counter-increment: item;
  position: relative;
  padding-left: 2.25em;
}
.list-brackets > li:before {
  position: absolute;
  left: -.5em;
  content: counter(item);
	content: "（" counter(item) "）";
}
.list-notes-num > li {
  counter-increment: item;
  position: relative;
  padding-left: 2.75em;
}
.list-notes-num > li:before {
  position: absolute;
  left: 0;
  content: "※"counter(item) " ";
}
.list-notes > li {
  position: relative;
  padding-left: 1.5em;
}
.list-notes > li::before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;
}
.list-dot > li {
  position: relative;
  padding-left: 1.25em;
}
.list-dot > li::before {
  content: '';
  border-radius: 50%;
  width: .6em;
  height: .6em;
  display: inline-block;
  background: var(--yellow);
  position: absolute;
  top: .5em;
  left: .2em;
}
.list-dot.blue > li::before {
  background: var(--blue);
}
.list-link a {
  color: var(--blue);
  font-weight: bold;
}
.list-link a:hover {
  text-decoration: underline;
}
.list-num > li:not(:last-child), .list-brackets > li:not(:last-child), .list-notes-num > li:not(:last-child), .list-notes > li:not(:last-child), .list-dot > li:not(:last-child), .list-link > li:not(:last-child) {
  margin-bottom: .5em;
}
/*--------------------------------------------
 アコーディオン
---------------------------------------------*/
.wrap-accordion {
	background: #fff;
  overflow: hidden;
  margin: 3em auto 0;
}
.wrap-accordion .heading-accordion {
  background: #fff;
  color: var(--charcoal-gray);
  border-top: 1px solid #ccc;
  padding: 1em 3em 1em 1em;
  display: flex;
  align-items: center;
  position: relative;
	transition: .3s;
}
.wrap-accordion .heading-accordion:last-of-type {
  border-bottom: 1px solid #ccc;
}
.wrap-accordion .heading-accordion:after,
.wrap-accordion .heading-accordion:before {
  display: block;
  content: '';
  background-color: var(--charcoal-gray);
  position: absolute;
  width: 2px;
  height: 14px;
/*  top: calc(50% - .25em);*/
  right: 1.5em;
  transition: .3s;
}
.wrap-accordion .heading-accordion:before {
  transform: rotate(90deg);
}
.wrap-accordion .heading-accordion.active:after {
  transform: rotate(45deg);
}
.wrap-accordion .heading-accordion.active:before {
  transform: rotate(135deg);
}
.wrap-accordion .text-accordion {
  background: #fff;
  display: flex;
  padding: 1em;
}

/* 文中使用 padding調整 */
.wrap-accordion.pd-s .heading-accordion {
  padding: .5em 3em .5em 1em;
}

/* 大見出し 直下想定 border無・radius追加 */
.wrap-accordion.border-none .heading-accordion,
.wrap-accordion.border-none .heading-accordion:last-of-type {
	border: none;
}
.wrap-accordion.border-none .heading-accordion.active + .text-accordion {
	border: none;
}
/*---------------------------------------------
FAQ
---------------------------------------------*/
section[id^="anc-faq"]:not(:last-child) {
  margin-bottom: 3em;
}
.wrap-faq {
  background: #fff;
	border-bottom: 1px solid #ccc;
	font-feature-settings: "palt";
  letter-spacing: 0.05em;
  overflow: hidden;
}
.wrap-faq .heading-faq {
  background: #fff;
  border-top: 1px solid #ccc;
  padding: 1em 3em 1em 1em;
  font-weight: bold;
  display: flex;
  align-items: center;
  position: relative;
}
.wrap-faq .heading-faq:after, .wrap-faq .heading-faq:before {
  display: block;
  content: '';
  background-color: var(--blue);
  position: absolute;
  width: 2px;
  height: 14px;
  top: calc(50% - .25em);
  right: 1.5em;
  transition: .3s;
}
.wrap-faq .heading-faq:before {
  transform: rotate(90deg);
}
.wrap-faq .heading-faq.active:after {
  transform: rotate(45deg);
}
.wrap-faq .heading-faq.active:before {
  transform: rotate(135deg);
}
.wrap-faq .text-faq {
  background: #fff;
  display: flex;
  padding: 1.25em 1em;
}
.wrap-faq .heading-faq *:first-child, .wrap-faq .text-faq > *:first-child {
  width: 2em;
	color: var(--blue);
  font-weight: bold;
}
.wrap-faq .heading-faq *:last-child, .wrap-faq .text-faq > *:last-child {
  width: calc(100% - 2em);
}
.wrap-faq .heading-faq.active {
  color: var(--gray);
	background: var(--offwhite);
}
/* hoverが使える端末 PC想定 */
@media (hover: hover) {
  .wrap-faq .heading-faq:hover {
    color: var(--gray);
		background: var(--offwhite);
		cursor: pointer;
  }
}
/* hoverが使えない端末 スマホ想定 */
@media (hover: none) {}

/*@media only screen and (min-width: 768px) {*/
@media only screen and (min-width: 961px) {
}
/*@media only screen and (max-width: 767px) {*/
@media only screen and (max-width: 960px) {
  .faq-ttl {
		padding: 0; 
  }
  .faq-content {
    width: 100%;
    padding-top: 0;
  }
  .faq-content .nav-anc {
		font-size: 1.3rem;
    margin-bottom: 2em;
    row-gap: 1em;
  }
  .wrap-faq .heading-faq {
    font-size: 1.4rem;
    padding: 1rem 3rem 1rem 1rem;
  }
  .wrap-faq .heading-faq:after, 
  .wrap-faq .heading-faq:before {
    height: 12px;
    right: 1.5rem;
  }
  .wrap-faq .text-faq {
    font-size: 1.4rem;
    padding: 1rem;
  }
}

/*--------------------------------------------
テーブル
---------------------------------------------*/
.wrap-table {
  color: var(--blue);
  background: #fff;
  width: 100%;
  line-height: 1.3;
}
.wrap-table thead th {
  background: var(--blue);
}
.wrap-table th, .wrap-table td {
  background: #fff;
  border: 1px solid #a1b7c2;
  padding: .75em .5em;
}
.wrap-table th[scope="col"] {
  background: var(--blue);
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.wrap-table th[scope="row"] {
  background-color: #e2ebf0;
  font-weight: bold;
}
.wrap-table tbody tr:nth-child(even) > td {
  background: rgb(var(--gray-rgb) / 5%);
}
/*---------------------------------------------
 モーダルウィンドウ
---------------------------------------------*/
.modal-btn {
  width: 100%;
	font-size: 1.25em;
	font-weight: bold;
  display: block;
  text-align: center;
  color: var(--white);
  background-color: var(--blue);
	border-radius: 5em;
  position: relative;
  padding: .75em 1.5em .75em .75em;
  transition: 0.3s ease-in-out;
  max-width: 80rem;
  margin: auto;
}
.modal-btn::before,
.modal-btn::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 1em;
  width: .5em;
  height: 2px;
  border-radius: 9999px;
  background-color: var(--white);
  transform-origin: calc(100% - 1px) 50%;
	transition: 0.3s ease-in-out;
}
.modal-btn::before {
  transform: rotate(45deg);
}
.modal-btn::after {
  transform: rotate(-45deg);
}
.modal-btn:hover {
  background: var(--yellow);
	color: var(--charcoal-gray);
}
.modal-btn:hover::before,
.modal-btn:hover::after {
  background-color: var(--charcoal-gray);
  right: 10px;
	transition: 0.3s ease-in-out;
}
.modal-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  text-align: center;
  background: rgb(0 0 0 / 50%);
	backdrop-filter: blur(3px);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s ease-out;
  z-index: 101;
}
.modal-container.active {
  opacity: 1;
  visibility: visible;
}
.modal-body {
  position: absolute;
  display: inline-block;
  vertical-align: middle;
  width: 90%;
  max-height: 80vh;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.modal-close {
  position: absolute;
  top: -30px;
  right: 0;
  font-size: 14px;
  color: #fff;
  background: var(--charcoal-gray);
  padding: 4px 15px;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
}
.modal-content {
  height: 100%;
  background: #fff;
  text-align: left;
  padding: 15px;
  overflow: scroll;
}

/*@media screen and (max-width: 767px) {*/
@media only screen and (max-width: 960px) {
	.modal-btn {
		font-size: 1.5rem;
	}
	.modal-body {
		width: calc(100% - 2em);
	}
}
/*--------------------------------------------
色
---------------------------------------------*/
.bg-gray {
  background: var(--gray) !important;
}
.bg-blue-20 {
  background: rgb(var(--blue-rgb) / 20%) !important;
}

/*  文字色  */
.f-white {
	color: var(--white);
}
.f-offwhite {
	color: var(--offwhite);
}
.f-blue {
	color: var(--blue);
}
.f-light-blue01 {
	color: var(--light-blue-gray01);
}
.f-light-blue02 {
	color: var(--light-blue-gray02);
}
.f-light-blue03 {
	color: var(--light-blue-gray03);
}
.f-yellow {
	color: var(--yellow);
}
.f-charcoal-gray {
	color: var(--charcoal-gray);
}

/*  背景色  */
.bg-white {
	background-color: var(--white) !important;
}
.bg-offwhite {
	background-color: var(--offwhite) !important;
}
.bg-blue {
	background-color: var(--blue) !important;
}
.bg-light-blue01 {
	background-color: var(--light-blue-gray01) !important;
}
.bg-light-blue02 {
	background-color: var(--light-blue-gray02) !important;
}
.bg-light-blue03 {
	background-color: var(--light-blue-gray03) !important;
}
.bg-yellow {
	background-color: var(--yellow) !important;
}
.bg-charcoal-gray {
	background-color: var(--charcoal-gray) !important;
}
/*--------------------------------------------
レイアウト
---------------------------------------------*/
.mt-0 {
  margin-top: 0 !important;
}
.mt-05 {
  margin-top: .5em !important;
}
.mt-1 {
  margin-top: 1em !important;
}
.mt-2 {
  margin-top: 2em !important;
}
.mt-3 {
  margin-top: 3em !important;
}
.mt-4 {
  margin-top: 4em !important;
}
.mt-5 {
  margin-top: 5em !important;
}
.mt_pc-4_sp-1 {
  margin-top: 4em !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mb-05 {
  margin-bottom: .5em !important;
}
.mb-1 {
  margin-bottom: 1em !important;
}
.mb-2 {
  margin-bottom: 2em !important;
}
.mb-3 {
  margin-bottom: 3em !important;
}
.mb-4 {
  margin-bottom: 4em !important;
}
.mb-5 {
  margin-bottom: 5em !important;
}
.ml-auto {
  margin-left: auto;
}
.mr-auto {
  margin-right: auto;
}
.ml-mr-auto {
	margin-left: auto;
	margin-right: auto;
}
.pt-0 {
  padding-top: 0 !important;
}
.pt-05 {
  padding-top: .5em !important;
}
.pt-1 {
  padding-top: 1em !important;
}
.pr-1 {
  padding-right: 1em !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
@media only screen and (max-width: 960px) {
  .mt_pc-4_sp-1 {
    margin-top: 1em !important;
  }
}
/* width */
/* ============================================ */
.width-100 {
  width: 100% !important;
}
.width-90 {
  width: 90% !important;
}
.width-85 {
  width: 85% !important;
}
.width-80 {
  width: 80% !important;
}
.width-75 {
  width: 75% !important;
}
.width-70 {
  width: 70% !important;
}
.width-65 {
  width: 65% !important;
}
.width-60 {
  width: 60% !important;
}
.width-55 {
  width: 55% !important;
}
.width-50 {
  width: 50% !important;
}
.width-45 {
  width: 45% !important;
}
.width-40 {
  width: 40% !important;
}
.width-35 {
  width: 35% !important;
}
.width-25 {
  width: 25% !important;
}
.width-20 {
  width: 20% !important;
}
.width-15 {
  width: 15% !important;
}
.width-10 {
  width: 10% !important;
}
.w-1 {
  width: 1em !important;
}
.w-2 {
  width: 2em !important;
}
.w-3 {
  width: 3em !important;
}
.w-4 {
  width: 4em !important;
}
.w-5 {
  width: 5em !important;
}
.w-6 {
  width: 6em !important;
}
.w-7 {
  width: 7em !important;
}
.w-8 {
  width: 8em !important;
}
.w-9 {
  width: 9em !important;
}
.w-10 {
  width: 10em !important;
}
.max-w320px {
	max-width: 320px !important;
	width: 100% !important;
}
.max-con-xl {
  max-width: var(--wrap-xl) !important;
}
.max-con-l {
  max-width: var(--wrap-l) !important;
}
.max-con-m {
  max-width: var(--wrap-m) !important;
}
.max-con-s {
  max-width: var(--wrap-s) !important;
}
/*@media screen and (max-width: 767px) {*/
@media only screen and (max-width: 960px) {
  .sp-width-100 {
    width: 100% !important;
  }
	.wrap-flex.line.max-con-m {
		max-width: 48rem !important;
	}
}
/*--------------------------------------------
色、コンテンツ幅設定
---------------------------------------------*/ 
:root {
	/*  ホワイト  */
  --white: #fff;
  /*  オフホワイト  */
  --offwhite: #f8f1e5;
  --offwhite-rgb: 248 241 229;
  /*  青  */
  --blue: #426e86;
  --blue-rgb: 66 110 134;
	/*  薄青  */
	--light-blue-gray01: #DDE7ED;
  --light-blue-gray02: #c4d8e3;
	--light-blue-gray03: #B0C9D9;
  /*  黄色  */
  --yellow: #f9ba32;
  /*  グレー  */
  --gray: #2f3131;
  --gray-rgb: 47 49 49;
	/*  チャコールグレー（指定色） */
	--charcoal-gray: #2F3131; 
  /*  コンテンツ幅  */
  --wrap-xl: 1500px;
  --wrap-l: 1200px;
  --wrap-m: 1000px;
  --wrap-s: 800px;
}