@charset "UTF-8";
/*
 * common.css
 */

/* ==========================================================
!Header
========================================================== */
@media screen and (min-width: 769px) {
	#header {
		font-size: 0;
		padding: 16px 0;
		width: 100%;
		min-width: 960px;
		border-top: 4px solid #3eabdd;
		background-color: #ffffff;
		position: relative;
		z-index: 1;
	}
		#hd_inner {
			display: table;
			width: 960px;
			height: 77px;
			text-align: left;
			margin: 0 auto;
		}
			#hd_logo01 {
				display: table-cell;
				width: 60%;
				vertical-align: middle;
			}
				#hd_logo01 ul {
					float: left;
					font-size: 0.1em;
					line-height: 1;
				}
					#hd_logo01 ul li {
						float: left;
						width: auto;
						margin: 0 10px 0 0;
					}

			#hd_logo02 {
				display: table-cell;
				width: 40%;
				vertical-align: middle;
			}
	#header #l_img01 {
		text-align: right;
	}
	#header #mainlogo {
		display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: 960px;
		margin: 0 auto;
	}
	#header #mainlogo #l_img01 {
		order: 2;
	}
	#header #mainlogo #l_img01 a {
		display: block;
	}
	#header #mainlogo #l_img01 a:hover {
		opacity: .8;
	}
	#header .inner01 {
		padding: 0;
	}
	#header #mainlogo ul {
		/* display: flex;
		justify-content: space-between;
		align-items: center; */
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	#header #mainlogo ul li {
		margin: 0 9px 0 0;
	}
	#header #mainlogo ul li a {
		display: block;
	}
	#header #mainlogo ul li a:hover {
		opacity: .8;
	}
	/* #header .inner #hd_logo01 {
		z-index: 1000;
		width: 33%;
	} */
	.txt_name01 {
		padding-right: 12px;
		font-weight: bold;
		font-size: 50%;
	}
}
@media screen and (max-width: 768px) {
	#header {
		border-top: 4px solid #3eabdd;
		background-color: #ffffff;
    font-size: 21px;
    line-height: 1.5;
	}
    #header .header_inner {
      max-width: 640px;
      margin: 0 auto;
      padding: 0 3.126% 0 3.126%;
      text-align: center;
    }
		#header #l_img01 {
			text-align: right;
      font-size: 140%;
		}
			#header #l_img01 img {
				width: 67.5%;
        max-width: 388px;
        height: auto;
			}
			#header #l_img01 a:hover {
				opacity: .8;
			}
			#header #mainlogo ul {
				display: flex;
				justify-content: space-between;
				align-items: center;
				max-width: 640px;
				margin: 1% auto 2.5% auto;
			}
				#header #mainlogo ul li {
					margin: 0 1% 0 1%;
				}
				#header #mainlogo ul li a:hover {
					opacity: .8;
				}
}

/* ==========================================================
!ご加入者限定
========================================================== */
@media screen and (min-width: 769px) {
  .insurance_wrap {
    width: 960px;
    margin: 0 auto;
    padding: 40px 0;
  }
  .insurance {
    padding: 10px 0 15px 0;
    border-width: 1px 1px 1px 1px;
    border-style: solid;
    border-color: #0054ae;
    border-radius: 6px;
    background: #fffdf3 none;
  }
    .insurance dl {
      padding: 0px 40px 0 40px;
    }
      .insurance dl dt {
        margin: 10px 0 10px 0;
        color: #0054ae;
        font-size: 20px;
        font-weight: bold;
        text-align: center;
      }
      .insurance dl dd {
        font-size: 15px;
        font-weight: normal;
        text-align: center;
      }
        .insurance dl dd span {
          display: block;
          margin: 0;
          font-size: 20px;
        }
}
@media screen and (max-width: 768px) {
  .insurance_wrap {
    max-width: 640px;
    padding: 0 3.126%;
    margin: 0 auto;
    line-height: 1.5;
  }
	.insurance {
		width: 100%;
		margin: 8.7% 0 8.7% 0;
		padding: 7.5% 3% 7.5% 3%;;
		border: 2px solid #0b56ab;
		border-radius: 6px;
		background-color: #fffdf4;
		text-align: center;
    box-sizing: border-box;
	}
		.insurance dt {
			color: #0b56ab;
			font-weight: bold;
			font-size: 1.4rem;
		}
		.insurance dd {
			font-size: 1.2rem;
		}
}

/* ==========================================================
!Pagetop
========================================================== */
/* fixed
------------------------------------ */
@media screen and (min-width: 769px) {
	.pagetop_fixed {
		position: absolute;
		right: 50px;
		/* display: none; */
		opacity: 0;
		transition: opacity .25s;
	}
	.pagetop_fixed.is-show {
		opacity: 1;
	}
		.pagetop_fixed p {
			display: block;
			cursor: pointer;
		}
		.pagetop_fixed p:hover {
			opacity: 0.8;
		}
	.pagetop_fixed .pagetop img {
    max-width: inherit;
		width: 50px;
		height: auto;
	}
}
@media screen and (max-width: 768px) {
	.pagetop_fixed {
		/* display: none; */
		position: fixed;
		width: 50px;
		z-index: 10;
		right: 3%;
		bottom: 0;
		opacity: 0;
		transition: opacity .25s;
	}
	.pagetop_fixed.is-show {
		opacity: 1;
	}
		.pagetop_fixed a {
			display: block;
			cursor: pointer;
		}
		.pagetop_fixed p {
			bottom: 65px !important;
		}
		.pagetop_fixed img {
			width: 50px;
			height: auto;
		}
}

/* ==========================================================
!Footer
========================================================== */
@media screen and (min-width: 769px) {
	#footer {
		width: 100%;
		/* margin: 40px 0 0 0; */
	}
		#ft_inner01 {
			position: relative;
			width: 960px;
			margin: 0 auto;
			text-align: left;
		}
			#ft_copyright {
				padding: 16px 0 16px 0;
				color: #ffffff;
				font-family: Arial, sans-serif;
				font-size: 63%;
				text-align: center;
				background: #3eabdd;
				min-width: 960px;
			}

			.ft_address01 {
				padding: 40px 0 40px 0;
				overflow: hidden;
			}
				.ft_address01 p {
					float: left;
					width: 150px;
					margin: 0 20px 0 0;
				}
				.ft_address01 dl {
									height: 122px;
					text-align: left;
									display: flex;
									flex-direction: column;
									justify-content: center;
				}
					.ft_address01 dl dt {
						color: #0054ae;
						font-weight: bold;
						font-size: 90%;
					}
					.ft_address01 dl dd {
						margin: 10px 0 0 0;
						font-size: 70%;
					}
	#footer .footer_inner {
		position: relative;
    width: 960px;
		padding: 0;
    margin: 0 auto;
    text-align: left;
	}
	#footer .container02 {
		/* padding: 40px 0; */
		position: relative;
	}
	#footer .container02 .container_area01 {
		float: left;
    width: 150px;
    margin: 0 20px 0 0;
	}
	#footer .container02 .container_area01 img {
		width: 100%;
	}
	#footer .container02 .container_area02 {
		height: 122px;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
		margin: 0 0 40px;
	}
	#footer .footer_copy {
		color: #0054ae;
    font-weight: bold;
    font-size: 18px;
	}
	.footer_copy01 {
		padding: 16px 0 16px 0;
    color: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 12px;
    text-align: center;
    background: #3eabdd;
    min-width: 960px;
	}
}
@media screen and (max-width: 768px) {
	footer {
		overflow: hidden;
		box-sizing: border-box;
		width: 100%;
		font-size: 0.9rem;
		letter-spacing: 0.03em;
		text-align: left;
		padding: 0 0 65px;
    line-height: 1.5;
	}
    footer .footer_inner {
      padding: 0 3.126% 0 3.126%;
    }
		footer .container02 {
			display: flex;
			justify-content: space-between;
			align-items: center;
			flex-wrap: no-wrap;
			/* width: 100%; */
			max-width: 640px;
			margin: 0 auto;
			line-height: 1.2;
			letter-spacing: 0.03em;
		}
		footer .footer_copy01 {
			margin: 15px 0 0 0;
			padding: 15px 0 15px 0;
			color: #ffffff;
			background: #179fdd;
			text-align: center;
		}
			footer .container02 .container_area01 {
				width: 40%;
			}
			footer .container02 .container_area02 {
				width: 60%;
				margin: 0.5% 0 0 2%;
				text-align: left;
			}
			footer .footer_copy {
				margin: 0 0 3.6505% 0;
				color: #0b56ab;
				font-weight: bold;
				font-size: 1.2rem;
			}
}

/* ==========================================================
!CTA
========================================================== */
/* CTAエリア */
.cta_wrap {
  text-align: center;
  line-height: 1.5;
}
.cta_title {
	font-weight: 600;
	color: #266ab4;
}
@media screen and (min-width: 769px) {
	.cta_wrap {
    width: 960px;
		margin: 80px auto 40px;
	}
	.cta_title {
		font-size: 38px;
		padding: 20px 0;
		margin: 0 0 50px;
		border: 6px solid #266ab4;
		border-style: solid none;
	}
}
@media screen and (max-width: 768px) {
	.cta_wrap {
		max-width: 640px;
		margin: 80px auto 40px;
    padding: 0 3.126%;
    text-align: center;
	}
	.cta_title {
		font-size: 1.5rem;
		padding: 10px 0;
		margin: 0 0 20px;
		border: 4px solid #266ab4;
		border-style: solid none;
	}
}

.select_wrap {
	background-color: #d8e9f8;
}
/* .select_wrap:last-child {
	margin: 0;
} */
.select_head .select_head_main {
	font-weight: 600;
	color: #266ab4;
	border-bottom: 1px solid #266ab4;
}
.select_head .select_head_main img {
	display: block;
	margin: 0 auto;
}
@media screen and (min-width: 769px) {
	.select_wrap {
		padding: 40px;
		margin: 0 0 40px;
	}
	.select_wrap .select_head {
		margin: 0 0 20px;
	}
	.select_head .select_head_main {
		font-size: 36px;
		padding: 0 0 20px;
		margin: 0 0 30px;
	}
	.select_head .select_head_sub {
		font-size: 24px;
	}
	.select_wrap .select_note {
		font-size: 14px;
		margin: 20px 0 0;
	}
}
@media screen and (max-width: 768px) {
	.select_wrap {
    padding: 20px 3.126%;
		margin: 0 0 40px;
	}
	.select_wrap .select_head {
		margin: 0 0 15px;
	}
	.select_head .select_head_main {
		font-size: 2rem;
		padding: 0 0 5px;
		margin: 0 0 10px;
	}
	.select_head .select_head_main img {
		width: 135px;
		height: auto;
	}
	.select_head .select_head_sub {
		font-size: 1rem;
	}
	.select_wrap .select_note {
		font-size: 1rem;
		margin: 15px 0 0;
	}
}

