@charset "UTF-8";
/* Notosans serif */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;700;900&display=swap'); 
@import url('https://fonts.googleapis.com/css2?family=Noto+serif+JP:wght@100;200;300;400;500;700;900&display=swap'); 
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size:min(0.694vw,62.5%);
  scroll-behavior: smooth;
}
body, div, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 400;
	font-variant: normal;
  color:#151515;
  font-style: normal;
}
p {
	font-weight: 400;
	line-height: 1.5;
}
p.sent {
	line-height: 1.5;
	margin-bottom:1em;
}
p.sent-half {
	line-height: 1.5;
	margin-bottom:0.5em;
}

a.anchor {/*//アンカーリンクの位置調整//*/
    display: block;
    padding-top: 15rem;
    margin-top: -15rem;
}

a img {
	-webkit-transition:.2s linear;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

/*//--PC--//*/
.grid-1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.grid-1-1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.grid-1-1-1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
.grid-1-2 {
  display: grid;
  grid-template-columns: 1fr 2fr;
}
.grid-1-3 {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
.grid-2-1 {
  display: grid;
  grid-template-columns: 2fr 1fr;
}
.grid-3-1 {
  display: grid;
  grid-template-columns: 3fr 1fr;
}
.grid-gap-0 {
  grid-gap:0;
}
.grid-gap-1 {
  grid-gap:1rem;
}
.grid-gap-2 {
  grid-gap:2rem;
}
.align-right {
	text-align: right;
}
.align-center {
	text-align: center;
}
.align-left {
	text-align: left;
}
.align-center-left {
	text-align: center;
}
/* hrタグで縦のスペースを作りたいとき */
hr.hr-space-1rem {
  border: 1px solid transparent;
  margin:0 0 1rem;
}
hr.hr-space-3rem {
  border: 1px solid transparent;
  margin:0 0 3rem;
}
hr.hr-space-6rem {
  border: 1px solid transparent;
  margin:0 0 6rem;
}
hr.hr-space-12rem {
  border: 1px solid transparent;
  margin:0 0 12rem;
}

/*//////余白を指定したいとき////////*/
.inner5pm {
	padding: .5rem;
}
.inner10pm {
	padding: 1rem;
}
.inner20pm {
	padding: 2rem;
}
.inner20pmt0 {
	padding:0 2rem 2rem;
}
.inner2040pm {
	padding: 2rem 4rem;
}
.inner30pm {
	padding: 3rem;
}
.inner40pm {
	padding: 4rem;
}
.inner50pm {
	padding: 5rem;
}
.inner10p {
	padding: 1rem;
}
.inner20p {
	padding: 2rem;
}
.inner30p {
	padding: 3rem;
}
.inner40p {
	padding: 4rem;
}
.inner50p {
	padding: 5rem;
}
.inner20p10m {
	padding: 2rem;
}
.inner30p10m {
	padding: 3rem;
}
.inner40p10m {
	padding: 4rem;
}
.inner50p10m {
	padding: 5rem;
}
.inner20p20m {
	padding: 2rem;
}
.inner30p20m {
	padding: 3rem;
}
.inner40p20m {
	padding: 4rem;
}
.inner50p20m {
	padding: 5rem;
}
.inner10tb0pm {
	padding-top: 0;
	padding-right: 1rem;
	padding-bottom: 0;
	padding-left: 1rem;
}
.inner15tb0pm {
	padding-top: 0px;
	padding-right: 1.5rem;
	padding-bottom: 0px;
	padding-left: 1.5rem;
}
.inner20tb0pm {
	padding-top: 0px;
	padding-right: 2rem;
	padding-bottom: 0px;
	padding-left: 2rem;
}
.inner30tb0pm {
	padding-top: 0px;
	padding-right: 3rem;
	padding-bottom: 0px;
	padding-left: 3rem;
}
.inner40tb0pm {
	padding-top: 0px;
	padding-right: 4rem;
	padding-bottom: 0px;
	padding-left: 4rem;
}
.inner50tb0pm {
	padding-top: 0px;
	padding-right: 5rem;
	padding-bottom: 0px;
	padding-left: 5rem;
}
.inner10tb0p {
	padding-top: 0px;
	padding-right: 1rem;
	padding-bottom: 0px;
	padding-left: 1rem;
}
.inner15tb0p {
	padding-top: 0px;
	padding-right: 1.5rem;
	padding-bottom: 0px;
	padding-left: 1.5rem;
}
.inner20tb0p {
	padding-top: 0px;
	padding-right: 2rem;
	padding-bottom: 0px;
	padding-left: 2rem;
}
.inner30tb0p {
	padding-top: 0px;
	padding-right: 3rem;
	padding-bottom: 0px;
	padding-left: 3rem;
}
.inner40tb0p {
	padding-top: 0px;
	padding-right: 4rem;
	padding-bottom: 0px;
	padding-left: 4rem;
}
.inner50tb0p {
	padding-top: 0px;
	padding-right: 5rem;
	padding-bottom: 0px;
	padding-left: 5rem;
}
/* カラム幅を指定したいとき */
.clm-one-760 {
	max-width: 76rem;
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
.clm-one-860 {
	max-width: 86rem;
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
.clm-one-960 {
	max-width: 96rem;
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
.clm-one-1200 {
	max-width: 120rem;
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
.clm-one-1440 {
	max-width: 144rem;
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
.clm-one-1620 {
	max-width: 162rem;
	width:100%;
	margin-right: auto;
	margin-left: auto;
}
/* 文字サイズとウェイトを指定したいとき */
.f-bold {
	font-weight: 500;
}
.f-e-bold {
	font-weight: 700;
}
.f8 {
	font-size: 0.8rem;
}
.f10 {
	font-size: 1rem;
}
.f11 {
	font-size: 1.1rem;
}
.f12 {
	font-size: 1.2rem;
}
.f14 {
	font-size: 1.4rem;
}
.f16 {
	font-size: 1.6rem;
}
.f18 {
	font-size: 1.8rem;
}
.f20 {
	font-size: 2rem;
}
.f22 {
	font-size: 2.2rem;
}
.f24 {
	font-size: 2.4rem;
}
.f26 {
	font-size: 2.6rem;
}
.f28 {
	font-size: 2.8rem;
}
.f30 {
	font-size: 3rem;
}
.f32 {
	font-size: 3.2rem;
}
.f34 {
	font-size: 3.4rem;
}
.f36 {
	font-size: 3.6rem;
}
.f38 {
	font-size: 3.8rem;
}
.f40 {
	font-size: 4rem;
}
.f42 {
	font-size: 4.2rem;
}
.f44 {
	font-size: 4.4rem;
}
.f46 {
	font-size: 4.6rem;
}
.f48 {
	font-size: 4.8rem;
}
.f50 {
	font-size: 5rem;
}
/* 字下げ指定 */
.ind-1em {
	text-indent: -1em;
	margin-left: 1em;
  line-height: 1.2;
  margin-bottom:0.5em;
}

/*////////table/////////*/
table.table-company {
	border-collapse: collapse;
	width: 100%;
}
table.table-company th {
	vertical-align: top;
	padding: 1.8rem;
	text-align: left;
	background-color:none;
	border-bottom-width: 1px;
	border: solid 1px #bbb;
	width: 9em;
}
table.table-company td {
	vertical-align: top;
	padding: 1.8rem;
	text-align: left;
	background-color:none;
	border: solid 1px #bbb;
}
table.f-s td {
  font-size:1.6rem;
}

table.table-matrix {
  border-collapse:collapse;
	width: 100%;
}
table.table-matrix tr:nth-child(2n+1) {
  background-color: #EBEBEB;
}

table.table-detail {
  border-collapse:collapse;
	width: 100%;
}
table.table-detail th {
	vertical-align: top;
	padding: 1.8rem;
	text-align: left;
	background-color:none;
	border-bottom: solid 1px #bbb;
}
table.table-detail td {
	vertical-align: top;
	padding: 1.8rem;
	text-align: left;
	background-color:none;
	border-bottom: solid 1px #bbb;
}
table.table-smile {
	border-collapse:collapse;
	width: 100%;
}
table.table-smile th {
	vertical-align: top;
	padding: 1.8rem;
	text-align: left;
	background-color:none;
	border: solid 1px #bbb;
}
table.table-smile td {
	vertical-align: top;
	padding: 1.8rem;
	text-align: left;
	background-color:none;
	border: solid 1px #bbb;
}
table.table-sch {
	border-collapse:collapse;
	width: 100%;
  margin-bottom:1rem;
}
table.table-sch th {
	vertical-align: top;
	padding: 1rem;
	text-align: center;
	background-color:none;
	border: solid 1px #bbb;
}
table.table-sch td {
	vertical-align: top;
	padding: 1rem;
	text-align: center;
	background-color:none;
  color:#fff;
	border: solid 1px #bbb;
}
table.table-noborder {
	border-collapse: collapse;
}
table.table-noborder td {
	vertical-align: top;
	padding: 0.5em;
	border: none;
	background-color: transparent;
}
table.table-bt-border {
	border-collapse: collapse;
}
table.table-bt-border td {
	vertical-align: top;
	padding: 0.5em;
	border: none;
	background-color: transparent;
  border-bottom: solid 1px #FF9EF5;
}
.table-ex-width01 {
  width:6em;
}
table.table-bottom-border {
	border-collapse: collapse;
}
table.table-bottom-border td {
	vertical-align: top;
	padding: 1rem;
	border-bottom: solid 1px #ddd;
	background-color: transparent;
}
table.table-flex{
  border-collapse: collapse;
  width: 100%;
}
table.table-flex th,
table.table-flex td{
  padding: 3em 1em;
  border-bottom: solid 1px #8C8C8C;
  text-align:left;
  box-sizing:border-box;
}
table.table-flex th {
  font-weight:bold;
  color: #151515;
  width:13em;
}
table.table-flex-history{
  border-collapse: collapse;
  width: 100%;
}
table.table-flex-history th,
table.table-flex-history td{
  padding: 2em 1em;
  border-bottom: solid 1px #8C8C8C;
  text-align:left;
  box-sizing:border-box;
}
table.table-flex-history th {
  font-weight:bold;
  text-align:right;
  color: #151515;
  width:7em;
}
table.table-flex-history th.month {
  font-weight:bold;
  text-align:right;
  color: #151515;
  width:5em;
}

/*////////--table/////////*/


/*/////メディアクエリで表示非表示--//////*/
.only-pc {
	display: block;
}
.only-mobile {
	display:none;
}
.only-pc-inline {
	display: inline;
}
.only-mobile-inline {
	display:none;
}

/* 簡単にボタンにしたいとき */
span.btn-use-none {
	padding: 1rem;
	display: inline-block;
	background-color: #623F96;
	margin-top: 1rem;
	margin-bottom: 1rem;
	border-radius: 0.8rem;
	border: 1px solid #623F96;
	background-position: left 0.5rem;
	background-repeat: no-repeat;
	text-decoration: none;
	color: #1A6F53;
}
a.btn-use {
  position: relative;
  -webkit-transition:.2s linear;
  min-width:20em;
	padding: 0.5em 1.5em 0.6em;
	display: inline-block;
	background-color: #54AAC4;
  border:solid 1px #54AAC4;
  border-radius:1rem;
	margin: 1rem;
	background-position: left 0.5rem;
	background-repeat: no-repeat;
	text-decoration: none;
	color: #FFFFFF;
}
a.btn-use::after {
  content:"▶";
  font-size:0.5em;
  position: absolute;
  right:2em;
  top:1.7em;
}
a.btn-use-arrow-small {
  min-width: 16rem;
  height: 4rem;
  color: #3e3a39;
  padding: .5rem 1rem;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  overflow: hidden;
  border: solid 1px #000;
  background-color: #FFF;
}
a.btn-use-arrow-small:hover {
  padding-right: 5.4rem;
  padding-left:.5rem;
}
a.btn-use-arrow-small:hover:after {
  opacity: 1;
  right: 1rem;
}
a.btn-use-arrow-small:after {
  content: ">";
  position: absolute;
  width:1.8rem;
  height:1.6rem;
  opacity: 0;
  font-size: 2rem;
  line-height: 3rem;
  top: 0.3rem;
  right: -2rem;
  transition: 0.4s;
}
a.btn-use-arrow-big {
  min-width: 20rem;
  height: 7rem;
  color: #000;
  padding: 2.2rem 2rem 0;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  overflow: hidden;
  border: solid 1px #000;
  background-color: #fff;
}
a.btn-use-arrow-big:hover {
  padding-right: 6.4rem;
  padding-left:2rem;
}
a.btn-use-arrow-big:hover:after {
  opacity: 1;
  right: 1rem;
}
a.btn-use-arrow-big:after {
  content: ">";
  position: absolute;
  width:4.2rem;
  height:4.2rem;
  opacity: 0;
  font-size: 2rem;
  line-height: 4rem;
  top: 1.4rem;
  right: -2rem;
  transition: 0.4s;
}
a.btn-use-arrow-big-w {
  min-width: 25rem;
  height: 7rem;
  color: #fff;
  padding: 2.2rem 2rem 0;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  overflow: hidden;
  border: solid 1px #fff;
  background-color: none;
}
a.btn-use-arrow-big-w:hover {
  padding-right: 6.4rem;
  padding-left:2rem;
}
a.btn-use-arrow-big-w:hover:after {
  opacity: 1;
  right: 1rem;
}
a.btn-use-arrow-big-w:after {
  content: ">";
  position: absolute;
  width:4.2rem;
  height:4.2rem;
  opacity: 0;
  font-size: 2rem;
  line-height: 4rem;
  top: 1.4rem;
  right: -2rem;
  transition: 0.4s;
}
a.btn-use-blink {
  display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 32rem;
	margin: auto;
	padding: 1rem 4rem;
	position: relative;
	border-radius: .5rem;
	border: 1px solid #27acd9;
	font-weight: bold;
	letter-spacing: 2px;
	background: transparent;
	color: #27acd9;
	overflow: hidden;
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}
a.btn-use-blink-w {
  display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 32rem;
	margin: auto;
	padding: 1rem 4rem;
	position: relative;
	border-radius: .5rem;
	border: 1px solid #fff;
	font-weight: bold;
	letter-spacing: 2px;
	background: transparent;
	color: #fff;
	overflow: hidden;
	-webkit-transition: all 0.2s ease-in;
	-moz-transition: all 0.2s ease-in;
	transition: all 0.2s ease-in;
}
a.btn-use-blink:hover,a.btn-use-blink-w:hover {
  color: #fff;
	background-color: #54AAC4;
}
a.btn-use-blink:hover::before,a.btn-use-blink-w:hover::before {
	-webkit-animation: sh02 0.5s 0s linear;
	-moz-animation: sh02 0.5s 0s linear;
	animation: light 0.5s 0s linear;
}
a.btn-use-blink::before,a.btn-use-blink-w::before {
	content: '';
	display: block;
	width: 0px;
	height: 86%;
	position: absolute;
	top: 7%;
	left: 0%;
	opacity: 0;
	background: #fff;
	box-shadow: 0 0 5rem 3rem #fff;
	-webkit-transform: skewX(-20deg);
	-moz-transform: skewX(-20deg);
	-ms-transform: skewX(-20deg);
	-o-transform: skewX(-20deg);
	transform: skewX(-20deg);
}
@keyframes light {
	from {opacity: 0; left: 0%;}
	50% {opacity: 1;}
	to {opacity: 0;left: 100%;}
}

a.btn-use-mini {
  position: relative;
  -webkit-transition:.2s linear;
  font-size:1.4rem;
  min-width:20em;
	padding: 0.5em 1.5em 0.6em;
	display: inline-block;
	background-color: #27ACD9;
  border:solid 1px #27ACD9;
  border-radius:.8rem;
	margin: 1rem;
	background-position: left 0.5rem;
	background-repeat: no-repeat;
	text-decoration: none;
	color: #FFFFFF;
}
a.btn-use-mini::after {
  content:"▶";
  font-size:0.5em;
  position: absolute;
  right:2em;
  top:1.3em;
}
a.btn-use:hover {
  color: #54AAC4;
	background-color: #F9F9F9;
}
a.btn-use-mini:hover {
  color: #54AAC4;
	background-color: #F9F9F9;
}
a.btn-use-side {
  -webkit-transition:.2s linear;
	padding: 2.5em 1.5em 2.7em;
	display: inline-block;
	background-color: #DB0003;
  border:none;
  border-radius:10rem;
	margin:0 0.5rem 0;
	background-position: left 0.5rem;
	background-repeat: no-repeat;
	text-decoration: none;
	color: #FFFFFF;
}
a.btn-use-side:hover {
  color: #151515;
	background-color: #FF999A;
}
a.btn-anchor {
  -webkit-transition:.2s linear;
	padding: 0.5em 1.5em 0.7em;
	display: inline-block;
	background-color: #23651C;
  border:solid 1px #23651C;
  border-radius:6rem;
	margin: 1rem;
	background-position: left 0.5rem;
	background-repeat: no-repeat;
	text-decoration: none;
	color: #FFFFFF;
}
a.btn-anchor:hover {
  color: #FFFFFF;
	background-color: #37862F;
}
/* レスポンシブテーブル */
table.table-respons {
	width: 100%;
}
table.table-respons tr td {
	padding: 1rem;
	vertical-align:top;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #FFFFFF;
}
.table-respons tr td.nb-td  {
	border:none;
}
.policy {}
.policy p {
  margin:0 0 0.5em 1em;
}
.policy h4 {
  margin:0.5em 0;
}
ul.policy-list li{
  margin-left:2em;
  list-style:square;
}

/*//  -- pcend --  //*/

@media screen and (max-width: 500px) {
#mediaQ--------------------------------------------------------------------------------------------------500{}
/*///////////////////////////////////////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////////////////////////////////////*/
/*///////////////////////////////////////////////////////////////////////////////////*/
html { 
  font-size:min(2vw,62.5%);
}
.only-pc {
	display:none;
}
.only-mobile {
	display:block;
}
.only-pc-inline {
	display:none;
}
.only-mobile-inline {
	display:inline;
}

/*//--MB--//*/
.grid-1-1,.grid-1-1-1,.grid-1-2,.grid-1-3,.grid-2-1,.grid-3-1 {
  display: grid;
  grid-template-columns: 1fr;
}
.grid-1-1-1-1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
table.table-company {
    border-collapse: separate;
  width: 100%;
}
table.table-company th,
table.table-company td{
  display: block;
  width: 100%;
  border-bottom: solid 1px #8C8C8C;
}

a.btn-use-arrow-small {
  min-width: 13rem;
  height: 3rem;
  color: #3e3a39;
  padding: .5rem 1rem;
  text-decoration: none;
  text-align: center;
  font-size:1.4rem;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  overflow: hidden;
  border: none;
  background-color: #FFF;
}
a.btn-use-arrow-small:hover {
  padding-right: 5.4rem;
  padding-left:.5rem;
}
a.btn-use-arrow-small:hover:after {
  opacity: 1;
  right: 1rem;
}
a.btn-use-arrow-small:after {
  content: url("images/btn-arrow-small.png");
  position: absolute;
  opacity: 0;
  font-size: 2rem;
  line-height: 3rem;
  top: 0;
  right: -2rem;
  transition: 0.4s;
}
}
/*//  -- 500end --  //*/
