@charset "utf-8";
/* ################################################################################
   Object_Component
   ################################################################################ */


/* ======================================================================
   Button
   ====================================================================== */


.c-button--my-page {
	padding: 0.625em 1.5em;
	background: #fff;
	border: solid 0.125em #ec6941;
	border-radius: 1.75em;
	color: #ec6941f;
	font-weight: bold;
}
.c-button--my-page:hover, 
.c-button--my-page:active,  
.c-button--my-page:focus {
	background: #ec6941;
	border: solid 0.125em #ec6941;
	color: #fff;
	text-decoration: none;
}

@media screen and (max-width:959px) {
.c-button--my-page {
	border: solid 0.15em #ec6941;
	font-size: 0.625em;
}
.c-button--my-page:hover, 
.c-button--my-page:active,  
.c-button--my-page:focus {
	border: solid 0.15em #ec6941;
}
}

@media screen and (max-width:559px) {
.c-button--my-page {
	padding: 0.625em 1.5em;
	background: #fff;
	border: solid 0.125em #ec6941;
	border-radius: 1.75em;
	color: #ec6941;
	font-weight: bold;
}
.c-button--my-page:hover, 
.c-button--my-page:active,  
.c-button--my-page:focus {
	background: #ec6941;
	border: solid 0.125em #ec6941;
	color: #fff;
	text-decoration: none;
}
}



.c-button--table {
	margin-top: 0.5em;
	padding: 0.5em 1.0em;
	background: #e76040;
	border: none;
	border-radius: 1.5em;
	color: #fff;
	font-weight: bold;
}
.c-button--table:hover, 
.c-button--table:active, 
.c-button--table:focus {
	background: #ec6941;
	color: #fff;
	text-decoration: none;
}

.c-button__icon--table {
	padding-left: 0.25em;
}



.c-button--option-service {
	margin-top: 0.5em;
	padding: 0.5em 1.0em;
	background: #e76040;
	border: none;
	border-radius: 1.5em;
	color: #fff;
	font-weight: bold;
}
.c-button--option-service:hover, 
.c-button--option-service:active, 
.c-button--option-service:focus {
	background: #ec6941;
	color: #fff;
	text-decoration: none;
}

.c-button__icon--option-service {
	padding-left: 0.25em;
}



.c-button--rules {
	width: 80%;
	padding: 0.5em 1.75em;
	background: #fff;
	border: solid 0.125em #13b5b1;
	border-radius: 1.5em;
	color: #13b5b1;
	font-size: 1.25em;
	font-weight: bold;
}
.c-button--rules:hover, 
.c-button--rules:active, 
.c-button--rules:focus {
	opacity: 1.0;
	background: #13b5b1;
	border: solid 0.125em #fff;
	color: #fff;
	text-decoration: none;
}

.c-button__icon--rules {
	padding-left: 0.25em;
}

@media screen and (max-width:959px) {
.c-button--rules {
	width: 90%;
	font-size: 1.0em;
}
}

@media screen and (max-width:559px) {
.c-button--rules {
	margin: 1.0em 0;
	width: 100%;
	font-size: 1.0em;
}
}




.c-button--details {
	width: 80%;
	padding: 0.5em 1.75em;
	background: #13b5b1;
	border: solid 0.125em #13b5b1;
	border-radius: 1.5em;
	color: #fff;
	font-size: 1.25em;
	font-weight: bold;
}
.c-button--details:hover, 
.c-button--details:active, 
.c-button--details:focus {
	opacity: 1.0;
	background: #fff;
	border: solid 0.125em #13b5b1;
	color: #13b5b1;
	text-decoration: none;
}

.c-button__icon--details {
	padding-left: 0.25em;
}

@media screen and (max-width:959px) {
.c-button--details {
	width: 90%;
	font-size: 1.0em;
}
}

@media screen and (max-width:559px) {
.c-button--details {
	width: 100%;
	margin: 0 0 1.0em;
	font-size: 1.0em;
}
}





/* ======================================================================
   Table（テーブル）
   ====================================================================== */


/* [Decoration]プレゼンテーション
   ================================================================= */

.c-table--presentation {
  max-width: 100%;
  margin: 3.0em 0;
  background: #2075c9;
  border: solid 0.3rem #2075c9;
}