.select .tgl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
	font-size: 16px;
}

@media screen and (max-width: 768px) {
  .select .tgl {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .select .tgl + .tgl {
    margin-top: 5px;
  }
}

.select .tgl + .tgl .tgl-box {
  border-top: 1px solid #0062b1;
}

@media screen and (max-width: 768px) {
  .select .tgl + .tgl .tgl-box {
    border: none;
  }
}

@media screen and (max-width: 768px) {
  .select .tgl.hokkaido .tgl-btn {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .select .tgl.hokkaido .tgl-box {
    display: block;
    background-color: #d8e9f8;
  }
}

@media screen and (max-width: 768px) {
  .select .tgl.hokkaido .tgl-box .tgl-child {
    padding: 0;
  }
}

.select .tgl.hokkaido .tgl-box .tgl-child li {
  width: 100%;
  padding: 0;
}

.select .tgl.hokkaido .tgl-box a {
  position: relative;
}

@media screen and (max-width: 768px) {
  .select .tgl.hokkaido .tgl-box a {
    padding: 10px 0;
    font-size: 1.5rem;
    color: #000;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .select .tgl.hokkaido .tgl-box a::after {
    content: '';
    border-top: 2px solid #000;
  }
}

.select .tgl-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  min-width: 130px;
  background-color: #d8e9f8;
}

@media screen and (max-width: 768px) {
  .select .tgl-btn {
    width: 100%;
    padding: 10px 0;
    font-size: 1.5rem;
    cursor: pointer;
  }
}

.select .tgl-btn .arrow {
  display: none;
}

@media screen and (max-width: 768px) {
  .select .tgl-btn .arrow {
    border-bottom: 2px solid #000;
  }
}

.select .tgl-btn .arrow.open {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

@media screen and (max-width: 768px) {
  .select .tgl-btn .arrow,
  .select .tgl.hokkaido .tgl-box a::after {
    display: block;
    position: absolute;
    top: 38%;
    right: 4%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

.select .tgl-box {
  width: 100%;
	text-align: left;
}

@media screen and (min-width: 769px) {
  .select .tgl-box {
    display: block !important;
  }
}

@media screen and (max-width: 768px) {
  .select .tgl-box {
    display: none;
  }
}

.select .tgl-box .tgl-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  padding: 15px 20px;
}

@media screen and (max-width: 768px) {
  .select .tgl-box .tgl-child {
    padding: 16px;
  }
}

.select .tgl-box .tgl-child a {
  color: #266ab4;
}

@media screen and (max-width: 768px) {
  .select .tgl-box .tgl-child a {
    font-size: 4.26667vw;
  }
}

.select .tgl-box .tgl-child li {
  /* width: 74px; */
  margin-right: 1em;
}

@media screen and (max-width: 768px) {
  .select .tgl-box .tgl-child li {
    width: 33%;
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .select .tgl-box .tgl-child li:nth-child(n+4) {
    margin-top: 16px;
  }
}

.select .tgl-box .tgl-child li:last-child {
  margin-right: 0;
}

/* .select-top {
  display: none;
} */

.select-top .tx {
  padding: 20px 0 30px;
  font-size: 2rem;
  text-align: center;
}

.select-top .tgl + .tgl .tgl-btn {
  border-top: 1px solid #fff;
}

@media screen and (max-width: 768px) {
  .select-top .tgl + .tgl .tgl-btn {
    border: none;
  }
}

@media screen and (max-width: 768px) {
  .select-top .tgl.hokkaido .tgl-box {
    background-color: #266ab4;
  }
}

@media screen and (max-width: 768px) {
  .select-top .tgl.hokkaido .tgl-box a {
		display: block;
    color: #fff;
  }
}

@media screen and (max-width: 768px) {
  .select-top .tgl.hokkaido .tgl-box a::after {
    border-color: #fff;
  }
}

.select-top .tgl-btn {
  background-color: #266ab4;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .select-top .tgl-btn .arrow {
    border-color: #fff;
  }
}

.select-bottom {
  padding-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .select-bottom {
    padding-bottom: 0;
    background: #ecf7fd url(../img/r_bg_img01.jpg) left bottom no-repeat;
    background-size: 100%;
  }
}

.select-bottom .sb-wrap {
  margin: 0 auto;
  padding: 0 25px;
}

@media screen and (max-width: 768px) {
  .select-bottom .sb-wrap {
    background: url(../img/r_bg_img02.png) 0 0 no-repeat;
    background-size: 100%;
  }
}

.select-bottom .inner {
  position: relative;
  padding: 100px 50px 68px;
  margin: 0 auto;
  max-width: 1184px;
  background: #ecf4fc;
}

@media screen and (max-width: 768px) {
  .select-bottom .inner {
    padding: 120px 0 100px;
    background: transparent;
  }
}

.select-bottom .heading {
  display: none;
}

@media screen and (max-width: 768px) {
  .select-bottom .heading {
    display: block;
    padding-bottom: 25px;
    color: #0062b1;
    text-align: center;
  }
}

.select-bottom .tgl + .tgl .tgl-btn {
  border-top: 1px solid #0062b1;
}

@media screen and (max-width: 768px) {
  .select-bottom .tgl + .tgl .tgl-btn {
    border: none;
  }
}

.select-bottom .tgl-wrap {
  display: none;
}

@media screen and (max-width: 768px) {
  .select-bottom .tgl-wrap {
    display: block;
  }
}

.select-bottom .note {
  text-align: right;
}

@media screen and (max-width: 768px) {
  .select-bottom .note {
    text-align: left;
  }
}

.select-bottom .note span {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .select-bottom .note span {
    padding: 3px 10px;
    background-color: #fff;
  }
}

/* CTAボタン */
.cta_btn a {
	display: block;
}
.cta_btn a:hover {
	opacity: .8;
}
@media screen and (min-width: 769px) {
	.cta_btn_wrap {
		position: fixed;
		top: 90px;
		right: 0;
    z-index: 10;
	}
	.cta_btn {
		margin: 0 0 10px;
	}
	.cta_btn:last-child {
		margin: 0;
	}
}

@media screen and (max-width: 768px) {
	.cta_btn_wrap {
		position: fixed;
		width: 100%;
		height: 65px;
		bottom: 0;
		left: 0;
    z-index: 10;
		display: -webkit-box;
  	display: -ms-flexbox;
  	display: flex;
		-ms-flex-pack: distribute;
		justify-content: space-around;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		background-color: #d8e9f8;
		padding: 0 5px;
	}
	.cta_btn {
		margin: 0 5px 0 0;
	}
	.cta_btn:last-child {
		margin: 0;
	}
	.cta_btn img {
		width: auto;
		max-height: 55px;
	}
}


@charset "UTF-8";
/*
 * cmn_layout.css
 */

/* PC */
@media screen and (min-width: 769px) {
	/* ==========================================================
	!Reseting
	========================================================== */
	/* 全ての要素のbox-sizingをデフォルトでborder-boxにする */
	:root {
		box-sizing: border-box;
	}
	*,
	::before,
	::after {
		border-width: 0;
		border-style: solid;
		box-sizing: inherit;
	}
	html { font-size: 62.5%;}
	body {
		/* max-width: 960px; */
		color: #333333;
		font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
		font-size: 20px;
		font-size: 2.0em;
		-webkit-font-feature-settings: "palt";
						font-feature-settings: "palt";
		letter-spacing: 0.06em;
		-webkit-text-size-adjust: none;
			-moz-text-size-adjust: none;
				-ms-text-size-adjust: none;
						text-size-adjust: none;
		line-height: 1.5;
	}
	/* Hack for Safari 7.1-8.0 */
	_::-webkit-full-page-media,
	_:future,
	:root body {
		-webkit-font-feature-settings: "pkna";
						font-feature-settings: "pkna";
	}
	body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td
	{ margin: 0; padding: 0;}
	input, textarea
	{ margin: 0; font-size: 100%;}
	label
	{ cursor: pointer;}
	table
	{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
	fieldset, img
	{ border: 0;}
	img
	{ height: auto; vertical-align: middle;
		max-width: 100%;}
	address, caption, cite, code, dfn, em, th, var
	{ font-style: normal; font-weight: normal;}
	ol, ul
	{ list-style: none;}
	caption, th
	{ text-align: left;}
	h1, h2, h3, h4, h5, h6
	{ font-size: 100%; font-weight: normal;}
	q:after, q:before
	{ content:'';}
	a, input
	{ /* outline: none; */ }
	abbr, acronym
	{ border: 0;}
	/* ==========================================================
	!Clearfix
	========================================================== */
	.clearfix:after {
		display: block;
		clear: both;
		content: "";
	}
	/* ==========================================================
	!Layout
	========================================================== */
	html { overflow-y: scroll;}
	body { text-align: center;}
	@media print {
		html,
		html body { *zoom: 0.65;}
	}
	/* ==========================================================
	!Wrapper
	========================================================== */
	#wrapper {
		margin: 0 auto;
	}
	/* ==========================================================
	!Manzokudo
	========================================================== */
	.manzokudo {
		text-align: center;
		margin: 0 auto 20px auto;
	}
	/* ==========================================================
	!Mainimg
	========================================================== */
	#mainimg {
		/* height: 560px;
		background: url(../images/pc/bg_mainimg01_202403.png) no-repeat center 0;
		background: url(../images/pc/bg_mainimg01_202403.png) no-repeat center 0;
		background-size: auto 560px, cover; */
	}
  #mainimg h1 {
    text-align: center;
    /* text-align: left;
    padding: 90px 0px 40px 0px; */
  }
	/* ==========================================================
	!Contents
	========================================================== */
	#contents {
		width: 100%;
	}
	.outer01 {
		max-width: 960px;
		margin: 0 auto;
	}
	.inner01 {
		padding: 40px 40px 40px 40px;
	}
	/* ==========================================================
	!H(n)eading
	========================================================== */
	.h2_basic01 {
		padding: 0 0 0 15px;
		border-width: 0 0 0 10px;
		border-style: solid;
		border-color: #0054ae;
		text-align: left;
		font-size: 180%;
		font-weight: 600;
	}
	.h3_basic01 {
		padding: 16px 0 17px 0;
	}
	.h3_basic02 {
		padding: 20px 0 12px 0;
	}
		.h3_basic01,
		.h3_basic02 {
			color: #ffffff;
			font-size: 160%;
			font-weight: 600;
		}
	/* ==========================================================
	!Listing
	========================================================== */
	.ol_basic01 {
		margin: 37px 0 0 0;
	}
		.ol_basic01 ol {
			border-width: 1px 0 0 0;
			border-style: dotted;
			border-color: #0054ae;
		}
			.ol_basic01 ol > li {
				margin: 37px 0 0 0;
				padding: 0 0 36px 0;
				border-width: 0 0 1px 0;
				border-style: dotted;
				border-color: #0054ae;
				text-align: left;
			}
			.ol_basic01 ol > li:nth-of-type(1) { background: url(../images/pc/ico_no1_2.png) no-repeat 0 5px;}
			.ol_basic01 ol > li:nth-of-type(2) { background: url(../images/pc/ico_no2_2.png) no-repeat 0 5px;}
			.ol_basic01 ol > li:nth-of-type(3) { background: url(../images/pc/ico_no3_2.png) no-repeat 0 5px;}
			.ol_basic01 ol > li:nth-of-type(4) { background: url(../images/pc/ico_no4_2.png) no-repeat 0 5px;}

				.ol_basic01 ol > li dl {
				}
					.ol_basic01 ol > li dl dt {
						margin: 0 0 14px 0;
						padding: 8px 0 0 60px;
						font-size: 140%;
						font-weight: 600;
					}
					.ol_basic01 ol > li dl dd {
					}

	.dl_basic01 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
				-ms-flex-flow: row wrap;
						flex-flow: row wrap;
		-webkit-box-pack: justify;
				-ms-flex-pack: justify;
						justify-content: space-between;
	}
		.dl_basic01 dl {
			border-width: 0 2px 2px 2px;
			border-style: solid;
			border-radius: 6px;
		}
			.dl_basic01 dl dt {
				padding: 22px 0 21px 0;
				border-radius: 4px 4px 0 0;
				color: #ffffff;
				font-weight: 600;
				font-size: 160%;
			}
			.dl_basic01 dl dd {
				padding: 17px 0 17px 0;
				border-radius: 0 0 4px 4px;
				font-size: 80%;
			}

	.dl_basic02 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
				-ms-flex-flow: row wrap;
						flex-flow: row wrap;
		-webkit-box-pack: justify;
				-ms-flex-pack: justify;
						justify-content: space-between;
	}
		.dl_basic02 dl {
			border-radius: 6px;
		}
			.dl_basic02 dl dt {
				font-size: 150%;
			}
			.dl_basic02 dl dd {
				font-size: 80%;
			}
	/* ==========================================================
	!Text
	========================================================== */
	.txt_basic01 {
		color: #ff7902;
		font-weight: 600;
	}
	.txt_supplement01 {
		font-size: 70%;
		font-weight: normal;
	}
	/* ==========================================================
	!Cource
	========================================================== */
	/* #cource {
		margin: 50px 0 0 0;
	} */
		.legend01 {
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-webkit-box-orient: horizontal;
			-webkit-box-direction: normal;
					-ms-flex-flow: row nowrap;
							flex-flow: row nowrap;
			-webkit-box-pack: justify;
					-ms-flex-pack: justify;
							justify-content: flex-start;
			margin: 18px 0 0 0;
			text-align: left;
		}
			.legend01 p {
				font-size: 120%;
			}
			.legend01 p:nth-of-type(1) {
				margin: 0 24px 0 0;
			}
				.legend01 p span {
					display: inline-block;
					margin: 0 16px 0 0;
					padding: 7px 18px 7px 18px;
					color: #ffffff;
					font-weight: 600;
					background: #3c8ac6;
				}

		#basic .h3_basic01 {
			margin: 20px 0 0 0;
			border-radius: 6px 6px 0 0;
			background: #759fe3 none;
		}
		#basic .inner01 {
			border-width: 0 2px 2px 2px;
			border-style: solid;
			border-color: #759fe3;
			border-radius: 0 0 6px 6px;
		}
			#basic .dl_basic01 {
			}
				#basic .dl_basic01 dl {
					width: 48.8%;
					background-color: #fffdf3;
					border-color: #759fe3;
				}
					#basic .dl_basic01 dl dt {
						font-size: 100%;
						line-height: 1.2;
						background: #759fe3;
					}
					#basic .dl_basic01 dl dt span { display:  block;}
					#basic .dl_basic01 dl dt .risk { color: #ffea5c; font-size: 115%;}
					#basic .dl_basic01 dl dt .name { margin: 12px 0 0 0; font-size: 180%; font-weight: 600}
					#basic .dl_basic01 dl dt .money { font-size: 100%; font-weight: normal;}

					#basic .dl_basic01 dl dd {
						padding: 22px 20px 2px 20px;
						font-size: 100%;
						text-align: left;
						background: #fffdf3 none;
					}
						#basic .dl_basic01 dl dd ul {
						}
							#basic .dl_basic01 dl dd ul li {
								position: relative;
								margin: 0 0 19px 0;
								padding: 0 0 0 1.2em;
								font-size: 120%;
								font-weight: 600;
								letter-spacing: -0.05em;
							}
							#basic .dl_basic01 dl dd ul li:before {
								position: absolute;
								top: 0.3em;
								left: 0;
								color: #759fe3;
								font-size: 70%;
								content: "◆"
							}
								#basic .dl_basic01 dl dd ul li span {
									display: block;
									margin: 5px 0 0 0;
									font-size: 66.7%;
									font-weight: normal;
								}


			#basic .dl_basic02 {
			}
				#basic p {
					padding: 32px 0 14px 0;
					font-size: 140%;
					font-weight: 600;
					text-align: center;
				}
				#basic .dl_basic02 dl {
					width: 100%;
					padding: 26px 12px 26px 12px;
					background: #eaf1fb;
				}
				#basic .dl_basic02 dl + dl {
					margin-top: 20px;
				}
					#basic .dl_basic02 dl dt {
						font-size: 150%;
						font-weight: 600;
					}
					#basic .dl_basic02 dl dd {
						font-size: 80%;
					}

		#rider {
			position: relative;
			padding: 110px 0 0 0;
		}

		/* ＋記号 */
		#rider:before,
		#rider:after {
			position: absolute;
			top: 50px;
			left: 50%;
			content:"";
			display:block;
			width: 70px;
			height: 10px;
			margin: 0 0 0 -35px;
			background: #46b9ef;
		}
		#rider:after {
			/*90度回転。回転の基準点はデフォルトで中心なので指定しない*/
			-webkit-transform:rotate(90deg);
				-moz-transform:rotate(90deg);
				-ms-transform:rotate(90deg);
					transform:rotate(90deg);
		}

		#rider .h3_basic01 {
			border-radius: 6px 6px 0 0;
			background: #46b9ef none;
		}
		#rider .inner01 {
			border-width: 0 2px 2px 2px;
			border-style: solid;
			border-color: #46b9ef;
			border-radius: 0 0 6px 6px;
		}
			#rider .dl_basic01 {
			}
			#rider .dl_basic01 dl {
				width: 100%;
				padding: 20px 12px 21px 12px;
				background: #e1f4fd none;
				border-style: none;
			}
			#rider .dl_basic01 dl.special {
				background-color: #ffe4e4;
			}
			#rider .dl_basic01 dl.special .label {
				display: block;
				margin: 0 auto;
				margin-left: 25.6%;
				width: 319px;
			}
			#rider .dl_basic01 dl.special .bold {
				color: #ff2c4c;
			}

			#rider .dl_basic01 dl + dl {
				margin-top: 20px;
			}
					#rider .dl_basic01 dl dt {
						padding: 0;
						font-size: 150%;
						color: #4cbaed;
						font-weight: bold;
						border-bottom: 1px solid #9ba7aa;
					}
					#rider .dl_basic01 dl dt span {
						display: block;
						color: #000000;
						font-size: 60%;
						padding: 0 0 10px 0;
					}
					#rider .dl_basic01 dl dd {
						padding: 0;
						margin: 10px 0 0 0;
						font-size: 80%;
					}

				#rider p {
					margin: 16px 0 0 0;
					font-size: 70%;;
					text-align: center;
				}

				#basic .kaisei p,
				#rider .kaisei p {
					padding: 0;
					font-size: 100%;
					font-weight: 600;
					text-align: center;
				}

				#rider .kaisei {
					margin-top: 30px;
				}
				
				#basic .kaisei .kaisei__icon img,
				#rider .kaisei .kaisei__icon img {
					width: 129px;
					height: auto;
				}
				#basic .kaisei .kaisei__ttl,
				#rider .kaisei .kaisei__ttl {
					font-size: 23px;
					font-weight: 800;
					text-align: center;
					color: #e83820;
					padding-top: 5px;
					line-height: 1.3;
				}
				#basic .kaisei .kaisei__list__wrap {
					display: flex;
					justify-content: center;
					padding: 10px 0 30px 0;
					text-align: left;
				}
				#rider .kaisei .kaisei__list__wrap {
					display: flex;
					justify-content: center;
					padding: 10px 0 0 0;
					text-align: left;
				}
				#basic .kaisei .kaisei__list li::before,
				#rider .kaisei .kaisei__list li::before {
					display: none;
				}
				#basic .kaisei .kaisei__list li,
				#rider .kaisei .kaisei__list li {
					padding: 0 0 0 1em;
					text-indent: -1em;
					font-size: 11px;
					margin-bottom: 3px;
					letter-spacing: -0.03em;
				}
	/* ==========================================================
	!Feature
	========================================================== */
	/* #feature {
		margin: 90px 0 0 0;
	} */
		.h3_basic01 {
			border-radius: 6px 6px 0 0;
			background: #0054ae none;
		}
		.dl_basic01 dl {
			width: 100%;
		}
		.dl_basic02 dl + dl {
			margin-top: 20px;
		}
			.dl_basic01 dl.child01 { border-color: #f47e96;}
			.dl_basic01 dl.mature01 { border-color: #c686c6;}
			.dl_basic01 dl.hospital01 { border-color: #c686c6;}
			.dl_basic01 dl.fire01 { width: 100%; border-color: #ff8741;}

				.dl_basic01 dl.child01 dt { background: #f47e96;}
				.dl_basic01 dl.mature01 dt { background: #c686c6;}
				.dl_basic01 dl.hospital01 dt { background: #c686c6;	}
				.dl_basic01 dl.fire01 dt { background: #ff8741;}

				.dl_basic01 dl dd {
					font-weight: 600;
				}
				.dl_basic01 dl.child01 dd { color: #f47e96;}
				.dl_basic01 dl.mature01 dd { color: #c686c6;}
				.dl_basic01 dl.hospital01 dd { color: #c686c6;	}
				.dl_basic01 dl.fire01 dd { color: #ff8741;}

		.performance {
			padding: 40px;
			margin: 38px 0 0 0;
			background: #f2f7fd none;
		}
			.performance_head {
				margin: 0 0 30px;
			}
			.performance_head .head_sub {
				text-align: center;
			}
			.performance_head .head_sub span {
				color: #0054ae;
				font-size: 24px;
				font-weight: 600;
				padding: 0 40px;
				position: relative;
			}
			.performance_head .head_sub span::before,
			.performance_head .head_sub span::after {
				content: '';
				width: 20px;
				height: 31px;
				background: url(../images/pc/line.png) no-repeat;
				background-size: cover;
				position: absolute;
				top: 50%;
			}
			.performance_head .head_sub span::before {
				left: 0;
				transform: translateY(-50%);
			}
			.performance_head .head_sub span::after {
				right: 0;
				transform: translateY(-50%) scale(-1, 1);
			}
			.performance_head .head_main {
				text-align: center;
				font-size: 36px;
				font-weight: 600;
			}
			.performance_head .head_main span {
				color: #ff7902;
			}
			.performance_item {
				margin: 0 0 40px;
			}
			.performance_item:last-child {
				margin: 0;
			}
			.performance_item .item_head {
				text-align: center;
				margin: 0 0 20px;
			}
			.performance_item .item_head_main {
				color: #0054ae;
				font-size: 28px;
				font-weight: 600;
			}
			.performance_item .item_head_sub {}
			.performance .item_body {}
			.performance .item_body_title {
				padding: 5px 0 6px 0;
				color: #ffffff;
				font-size: 130%;
				font-weight: 600;
				text-align: center;
				background: #0054ae none;
			}
			.performance .item_body_title.mb {
				margin: 0 0 10px;
			}
			.performance .note01 {
				margin: 16px 0 0 0;
				text-align: left;
			}
			ul.txt_supplement01 {
				margin: 18px 0 0 0;
			}
				.txt_supplement01 li {
					padding: 0 0 0 1em;
					text-indent: -1em;
				}

		.conclusion01 {
			margin: 40px 0 0 0;
			border-width: 4px 4px 4px 4px;
			border-style: solid;
			border-color: #0054ae;
			border-radius: 6px;
			background: #fffdf3 none;
		}
			.conclusion01 .inner01 {
				padding: 20px 40px 20px 40px;
			}
			.conclusion01 .tit {
				color: #0054ae;
				font-size: 150%;
				font-weight: 600;
				line-height: 1.2;
			}
				.conclusion01 .tit .txt_basic01 {
					font-family: Arial, sans-serif;
					font-size: 200%;
				}
				.conclusion01 .tit sup {
					position: relative;
					top: 0.8em;
					left: -8px;
					color: #333;
					font-size: 50%;
					font-weight: normal;
				}
			.conclusion01 .txt {
				font-weight: 600;
			}
				.conclusion01 .txt span {
					display: block;
					margin: 16px 0 0 0;
				}

		#lineup {
			margin: 60px 0 0 0;
		}
			#lineup .h3_basic01 {
				border-radius: 6px 6px 0 0;
				background: #0054ae none;
			}
			#lineup .inner01 {
				padding: 35px 40px 40px 40px;
				border-width: 0 2px 2px 2px;
				border-style: solid;
				border-color: #0054ae;
				border-radius: 0 0 6px 6px;
			}
			#lineup .life01 {
			}
			#lineup .life02 {
				margin: 38px 0 0 0;
				padding: 22px 0 0 0;
				border-width: 1px 0 0 0;
				border-style: dotted;
				border-color: #0054ae;
			}
				#lineup .life01 p,
				#lineup .life02 p {
					margin: 0 0 10px 0;
					font-size: 150%;
					font-weight: 600;
				}

			#lineup .dl_basic01 dl dt {
				padding: 12px 0 9px 0;
			}
			#lineup .dl_basic01 dl dd {
				padding: 16px 0 15px 0;
			}

			#lineup .dl_basic01 dl + dl  {
				margin-top: 20px;
			}

	/* ==========================================================
	!CV Area1
	========================================================== */
	#cvarea01 {
		margin: 80px 0 0 0;
		background: url(../images/pc/bg_cvarea01.png) repeat 0 0;
	}
	/* ==========================================================
	!CV Area2
	========================================================== */
	#cvarea02 {
		margin: 80px 0;
	}
		#cvarea02 .outer01 {
			background: url(../images/pc/bg_cvarea01.png) repeat 0 0;
		}
		#cvarea02 .inner01 {
			padding: 40px 0;
		}
			#cvarea02 p {
				margin: 0 0 20px 0;
				font-size: 120%;
				font-weight: 600;
			}
			#cvarea02 .btn_basic01 p {
				margin: 0;
			}
	/* ==========================================================
	!Modal
	========================================================== */
	#modal01 {
		background: url(../images/pc/bg_cvarea01.png) repeat 0 0;
	}
	#modal001 {
		background: url(../images/pc/bg_cvarea001.png) repeat 0 0;
	}
	#modal002 {
		background: url(../images/pc/bg_cvarea01.png) repeat 0 0;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	/* ==========================================================
	!HTML5 elements
	========================================================== */
	header,
	footer,
	nav,
	main,
	section {
		display: block;
	}

	figure,
	figcaption {
		margin: 0;
		padding: 0;
	}

	/* ==========================================================
	!Reseting
	========================================================== */
	:root {
		-webkit-box-sizing: border-box;
						box-sizing: border-box;
	}
	#colorbox {
		box-sizing: content-box;
	}

	*,
	::before,
	::after {
		border-width: 0;
		border-style: solid;
		-webkit-box-sizing: inherit;
						box-sizing: inherit;
	}

	html {
		font-size: calc(100vw / 32);
	}

	body {
		color: #333333;
		font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴシック", YuGothic, "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
		font-size: 16px;
		font-size: 1.6em;
		-webkit-font-feature-settings: "palt";
						font-feature-settings: "palt";
		letter-spacing: 0.05em;
		line-height: 1.5;
		-webkit-text-size-adjust: none;
			-moz-text-size-adjust: none;
				-ms-text-size-adjust: none;
						text-size-adjust: none;

		overflow-scrolling: touch;
		background-color: #ffffff;
	}

	body::before {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100vh;
		content: "";

		-webkit-background-size: cover;
		/*Android4*/
	}

	/* Hack for Safari 7.1-8.0 */
	_::-webkit-full-page-media,
	_:future,
	:root body {
		-webkit-font-feature-settings: "pkna";
						font-feature-settings: "pkna";
	}

	body,
	div,
	pre,
	p,
	blockquote,
	dl,
	dt,
	dd,
	ul,
	ol,
	li,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	form,
	fieldset,
	th,
	td {
		margin: 0;
		padding: 0;
	}

	input,
	textarea {
		margin: 0;
		font-size: 100%;
	}

	label {
		cursor: pointer;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
		font-size: 100%;
	}

	fieldset,
	img {
		border: 0;
	}

	img {
		max-width: 100%;
		vertical-align: middle;
	}

	address,
	caption,
	cite,
	code,
	dfn,
	em,
	th,
	var {
		font-weight: normal;
		font-style: normal;
	}

	ol,
	ul {
		list-style: none;
	}

	caption,
	th {
		text-align: left;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-size: 100%;
		font-weight: bold;
	}

	q:after,
	q:before {
		content: "";
	}

	a:hover, a:active, a:focus {
		text-decoration: none !important;
	}

	abbr,
	acronym {
		border: 0;
	}

	/* ==========================================================
	!Layout
	========================================================== */
	html {
		overflow-y: scroll;
	}

	body {
		text-align: center;
	}

	@media print {
		html,
		html body {
			*zoom: 0.65;
		}
	}

	/* ==========================================================
	!Wrapper
	========================================================== */
	#wrapper {
		margin: 0 auto;
		text-align: center;
	}
	#wrapper:after {
		content: ".";
		display: block;
		height: 0;
		font-size:0;
		clear: both;
		visibility:hidden;
	}

	/* ==========================================================
	!manzokudo
	========================================================== */
	.manzokudo {
		text-align: center;
		max-width: 225px;
		margin: 15px auto 15px auto;
	}

	/* ==========================================================
	!mainimg
	========================================================== */
	#mainimg h1 img {
		width: 100%;
		height: auto;
	}
	/* ==========================================================
	!inner
	========================================================== */
	.inner01 {
		max-width: 640px;
		margin: 0 auto;
		padding: 0 3.126% 0 3.126%;
		text-align: center;
	}
	/* ==========================================================
	!text
	========================================================== */
	.txt_basic01 {
		color: #ff7902;
		font-weight: 600;
	}
	/* ==========================================================
	!section01
	========================================================== */
	/* .legend01
	------------------------------------ */
	.legend01 p {
		font-weight: bold;
		font-size: 1.4rem;
		text-align: left;

	}
	.legend01 p:nth-child(2) {
		margin: 2.5% 0 0 0;
	}
	.legend01 span {
			display: inline-block;
			margin: 0 3% 0 0;
			padding: 1% 2% 1% 2%;
			border-radius: 6px;
			color: #ffffff;
			font-weight: 600;
			background: #759fe3;
	}

	/* #basic
	------------------------------------ */
	#basic .inner01 {
			border-width: 0 2px 2px 2px;
			border-style: solid;
			border-color: #759fe3;
			border-radius: 0 0 6px 6px;
	}
		#basic .dl_basic01 {
			padding: 1% 0 0 0;
		}
			#basic .dl_basic01 dl {
				margin: 4% 0 0 0;
			}
			#basic .dl_basic01 dt {
				padding: 5.25% 0 6% 0;
					border-radius: 6px 6px 0 0;
					color: #ffffff;
					font-size: 1.4rem;
					line-height: 1.2;
					background-color: #759fe3;
			}
			#basic .dl_basic01 dd {
				padding: 6.25% 0 6.5% 0;
				border-width: 0 2px 2px 2px;
					border-style: solid;
					border-color: #759fe3;
					border-radius: 0 0 6px 6px;
					color: #000000;
					font-size: 1.4rem;
					line-height: 1.2;
					background-color: #fffdf3;
			}
				#basic .dl_basic01 dd ul li {
					position: relative;
					padding: 0 0 0 3rem;
					font-weight: bold;
					font-size: 1.6rem;
					line-height: 1.7;
					text-align: left;
				}
				#basic .dl_basic01 dl dd ul li:before {
						position: absolute;
						content: "◆";
						top: 0;
						left: 1rem;
						color: #759fe3;
				}
				#basic .dl_basic01 dd ul li span {
					display: block;
						margin: 0 0 0.5rem 0;
						font-weight: normal;
						font-size: 1.2rem;
				}
				#basic .dl_basic01 dl dt span { display:  block;}
				#basic .dl_basic01 dl dt .risk {
					color: #ffea5c;
					font-weight: bold;
				}
				#basic .dl_basic01 dl dt .name {
					margin: 1% 0 0 0;
					font-weight: 600;
					font-size: 1.9rem;
				}
				#basic .dl_basic01 dl dt .money {
					margin: 1% 0 0 0;
					font-weight: normal;
					font-size: 1.1rem;
				}
		#basic .dl_basic02 {
			margin: 0 0 3.5% 0;
		}
			#basic .dl_basic02 dl {
				margin: 3% 0 0 0;
				padding: 26px 12px 26px 12px;
				border-radius: 6px 6px 6px 6px;
					background: #eaf1fb;
			}
			#basic .dl_basic02 dl dt {
				color: #000000;
				font-weight: bold;
				font-size: 1.6rem;
			}
			#basic .dl_basic02 dl dd {
				font-size: 1.2rem;
			}
			#basic .txt_cource01 {
				margin: 5% 0 0 0;
				font-weight: bold;
			}
			#basic .txt_basic01 {
				color: #ff7902;
			}

	/* #rider
	------------------------------------ */
	#rider {
		position: relative;
		margin-top: 23% !important;
	}
	#rider:before, #rider:after {
		position: absolute;
		content: "";
			top: -3.5rem;
			left: 50%;
			display: block;
			width: 5rem;
			height: 0.7rem;
			background: #46b9ef;
			transform: translate(-50%, -50%);
	}
	#rider:after {
		-webkit-transform: translate(-50%, -50%) rotate(90deg);
			-moz-transform: translate(-50%, -50%) rotate(90deg);
			-ms-transform: translate(-50%, -50%) rotate(90deg);
			transform: translate(-50%, -50%) rotate(90deg);
	}
		#rider .h3_basic01 {
			background-color: #4cbaed;
		}
		#rider .inner01 {
			padding: 3.5% 3.126% 0 3.126%;
				border-width: 0 2px 2px 2px;
				border-style: solid;
				border-color: #4cbaed;
				border-radius: 0 0 6px 6px;
		}
			#rider .dl_basic01 dl {
				margin: 3.5% 0 0 0;
				padding: 3% 3% 3% 3%;
				border-radius: 6px 6px 6px 6px;
					background-color: #e8f7ff;
			}
			#rider .dl_basic01 dl:first-child {
				margin: 0 0 0 0;
			}
			#rider .dl_basic01 dl.special {
					background-color: #ffe4e4;
			}
			#rider .dl_basic01 dl.special .label {
				display: block;
				margin-left: .5rem;
				width: calc(456/750*100vw);
			}
			#rider .dl_basic01 dl.special .bold {
				color: #ff2c4c;
			}
				#rider .dl_basic01 dl dt {
					margin: 0 0 3% 0;
					color: #4cbaed;
					font-weight: bold;
					font-size: 1.9rem;
				}
				#rider .dl_basic01 dl dt span {
					display: block;
					color: #000000;
					font-size: 1.4rem;
				}
				#rider .dl_basic01 dl dd {
					padding: 3% 0 0 0;
					border-width: 1px 0 0 0;
						border-style: solid;
						border-color: #d4d4d4;
						color: #000000;
						font-size: 1.2rem;
				}
				#rider p {
					margin: 3% 0 3% 0;
						padding-left: 2rem;
					font-size: 1.1rem;
						text-indent: -1.5rem;
					text-align: left;
				}

				#basic .kaisei p,
				#rider .kaisei p {
					padding: 0;
					font-size: 100%;
					font-weight: 600;
					text-align: center;
				}

				#basic .kaisei,
				#rider .kaisei {
					margin-top: 5%;
				}
				
				#basic .kaisei .kaisei__icon img,
				#rider .kaisei .kaisei__icon img {
					width: 38%;
					height: auto;
				}
				#basic .kaisei .kaisei__ttl,
				#rider .kaisei .kaisei__ttl {
					font-size: 1.4rem;
					font-weight: 800;
					text-align: center;
					color: #e83820;
					padding-top: 1%;
					line-height: 1.3;
					margin: 0;
				}
				#basic .kaisei .kaisei__list__wrap {
					display: flex;
					justify-content: center;
					padding: 2% 0 0 0;
					text-align: left;
				}
				#rider .kaisei .kaisei__list__wrap {
					display: flex;
					justify-content: center;
					padding: 2% 0 5% 0;
					text-align: left;
				}
				#basic .kaisei .kaisei__list li::before,
				#rider .kaisei .kaisei__list li::before {
					display: none;
				}
				#basic .kaisei .kaisei__list li,
				#rider .kaisei .kaisei__list li {
					padding: 0 0 0 1em;
					text-indent: -1em;
					font-size: 0.8rem;
					font-weight: normal;
					margin-bottom: 0;
					letter-spacing: -0.03em;
				}

	/* ==========================================================
	!section02
	========================================================== */
	/* .ol_basic01
	------------------------------------ */
	#section02 .h2_basic01 {
		margin: 10% 0 5% 0;
			padding: 0 0 0 2%;
			border-width: 0 0 0 8px;
			border-style: solid;
			border-color: #0054ae;
			font-size: 1.9rem;
			text-align: left;
	}
	.ol_basic01 ol {
		border-width: 1px 0 0 0;
		border-style: dotted;
		border-color: #0054ae;
	}
		.ol_basic01 ol > li {
			margin: 6% 0 0 0;
			padding: 0 0 6% 0;
			border-width: 0 0 1px 0;
			border-style: dotted;
			border-color: #0054ae;
			text-align: left;
		}
		.ol_basic01 ol > li:nth-of-type(1) {
			background: url(../images/pc/ico_no1_2.png) no-repeat 0 6px;
			background-size: 1.8rem;
		}
		.ol_basic01 ol > li:nth-of-type(2) {
			background: url(../images/pc/ico_no2_2.png) no-repeat 0 6px;
			background-size: 1.8rem;
		}
		.ol_basic01 ol > li:nth-of-type(3) {
			background: url(../images/pc/ico_no3_2.png) no-repeat 0 6px;
			background-size: 1.8rem;
		}
		.ol_basic01 ol > li:nth-of-type(4) {
			background: url(../images/pc/ico_no4_2.png) no-repeat 0 6px;
			background-size: 1.8rem;
		}
		.ol_basic01 ol > li dl dt {
			margin: 0 0 14px 0;
			padding: 0 0 0 2.5rem;
			font-size: 1.6rem;
			font-weight: 600;
		}
		.ol_basic01 ol > li dl dd {
			padding: 0 0 0 2.5rem;
			font-size: 1.2rem;
		}
		.ol_basic01 ol > li dl .txt_basic01 {
			color: #ff7a02;
		}

	/* #lineup
	------------------------------------ */
	#lineup {
		margin: 7% 0 0 0;
	}
		#lineup .h3_basic01 {
			border-radius: 6px 6px 0 0;
			background: #0054ae none;
		}
		#lineup .inner01 {
			border-width: 0 2px 2px 2px;
			border-style: solid;
			border-color: #0054ae;
			border-radius: 0 0 6px 6px;
		}
		#lineup p {
			padding: 5% 0 5% 0;
			font-size: 1.9rem;
			font-weight: bold;
		}
			#lineup .dl_basic01 dl {
				margin: 0 0 4% 0;
			}
			#lineup .dl_basic01 dl.child01 {
				border-color: #f47e96;
			}
			#lineup .dl_basic01 dl.mature01 {
				border-color: #c686c6;
			}
			#lineup .dl_basic01 dl.hospital01 {
				border-color: #c686c6;
			}
			#lineup .dl_basic01 dl.fire01 {
				width: 100%; border-color: #ff8741;
			}

				#lineup .dl_basic01 dl.child01 dt {
					padding: 3.5% 3% 3.5% 3%;
					color: #ffffff;
					font-size: 1.9rem;
					font-weight: bold;
					border-color: #f47e96;
					background: #f47e96;
						background-size: 2.25rem;
				}
				#lineup .dl_basic01 dl.mature01 dt {
					padding: 3% 3% 3% 3%;
					color: #ffffff;
					font-size: 1.9rem;
					font-weight: bold;
					border-color: #C786C6;
					background: #c686c6;
						background-size: 2.25rem;
				}
				#lineup .dl_basic01 dl.hospital01 dt {
					padding: 3% 3% 3% 3%;
					color: #ffffff;
					font-size: 1.9rem;
					font-weight: bold;
					border-color: #C786C6;
					background: #c686c6;
						background-size: 2.25rem;
				}
				#lineup .dl_basic01 dl.fire01 dt {
					padding: 3% 3% 3% 3%;
					color: #ffffff;
					font-size: 1.9rem;
					font-weight: bold;
					border-color: #ff8741;
					background: #ff8741;
						background-size: 2.25rem;
				}
				#lineup .dl_basic01 dl dt {
					border-width: 0 1px 1px 1px;
					border-style: solid;
					border-radius: 6px 6px 0 0 ;
				}
				#lineup .dl_basic01 dl dd {
					padding: 5%;
					font-size: 1.6rem;
					font-weight: 600;
					border-width: 0 2px 2px 2px;
					border-style: solid;
					border-radius: 0 0 6px 6px;
				}
				#lineup .dl_basic01 dl.child01 dd {
					color: #f47e96;
				}
				#lineup .dl_basic01 dl.mature01 dd {
					color: #c686c6;
				}
				#lineup .dl_basic01 dl.hospital01 dd {
					color: #c686c6;
				}
				#lineup .dl_basic01 dl.fire01 dd {
					color: #ff8741;
				}

				#lineup .performance {
					margin: 38px 0 0 0;
					background: #f2f7fd none;
				}
				#lineup .life02 p {
						margin: 7% 0 0 0;
						padding: 6% 0 3.5% 0;
						border-width: 1px 0 0 0;
						border-style: dotted;
						border-color: #0054ae;
				}

	/* ==========================================================
	!CV Area
	========================================================== */
	.cvarea01 {
		margin: 11% 0 8.7% 0;
		background: url(../images/bg_cvarea01.png) repeat 0 0;
	}
	.cvarea01 .inner01 {
		padding: 5% 8%  4% 8%;
	}
		.cvarea01 .txt_cv01 {
			width: 63.16%;
			max-width: 100%;
			margin: 0 auto;
		}
		.cvarea01 .txt_cvarea01 {
			margin: 0 0 2.5% 0;
			font-weight: bold;
			font-size: 1.6rem;
		}

	/* ==========================================================
	!common parts(共通設定)
	========================================================== */
	/* section
	------------------------------------ */
	#basic,#rider {
		margin-top: 8%;
	}
	/* 見出し
	------------------------------------ */
	.h2_basic01 {
		margin: 10% 0 7% 0;
		padding: 0 0 0 2%;
		border-width: 0 0 0 8px;
		border-style: solid;
		border-color: #0054ae;
		font-size: 1.9rem;
		text-align: left;
	}
	.h3_basic01 {
			padding: 5% 0  4% 0;
			border-radius: 6px 6px 0 0;
			color: #ffffff;
			font-size: 1.9rem;
			line-height: 1.2;
			background-color: #759fe3;
	}
	.h3_basic01 .ico {
		width: 7.67%;
		max-width: 100%;
		margin: 0.5% 2% 1.5% 0;
	}
	

	/* ==========================================================
	SP追加要素
	========================================================== */
	.performance {
		padding: 20px 3.126%;
		margin: 38px 0 0 0;
		background: #f2f7fd none;
	}
		.performance_head {
			margin: 0 0 20px;
			padding: 0 0 5px;
			border-bottom: 1px dotted #0154ae;
		}
		.performance_head .head_sub {
			text-align: center;
		}
		.performance_head .head_sub span {
			color: #0054ae;
			font-size: 1.4rem;
			font-weight: 600;
			padding: 0 30px;
			position: relative;
		}
		.performance_head .head_sub span::before,
		.performance_head .head_sub span::after {
			content: '';
			width: 15px;
			height: 22px;
			background: url(../images/pc/line.png) no-repeat;
			background-size: cover;
			position: absolute;
			top: 50%;
		}
		.performance_head .head_sub span::before {
			left: 0;
			transform: translateY(-50%);
		}
		.performance_head .head_sub span::after {
			right: 0;
			transform: translateY(-50%) scale(-1, 1);
		}
		.performance_head .head_main {
			text-align: center;
			font-size: 1.9rem;
			font-weight: 600;
		}
		.performance_head .head_main span {
			color: #ff7902;
		}
		.performance_item {
			margin: 0 0 20px;
		}
		.performance_item:last-child {
			margin: 0;
		}
		.performance_item .item_head {
			text-align: left;
			margin: 0 0 10px;
		}
		.performance_item .item_head_main {
			color: #0054ae;
			font-size: 1.4rem;
			font-weight: 600;
			margin: 0 0 5px;
		}
		.performance_item .item_head_sub {
			font-size: 1rem;
		}
		.performance .item_body {}
		.performance .item_body_title {
			padding: 5px 0 6px 0;
			color: #ffffff;
			font-size: 1rem;
			font-weight: 600;
			text-align: center;
			background: #0054ae none;
		}
		.performance .item_body_title.mb {
			margin: 0 0 10px;
			letter-spacing: -0.03em;
		}
		.performance .note01 {
			margin: 18px 0 0 0;
			text-align: left;
			font-size: 1rem;
		}
		.performance .note01 span.txt_supplement01{
			display: inline-block;
			padding: 0 0 0 1em;
			text-indent: -1em;
		}
		ul.txt_supplement01 {
			margin: 18px 0 0 0;
		}
			.txt_supplement01 li {
				padding: 0 0 0 1em;
				text-indent: -1em;
			}
		.conclusion01 {
			margin: 40px 0 0 0;
			border-width: 4px 4px 4px 4px;
			border-style: solid;
			border-color: #0054ae;
			border-radius: 6px;
			background: #fffdf3 none;
		}
			.conclusion01 .inner01 {
				padding: 20px;
			}
			.conclusion01 .tit {
				color: #0054ae;
				font-size: 1.6rem;
				font-weight: 600;
				line-height: 1.2;
				letter-spacing: 0;
				margin: 0 0 5px;
			}
				.conclusion01 .tit .txt_basic01 {
					font-family: Arial, sans-serif;
					font-size: 3rem;
					letter-spacing: 0;
				}
				.conclusion01 .tit sup {
					position: relative;
					top: 0.8em;
					left: 0;
					color: #333;
					font-size: 3.13vw;
					font-weight: normal;
				}
			.conclusion01 .txt {
				font-size: 1.3rem;
				font-weight: 600;
			}
				.conclusion01 .txt span {
					display: block;
					font-size: 1rem;
					font-size: 3.13vw;
					font-weight: normal;
					margin: 16px 0 0 0;
				}

}



/* レスポンシブ追加調整 */
@media screen and (min-width: 769px) {
	.content_item {
		padding: 40px 0;
	}
}
@media screen and (max-width: 768px) {
	.content_item {
		max-width: 640px;
    margin: 0 auto;
    padding: 0 3.126% 0 3.126%;
    text-align: center;
	}
}
.content_item:not(:last-child) {
	padding-bottom: 0;
}

@media screen and (min-width: 769px) {
	#header {
		border-top: none!important;
		border-bottom: 9px solid #0054ae;"
	}
	#header #mainlogo {
		display: block!important;
	}
	#header #mainlogo #l_img01 {
		text-align: left!important;
	}
}
@media screen and (max-width: 768px) {
	#header {
		border-top: none!important;
		border-bottom: 1.333vw solid #0054ae;"
	}
	#header #mainlogo {
		display: block!important;
	}
	#header #mainlogo #l_img01 {
		text-align: left!important;
	}
}

@media screen and (min-width: 769px) {
	#mainimg h1 {
		/* text-align: left;
		padding: 48px 0 0 0;
		margin-left: -100px; */
	}
	.fv_foot {
		background: url(../images/smartphone/bg_cta_202403.png) 0 0 repeat;
		background-size: 50%;
	}

	.fv_foot .mv__txt01 {
		width: 95.067vw;
		margin: -4vw auto 0 auto;
	}

	.fv_foot .cta_area {
		max-width: 1015px;
		width: 100%;
		margin: 0 auto;
		padding: 20px 0;
		display: flex;
		justify-content: center;
		align-items: end;
	}

	.fv_foot .cta_area .cta__ttl {
		/* width: 90%; */
    height: 36px;
		margin: 0 auto 5px;
	}
	.fv_foot .cta_area .cta__ttl img{
    height: 100%;
  }
	.fv_foot .cta_area .cta_btn01 {
		max-width: 498px;
		margin: 0 auto;
	}
	.fv_foot .cta_area .cta_btn01 a {
		display: block;
	}
	.fv_foot .cta_area .cta_btn02 {
		max-width: 498px;
		margin: 0 auto;
	}
	.fv_foot .cta_area .cta_btn02 a {
		display: block;
	}
	.fv_foot .cta_area a:hover {
		opacity: .8;
	}
}