.c-table__tbody--presentation {
}

.c-table__tr--presentation {
  display: flex;
  flex-wrap: wrap;
  flex-basis: 100%;
}

.c-table__th--presentation {
  display: flex;
  flex-basis: 25%;
  align-self: stretch;
	justify-content: center;
	padding: 1.0em;
  background: #2075c9;
  border: none;
}

.c-table__td--presentation {
  display: flex;
  flex-basis: 75%;
  align-self: stretch;
	padding: 1.0em;
	background: #fff;
  border: none;
}

.c-table__header--presentation {
  align-self: center;
  padding: 0;
}

.c-table__heading--presentation {
	color: #fff;
	font-size: 1.625em;
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: bold;
}

.c-table__body--presentation {
  align-self: center;
  padding: 0;
}

.c-table__body-text--presentation {
	font-style: normal;
	color: #2075c9;
	font-size: 2.0em;
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: bold;
}

.c-table__body-annotation--presentation {
	font-style: normal;
	color: #666;
	font-size: 0.875em;
}

@media screen and (max-width:959px) {
.c-table--presentation {
  margin: 2.0em 0;
}

.c-table__th--presentation {
	flex-basis: 30%;
}

.c-table__td--presentation {
    flex-basis: 70%;
}
	
.c-table__heading--presentation {
	font-size: 1.375em;
}

.c-table__body-text--presentation {
	font-size: 1.5em;
}
}

@media screen and (max-width:559px) {
.c-table--presentation {
  margin: 1.5em 0;
}

.c-table__th--presentation {
	flex-basis: 100%;
}
	
.c-table__td--presentation {
	flex-basis: 100%;
}

.c-table__heading--presentation {
	font-size: 1.25em;
}

.c-table__body-text--presentation {
	font-size: 1.625em;
}
}





/* ======================================================================
   Images
   ====================================================================== */


/* Visual Image（ビジュアルイメージ）
   ================================================================= */

/* 「画像を枠幅いっぱいに広げ、LPのように縦に並べていくコンテンツ」を想定した各種指定です。 */


/* ------------------------------------------------------------
   通常
   ------------------------------------------------------------ */

.c-visual-image {
  width: 100%;
  margin: 0 auto;
}
.c-visual-image__content {
	width: 100% !important;
	height: auto !important;
	margin: 0;
  padding: 0;
	max-width: inherit !important;
	max-height: inherit !important;
	margin-left: inherit !important;
	margin-right: inherit !important;
}



/* ------------------------------------------------------------
   [Decoration]PC/Tab/SPで表示する画像を変化させる場合
   ------------------------------------------------------------ */

.c-visual-image__content--pc {
	display: block;
}

.c-visual-image__content--tab {
	display: none;
}

.c-visual-image__content--sp {
	display: none;
}

@media screen and (max-width:959px) {
.c-visual-image__content--pc {
	display: block;
}

.c-visual-image__content--tab {
	display: block;
}

.c-visual-image__content--sp {
	display: none;
}
}

@media screen and (max-width:559px) {
.c-visual-image__content--pc {
	display: none;
}

.c-visual-image__content--tab {
	display: none;
}

.c-visual-image__content--sp {
	display: block;
}
}




/* Media_Notice（お知らせ型の記事一覧）
   ================================================================= */


/* ------------------------------------------------------------
   [Foundation]
   ------------------------------------------------------------ */

.c-notice {
  flex-basis: 100%;
  margin: 0;
  padding: 0;
  font-size: 0.875em;
}

/* ウィジェット登録時のフォントサイズ微調整 */
.p-widget .c-notice, 
.p-widget-main .c-notice {
  font-size: inherit;
}

.c-notice__link {
  display: block;
  padding: 1.25em;
  background: var(--link-bgcolor);
  color: inherit;
  font-weight: inherit;
}
.c-notice__link:hover, 
.c-notice__link:active, 
.c-notice__link:focus {
  background: var(--link-bgcolor-hover);
  color: inherit;
  text-decoration: none;
}

.c-notice__inner {
  display: flex;
  flex-wrap: wrap;
}

.c-notice__header {
  display: flex;
  flex-basis: 32%;
	flex-wrap: wrap;
  align-items: center;
  padding: 0 0.75em 0 0;
}