@media screen and (min-width: 769px) {
	#mainimg h1 {
		/* text-align: left;
		padding: 48px 0 0 0;
		margin-left: -100px; */
	}
}
@media (min-width: 769px) and (max-width: 1200px) {
	#mainimg {
		position: relative;
	}
	/* #mainimg h1 {
		max-width: 50vw;
		text-align: left;
		padding: 0 0 0 0;
		margin-left: 0;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	} */
}


@media screen and (max-width: 768px) {
	.fv_foot {
		background: url(../images/smartphone/bg_cta_202403.png) 0 0 no-repeat;
		background-size: cover;
	}

	.fv_foot .mv__txt01 {
		width: 95.067vw;
		margin: -4vw auto 0 auto;
	}

	.fv_foot .cta_area {
		padding-bottom: 2.667vw;
	}

	.fv_foot .cta_area .cta__ttl {
		width: 86.267vw;
    margin: 0 auto;
    padding: 2.667vw 01.333vw;
	}
	.fv_foot .cta_area .cta_btn01 {
		width: 94.4vw;
		margin:0 auto 0 auto;
	}
	.fv_foot .cta_area .cta_btn01 a {
		display: block;
	}
	.fv_foot .cta_area .cta_btn02 {
		width: 94.4vw;
		margin:0.667vw auto 0 auto;
	}
	.fv_foot .cta_area .cta_btn02 a {
		display: block;
	}
}



@media screen and (min-width:769px) {
	#basic {
		padding-bottom: 2.5%
	  }
	
	  #basic .inner01 {
		border: none;
		padding: 0
	  }

	#section01 .h2_basic01 {
		padding: 0;
		margin: 20px 0 0;
		color: #3c8ac6;
		border: none;
		font-size: 40px;
		font-weight: 700;
		letter-spacing: .08em;
		text-align: center
	}

	.legend01 {
		display: flex;
		justify-content: center;
	}

	#basic {
		margin-top: 5%
	}

	.h2_basic01 span {
		font-size: 1.5em
	}

	.legend01 p {
		font-size: 32px;
	}

	.legend01 span {
		background: #3c8ac6;
		border-radius: 0;
		font-size: 34px;
	}

	.ol_basic01 ol {
		border-width: 0
	}

	.tab-area {
		display: block
	}

	.tab-area [role=tablist] {
		position: relative;
		display: flex;
		align-items: flex-end;
		column-gap: 20px;
		padding: 0 20px
	}

	.tab-area [role=tab] {
		cursor: pointer;
		flex: 1;
		padding: .55em 0 .25em;
		border-radius: 8px 8px 0 0;
		font-size: 30px;
		font-weight: 700;
		line-height: 1.3;
		margin-bottom: 2.5px;
		color: #333
	}

	.tab-area [role=tab] span {
		font-size: 30px;
	}

	.tab-area #tab1 {
		height: 100px;
		background: #ffc04f;
		background: linear-gradient(to bottom, #fcce7d 0, #ffc04f 100%)
	}

	.tab-area #tab2 {
		height: 100px;
		background: #81e482;
		background: linear-gradient(to bottom, #abf5ac 0, #81e482 100%)
	}

	.tab-area [role=tab]:focus,
	.tab-area [role=tab]:hover {
		background-color: #fff
	}

	.tab-area [role=tab][aria-selected=true] {
		padding: .7em 0 .35em;
		margin-bottom: 0;
		background-color: #fff;
		pointer-events: none;
		font-size: 30px;
		box-shadow: 0 0 14px rgba(17, 17, 17, .28);
		mix-blend-mode: multiply
	}

	.tab-area [role=tabpanel] {
		position: relative;
		padding: 35px 50px 35px;
		display: none;
		line-height: 1.75;
		border: 6px solid;
		border-radius: 0 0 16px 16px
	}

	.tab-area [role=tabpanel].-active {
		display: block
	}

	.tab-area #tab-panel1 {
		background: #fffdf3;
		border-color: #ffc154
	}

	.tab-area #tab-panel2 {
		background: #f3fff6;
		border-color: #81e482
	}

	.tab-area .tab-panel h3 {
		display: inline-block;
		padding: .1em 1em;
		background: #3c8ac6;
		color: #fff;
		font-size: 32px;
		font-weight: 700;
		margin-bottom: 10px
	}

	#basic p {
		text-align: left;
	}

	.tab-area .tab-panel h3 span {
		position: relative;
		top: -.1em;
		margin-left: .5em;
		font-size: 23px;
		font-weight: 500
	}

	.tab-area .detail li {
		margin: .9em 0;
		text-align: left;
		font-weight: 500
	}

	.tab-area .detail li>p {
		line-height: 1.2
	}

	.tab-area .detail li span {
		display: block;
		margin-top: .5em;
		font-size: 23px;
	}

	.tab-area .detail li small {
		font-size: 17px;
	}

	.tab-area .detail li small.block {
		margin-top: 0;
		display: inline;
	}

	.tab-area .detail li em {
		padding: 0 .2em .1em;
		font-size: 26px;
		font-weight: 700;
		letter-spacing: .05em
	}

	.tab-area #tab-panel1 .detail li em {
		background: linear-gradient(transparent 65%, #ffc04f 60%)
	}

	.tab-area #tab-panel2 .detail li em {
		background: linear-gradient(transparent 65%, #73ef73 60%)
	}

	.tab-area .detail li p+dl {
		margin-top: 0;
	}

	#basic .tab-area .detail li p {
		padding-top: 0;
	}

	.tab-area .detail li dl {
		display: flex;
		font-size: 23px;
		font-weight: 600;
		line-height: 1.5;
	}

	.tab-area .detail li dt {
		width: 8em;
	}

	.tab-area .detail li dd {
		width: calc(100% - 8em)
	}

	.tab-area .accordion {
		margin-top: 25px;
		border: 6px solid #759fe3;
		border-radius: 10px
	}

	.accordion-title {
		display: block
	}

	.accordion-title button {
		position: relative;
		display: block;
		background: #759fe3;
		width: 100%;
		height: auto;
		font-size: 28px;
		font-weight: 500;
		color: #fff;
		padding: 15px;
		cursor: pointer;
		margin: 0
	}

	#section02 .accordion-title button {
		padding: 3% 5% 2%;
		background: #0154ae;
		text-align: left;
		line-height: 1.25
	}

	#section01 .accordion__icon {
		position: absolute;
		top: 50%;
		right: 20%;
		transform: translateY(-50%);
		display: block;
		width: .8em;
		height: 100%;
		background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22254.56%22%20height%3D%22254.56%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m0%20127.28%2035.356-35.355%2091.924%2091.924%2091.923-91.924%2035.356%2035.356-127.28%20127.279L0%20127.28Z%22%2F%3E%3C%2Fsvg%3E') center center no-repeat;
		background-size: contain
	}

	#section01 [aria-expanded=true]>.accordion__icon {
		transform: translateY(-50%) rotate(180deg)
	}

	#section02 .accordion__icon::after,
	#section02 .accordion__icon::before {
		content: "";
		position: absolute;
		top: 50%;
		right: 50px;
		display: block;
		width: 20px;
		height: 4px;
		background: #fff
	}

	#section02 .accordion__icon::after {
		transform: rotate(90deg)
	}

	#section02 [aria-expanded=true]>.accordion__icon::after {
		transform: rotate(0)
	}

	.accordion-content {
		overflow: hidden;
		height: auto;
		opacity: 1;
		visibility: visible
	}

	#section01 .accordion-content {
		padding: 40px 15px;
		border-radius: 5px;
		background: #fff
	}

	.accordion-content[aria-hidden=true] {
		height: 0;
		opacity: 0;
		visibility: hidden;
		padding-top: 0 !important;
		padding-bottom: 0 !important
	}

	#section01 .table {
		margin: 0
		
	}

	#section01 .table+.table {
		margin-top: 0
	}

	#section01 .table figcaption {
		padding: 0 0 0 1em;
		text-indent: -1em;
		font-size: 10px;
		font-weight: 400;
		text-align: left;
		margin: .5em 0 0;
		letter-spacing: 0;
	}

	.table__flex {
		display: flex;
		justify-content: center;
	}

	.table__flex .flex__item {
		margin: 0 10px;
		width: 390px;
	}

	#basic .txt_cource01 {
		text-align: center;
	}
}