.c-notice__body {
  display: flex;
  flex-basis: 68%;
  align-items: center;
}

.c-notice__title {
  margin: 0;
  padding: 0;
	font-size: 1.125em;
  font-weight: normal;
}

.c-notice__category-name {
  margin: 0;
	padding: 0.1em 0.2em;
	background: #ccc;
	border-radius: 0.25em;
  font-size: 0.875em;
}

.c-notice__data {
  margin: 0;
	padding: 0 0.75em 0 0;
  font-size: 1.625em;
}

@media screen and (max-width:959px) {
.c-notice {
	flex-basis: 100%;
	font-size: 0.875em;
}
	
.c-notice__header {
  flex-basis: 100%;
  padding: 0 0 0.5em;
}
	
.c-notice__body {
  flex-basis: 100%;
}
}

@media screen and (max-width:559px) {
.c-notice {
	flex-basis: 100%;
	font-size: 0.75em;
}
	
.c-notice__header {
  flex-basis: 100%;
  padding: 0 0 0.5em;
}
	
.c-notice__body {
  flex-basis: 100%;
}
}




/* ------------------------------------------------------------
   [Decoration]ニュース
   ------------------------------------------------------------ */

.c-notice__link {
  background: var(--link-bgcolor);
}
.c-notice__link:hover, 
.c-notice__link:active, 
.c-notice__link:focus {
  background: var(--link-bgcolor);
}

.c-notice__category-name {
	background: #1e5992;
	color: #fff;
}

.c-notice__data {
  font-weight: bold;
}

@media screen and (max-width:959px) {
.c-notice {
	flex-basis: 100%;
	font-size: 0.875em;
}
	
.c-notice__header {
  flex-basis: 100%;
  padding: 0 0 0.5em;
}
	
.c-notice__body {
  flex-basis: 100%;
}
}

@media screen and (max-width:559px) {
.c-notice {
	flex-basis: 100%;
	font-size: 0.75em;
}
	
.c-notice__header {
  flex-basis: 100%;
  padding: 0 0 0.5em;
}
	
.c-notice__body {
  flex-basis: 100%;
}
}





/* ======================================================================
   画像のカラム割合表示
   ====================================================================== */