@media screen and (max-width:768px) {
	#header .header_inner {
	  padding: 3.5% 3.126%
	}
  
	.content_item {
	  margin-top: 6.533%
	}
  
	#basic {
	  padding-bottom: 2.5%
	}
  
	#basic .inner01 {
	  border: none;
	  padding: 0
	}
  
	#section01 .h2_basic01 {
	  padding: 0;
	  margin: 3% 0 0;
	  color: #3c8ac6;
	  border: none;
	  font-size: 1.62rem;
	  font-weight: 700;
	  letter-spacing: .08em;
	  text-align: center
	}
  
	#basic {
	  margin-top: 5%
	}
  
	.h2_basic01 span {
	  font-size: 1.5em
	}
  
	.legend01 p {
	  font-size: 1.38rem
	}
  
	.legend01 span {
	  background: #3c8ac6;
	  border-radius: 0
	}
  
	.ol_basic01 ol {
	  border-width: 0
	}
  
	.tab-area {
	  display: block
	}
  
	.tab-area [role=tablist] {
	  position: relative;
	  display: flex;
	  align-items: flex-end;
	  column-gap: 5px;
	  padding: 0 5px
	}
  
	.tab-area [role=tab] {
	  cursor: pointer;
	  flex: 1;
	  padding: .55em 0 .25em;
	  border-radius: 8px 8px 0 0;
	  font-size: 1.2rem;
	  font-weight: 700;
	  line-height: 1.3;
	  margin-bottom: 2.5px;
	  color: #333
	}
  
	.tab-area [role=tab] span {
	  font-size: 1.2em
	}
  
	.tab-area #tab1 {
	  background: #ffc04f;
	  background: linear-gradient(to bottom, #fcce7d 0, #ffc04f 100%)
	}
  
	.tab-area #tab2 {
	  background: #81e482;
	  background: linear-gradient(to bottom, #abf5ac 0, #81e482 100%)
	}
  
	.tab-area [role=tab]:focus,
	.tab-area [role=tab]:hover {
	  background-color: #fff
	}
  
	.tab-area [role=tab][aria-selected=true] {
	  padding: .7em 0 .35em;
	  margin-bottom: 0;
	  background-color: #fff;
	  pointer-events: none;
	  font-size: 1.28rem;
	  box-shadow: 0 0 14px rgba(17, 17, 17, .28);
	  mix-blend-mode: multiply
	}
  
	.tab-area [role=tabpanel] {
	  position: relative;
	  padding: 5.26% 4.27% 6.56%;
	  display: none;
	  line-height: 1.75;
	  border: 3px solid;
	  border-radius: 0 0 8px 8px
	}
  
	.tab-area [role=tabpanel].-active {
	  display: block
	}
  
	.tab-area #tab-panel1 {
	  background: #fffdf3;
	  border-color: #ffc154
	}
  
	.tab-area #tab-panel2 {
	  background: #f3fff6;
	  border-color: #81e482
	}
  
	.tab-area .tab-panel h3 {
	  display: inline-block;
	  padding: .1em 1em;
	  background: #3c8ac6;
	  color: #fff;
	  font-size: 1.71rem;
	  font-weight: 700
	}
  
	.tab-area .tab-panel h3 span {
	  position: relative;
	  top: -.1em;
	  margin-left: .5em;
	  font-size: 1.2rem;
	  font-weight: 500
	}
  
	.tab-area .detail li {
	  margin: .9em 0;
	  text-align: left;
	  font-weight: 500
	}
  
	.tab-area .detail li>p {
	  line-height: 1.2
	}
  
	.tab-area .detail li span {
	  display: block;
	  margin-top: .5em;
	  font-size: 1.37rem
	}
  
	.tab-area .detail li small {
	  font-size: 1.09rem
	}
  
	.tab-area .detail li small.block {
	  margin-top: .5em
	}
  
	.tab-area .detail li em {
	  padding: 0 .2em .1em;
	  font-size: 1.71rem;
	  font-weight: 700;
	  letter-spacing: .05em
	}
  
	.tab-area #tab-panel1 .detail li em {
	  background: linear-gradient(transparent 65%, #ffc04f 60%)
	}
  
	.tab-area #tab-panel2 .detail li em {
	  background: linear-gradient(transparent 65%, #73ef73 60%)
	}
  
	.tab-area .detail li p+dl {
	  margin-top: 2.5%
	}
  
	.tab-area .detail li dl {
	  display: flex;
	  font-size: 1.37rem
	}
  
	.tab-area .detail li dt {
	  width: 36%
	}
  
	.tab-area .detail li dd {
	  width: 64%
	}
  
	.tab-area .accordion {
	  margin-top: 7.94%;
	  border: 3px solid #759fe3;
	  border-radius: 5px
	}
  
	.accordion-title {
	  display: block
	}
  
	.accordion-title button {
	  position: relative;
	  display: block;
	  background: #759fe3;
	  width: 100%;
	  height: auto;
	  font-size: 1.71rem;
	  font-weight: 500;
	  color: #fff;
	  padding: 4% 4.31% 3.5%;
	  cursor: pointer;
	  margin: 0
	}
  
	#section02 .accordion-title button {
	  padding: 3% 5% 2%;
	  background: #0154ae;
	  text-align: left;
	  line-height: 1.25
	}
  
	#section01 .accordion__icon {
	  position: absolute;
	  top: 50%;
	  right: 3.31%;
	  transform: translateY(-50%);
	  display: block;
	  width: .8em;
	  height: 100%;
	  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22254.56%22%20height%3D%22254.56%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22m0%20127.28%2035.356-35.355%2091.924%2091.924%2091.923-91.924%2035.356%2035.356-127.28%20127.279L0%20127.28Z%22%2F%3E%3C%2Fsvg%3E') center center no-repeat;
	  background-size: contain
	}
  
	#section01 [aria-expanded=true]>.accordion__icon {
	  transform: translateY(-50%) rotate(180deg)
	}
  
	#section02 .accordion__icon::after,
	#section02 .accordion__icon::before {
	  content: "";
	  position: absolute;
	  top: 50%;
	  right: 30px;
	  display: block;
	  width: 20px;
	  height: 4px;
	  background: #fff
	}
  
	#section02 .accordion__icon::after {
	  transform: rotate(90deg)
	}
  
	#section02 [aria-expanded=true]>.accordion__icon::after {
	  transform: rotate(0)
	}
  
	.accordion-content {
	  overflow: hidden;
	  height: auto;
	  opacity: 1;
	  visibility: visible
	}
  
	#section01 .accordion-content {
	  padding: 2% 2% 5.5%;
	  border-radius: 5px;
	  background: #fff
	}
  
	.accordion-content[aria-hidden=true] {
	  height: 0;
	  opacity: 0;
	  visibility: hidden;
	  padding-top: 0 !important;
	  padding-bottom: 0 !important
	}
  
	#section01 .table {
		margin-top: 2%
	  }

	  #section01 .table img {
	  width: 100%;
	  }
  
	#section01 .table+.table {
	  margin-top: 5.5%
	}
  
	#section01 .table figcaption {
	  padding: 0 0 0 1em;
	  text-indent: -1em;
	  font-size: .8rem;
	  font-weight: 400;
	  text-align: left;
	  margin: .5em 0 0;
	  letter-spacing: 0;
	}
  }

  .insurance_wrap{
	letter-spacing: 0.03em;
  }