.c-column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.c-column__percent-100-100-100 {
	display: flex;
	flex-basis: 100%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-50-50-100 {
	display: flex;
	flex-basis: 50%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-45-45-100 {
	display: flex;
	flex-basis: 45%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-40-40-100 {
	display: flex;
	flex-basis: 40%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-33-33-100 {
	display: flex;
	flex-basis: 33.3333%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-33-33-50 {
	display: flex;
	flex-basis: 33.3333%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-30-30-100 {
	display: flex;
	flex-basis: 30%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-20-20-100 {
	display: flex;
	flex-basis: 20%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-10-10-100 {
	display: flex;
	flex-basis: 10%;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.c-column__image {
	width: 100%;
	height: auto;
	max-width: inherit;
	max-height: inherit;
	margin-left: inherit;
	margin-right: inherit;
}

.c-column__percent-10-10-100--plus {
	padding: 0 0.75em;
}

@media screen and (max-width:959px) {
.c-column__percent-100-100-100 {
	flex-basis: 100%;
}
	
.c-column__percent-50-50-100 {
	flex-basis: 50%;
}

.c-column__percent-45-45-100 {
	flex-basis: 45%;
}

.c-column__percent-40-40-100 {
	flex-basis: 40%;
}

.c-column__percent-33-33-100 {
	display: flex;
	flex-basis: 33.3333%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-33-33-50 {
	display: flex;
	flex-basis: 33.3333%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-30-30-100 {
	flex-basis: 30%;
}

.c-column__percent-20-20-100 {
	flex-basis: 20%;
}

.c-column__percent-10-10-100 {
	flex-basis: 10%;
}

.c-column__percent-10-10-100--plus {
	max-width: 90%;
	margin: 0 auto;
	padding: 0 0.75em;
}
}

@media screen and (max-width:559px) {
.c-column__percent-100-100-100 {
	flex-basis: 100%;
}

.c-column__percent-50-50-100 {
	flex-basis: 100%;
}

.c-column__percent-45-45-100 {
	flex-basis: 100%;
}

.c-column__percent-40-40-100 {
	flex-basis: 100%;
}

.c-column__percent-33-33-100 {
	display: flex;
	flex-basis: 100%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-33-33-50 {
	display: flex;
	flex-basis: 50%;
	flex-wrap: wrap;
	align-items: center;
}

.c-column__percent-30-30-100 {
	flex-basis: 100%;
}

.c-column__percent-20-20-100 {
	flex-basis: 100%;
}

.c-column__percent-10-10-100 {
	flex-basis: 100%;
}

.c-column__percent-10-10-100--plus {
	max-width: 35%;
	margin: 0 auto;
	padding: 0.75em 0;
}
}




/* ======================================================================
   タブメニュー
   ====================================================================== */

.c-tab-menu {
}

.c-tab-menu__tab {
	display: flex;
	/* justify-content: space-between; */
	margin: 0;
	padding: 0;
}

.c-tab-menu__tab-item {
	flex-basis: 50%;
	margin: 0;
	padding: 1.0em;
	background: #5bb8e0;
	border: solid 0.2em #5bb8e0;
	border-radius: 1.0em 1.0em 0 0;
	cursor: pointer;
	list-style: none;
	transition: .3s;
	color: #fff;
	text-align: center;
}
.c-tab-menu__tab-item:last-child {
	margin-right: 0;
}

.c-tab-menu__tab-item-active {
  background: #fff;
	border: 0.2em solid #fff;
	color: #5bb8e0;
  cursor: auto;
}


.c-tab-menu__tab-heading {
	margin: 0;
}

.c-tab-menu__content {
	padding: 1.5em 2.0em;
	background: #fff;
	border-radius: 0 0 1.0em 1.0em;
}

.c-tab-menu__content-item {
  display: none;
}
.c-tab-menu__content-item-show {
  display: block;
}

.c-tab-menu__content-title {
	margin: 1.0em 0 1.75em;
	font-size: 1.625em;
	letter-spacing: 0.03em;
	font-weight: bold;
	text-shadow: 0.05em 0.05em 0 #FFF, -0.05em -0.05em 0 #FFF, -0.05em 0.05em 0 #FFF, 0.05em -0.05em 0 #FFF, 0px 0.05em 0 #FFF, 0 -0.05em 0 #FFF, -0.05em 0 0 #FFF, 0.05em 0 0 #FFF;
	text-align: center;
}

.c-tab-menu__content-sub-title {
	margin-bottom: 1.25em;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
}

.c-tab-menu__content-heading {
	margin: 1.0em auto 1.0em;
	font-size: 1.75em;
	font-weight: bold;
	text-align: center;
}

.c-tab-menu__content-body {
	font-size: 1.125em;
	text-align: center;
}

@media screen and (max-width:959px) {
.c-tab-menu__tab-item {
	padding: 0.75em;
	border-radius: 0.75em 0.75em 0 0;
}
	
.c-tab-menu__tab-heading {
	font-size: 0.75em;
}
	
.c-tab-menu__content-title {
	font-size: 1.25em;
}
	
.c-tab-menu__content-sub-title {
	font-size: 1.25em;
}

.c-tab-menu__content-heading {
	margin: 2.0em 0 1.0em;
	font-size: 1.125em;
}

.c-tab-menu__content-body {
	font-size: 1.0em;
}
}

@media screen and (max-width:559px) {
.c-tab-menu__content-title {
	font-size: 1.125em;
}
	
.c-tab-menu__content-sub-title {
	font-size: 1.0em;
}

.c-tab-menu__content-heading {
	margin: 1.5em 0 1.0em;
	font-size: 1.0em;
}

.c-tab-menu__content-body {
	font-size: 0.875em;
}
}




/* [Decoration]お申込みオプションサービスについて
   ================================================================= */

.c-tab-menu--option-service {
}

.c-tab-menu__tab--option-service {
}

.c-tab-menu__tab-item--option-service {
}
.c-tab-menu__tab-item--option-service:last-child {
}
.c-tab-menu__tab-item-active--option-service {
	
}

.c-tab-menu__content--option-service {
}

.c-tab-menu__content-item {
}

.c-tab-menu__content-item-show {
}