/* ----------
  241029 add */
.conclusion02{
  margin-top: 20px;
}
.ctaModal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #eef6fe;
  padding: 60px 0;
  overflow: scroll;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 100;
  transition: .3s;
  @media screen and (max-width: 768px){
    background-color: rgba(0, 0, 0, 0.5);
  }
}

.ctaModal__body {
  position: relative;
  max-width: 1000px;
  width: calc(100% - 30px);
  padding: 15px;
  margin-left: auto;
  margin-right: auto;
  @media screen and (max-width: 768px){
    max-width: 600px;
    width: calc(100% - 30px);
    background-color: #eef6fe;
    border: 2px solid #0062b1;
  }
}

.ctaModal__close {
  cursor: pointer;
  position: absolute;
  top: 100%;
  left: 50%;
  display: inline-block;
  width: 32px;
  height: 32px;
  border-radius: 100px;
  transform: translate(-50%, 0);
  @media screen and (max-width: 768px){
    top: 0;
    left: unset;
    right: 0;
    background-color: #eef6fe;
    border: 2px solid #0062b1;
    transform: translate(50%, -50%);
  }
}

.ctaModal__close::before, .ctaModal__close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: #0062b1;
}
@media screen and (max-width: 768px){
  .ctaModal__close::before, .ctaModal__close::after{
    width: 15px;
    height: 3px;
  }
}

.ctaModal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.ctaModal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.ctaModal__intro {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.ctaModal__detail {
  margin-top: 15px;
}

.ctaModal__anno{
  font-size: 14px;
  text-align: left;
  margin-top: 10px;
}
.ctaModal.-active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.ctaModal .select .tgl-btn{
  color: #111;
  background-color: #c8e3fe;
}

.ctaModal .select-top .tgl + .tgl .tgl-btn{
  @media screen and (min-width: 769px){
    border-top: 5px solid #ecf7fd;
  }
}

.ctaModal .select-top .tgl + .tgl .tgl-box{
  @media screen and (min-width: 769px){
    border-top: 5px solid #ecf7fd;
  }
}

@media screen and (max-width: 768px) {
  .ctaModal .select .tgl + .tgl {
    margin-top: 15px;
  }
  .ctaModal .select .tgl-box .tgl-child li {
    text-align: center;
  }
  .ctaModal .select-top .tgl.hokkaido .tgl-box {
    background-color: #c8e3fe;
  }
  .ctaModal .select .tgl.hokkaido .tgl-box a {
    display: block;
    color: #111;
  }
  .ctaModal .select .tgl-btn .arrow {
    display: none;
    border-color: #fff;
  }
  .ctaModal .select .tgl.hokkaido .tgl-child{
    position: relative;
  }
  .ctaModal .select .tgl.hokkaido .tgl-child::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    display: inline-block;
    width: 22px;
    height: 22px;
    background-color: #0062b1;
    border-radius: 100px;
    transform: translateY(-50%);
  }

  .ctaModal .select .tgl.hokkaido .tgl-child::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 19px;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #c8e3fe;
    border-width: 6px 0px 6px 10.39px;
    transform: translateY(-50%);
  }
  .ctaModal .select .tgl.hokkaido .tgl-box a::after{
    display: none;
  }
  .ctaModal .select .tgl-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    display: inline-block;
    width: 22px;
    height: 22px;
    background-color: #0062b1;
    border-radius: 100px;
    transform: translateY(-50%);
  }
  .ctaModal .select .tgl-btn::after {
    content: '';
    position: absolute;
    top: calc(50% + 1px);
    right: 20px;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #c8e3fe transparent transparent transparent;
    border-width: 10.39px 6px 0px 6px;
    transform: translateY(-50%);
  }
  .ctaModal .select .tgl-btn.-open::after {
    top: calc(50% - 1px);
    border-color: transparent transparent #c8e3fe transparent;
    border-width: 0px 6px 10.39px 6px;
  }
  #header{
    padding: 10px 0;
    line-height: 1 !important;
  }
  .ctaModal .tgl-anno{
    display: block;
    padding: 0 16px 16px;
  }
  .ctaModal .tgl-anno p{
    font-size: 12px;
    padding-left: 1em;
    text-indent: -1em;
  }
}

#section02 .accordion__icon{
  position: absolute;
  top: 50%;
  right: 20px;
  display: inline-block;
  width: 40px;
  aspect-ratio: 1 / 1;
  background-color: #fff;
  border-radius: 100px;
  transform: translateY(-50%);
}

#section02 .accordion__icon::before,
#section02 .accordion__icon::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  right: unset;
  display: block;
  width: 20px;
  height: 4px;
  background-color: #0154ae;
  transform: translate(-50%, -50%);
}
#section02 .accordion__icon::after{
  transform: translate(-50%, -50%) rotate(90deg);
}
#section02 [aria-expanded=true]>.accordion__icon::after{
  display: none;
}

/* ----------
  250604 add */
.more {
	padding-top: 30px;
}
.more .label {
	display: block;
	margin: 0 auto;
	width: calc(200/750 * 100vw);
}
.more .more-intro .fukidashi {
	display: flex;
	position: relative;
	color: #fff;
	background-color: #fe7895;
	display: inline-block;
	font-size: 25px;
	font-weight: bold;
	margin-top: 20px;
	padding: 5px 10px;
	width: auto;
	z-index: 1;
}
.more .more-intro .fukidashi span {
	color: #fffd77;
}
.more .more-intro .fukidashi::before {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 8px 0;
	border-color: #fe7895 transparent transparent transparent;
	transform: translateX(-50%);
	z-index: 1;
}
.more .more-detail {
	background-color: #ffeaef;
	border-radius: 8px;
	position: relative;
	margin-top: -25px;
	padding: 50px 20px 20px;
}
.more .more-detail p {
	font-size: 12px!important;
}
.more .more-detail ul {
	font-size: 9px;
	text-align: left;
}
.more .more-detail ul > li {
	text-indent: -1em;
	padding-left: 1em;
}
.more .more-graph {
	margin: 0 auto;
	padding: 20px 0;
}
@media screen and (min-width: 769px){
	.more {
		padding-top: 45px;
	}
	.more .label {
		width: 100%;
	}
	.more .more-intro .fukidashi {
		font-size: 30px;
		margin-top: 35px;
	}
	.more .more-detail {
		padding: 30px 52px 45px;
	}
	.more .more-detail p {
		font-size: 20px!important;
	}
	.more .more-detail ul {
		font-size: 16px;
	}
}

/* added footer link */
.footer_bottom {
	color: #fff;
	background-color: #3eabdd;
	font-family: Arial, sans-serif;
	text-align: center;
	margin-top: 40px;
	padding-bottom: 16px;
}
.footer_bottom .footer_nav {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 960px;
	margin: 0 auto;
}
.footer_bottom .footer_nav li {
	padding: 16px 0;
	width: 50%;
}
.footer_bottom .footer_nav a {
	color: #fff;
	font-size: 14px;
}
.footer_bottom .copyright {
	font-size: 12px;
}
@media screen and (min-width: 769px){
	.footer_bottom {
		min-width: 960px;
	}
	.footer_bottom .footer_nav li {
		padding: 20px 0 16px;
	}
}

#basic #tab-panel1 .accordion-content p.sec01_info, #basic #tab-panel2 .accordion-content p.sec01_info{
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  padding: 0;
  margin-top: 1.5em;
  color: #759fe3;
  line-height: 1.6;
}
@media screen and (max-width: 768px){
  #basic #tab-panel1 .accordion-content p.sec01_info, #basic #tab-panel2 .accordion-content p.sec01_info{
    font-size: 15px;
    margin-top: 0.5em;
  }
}

html,
body {
  margin: 0;
  overflow: hidden;
}
@media screen and (max-width: 768px){
html,
body {
	overflow: auto;
}
}

body {
	background: #d8e9f8;
}

body._fixed {
  overflow: hidden;
}

.popup_contents {
  height: 100vh;
  overflow-y: auto;
}