@charset "UTF-8";

/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,*::before,*::after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}

html{font-size: 62.5%;}
body{
	font-family: "游ゴシック体", "メイリオ", sans-serif;
	font-weight: 400;
}

a{text-decoration: none;transition:0.5s ease background;}
.color-orange{color:#E06D15;}
.color-blue{color:#155794;}

.bold{
	font-weight: bold;
}
/*accordion*/
.ac{
	border-top:solid 1px #707070;
	margin-top: 50px;
}
.ac > li {
  /* margin-bottomにすると変な動きをするのでpaddingにする */
  list-style: none;
	padding: 40px 0 40px 0;
	border-bottom:solid 1px #707070;
}
.ac-label  {
  cursor: pointer;
  position: relative;
	color:#155794;
	font-weight: 900;
	font-size:2rem;
}
.ac-content {
  display: none;
	color:#707070;
	font-size:2rem;
	padding-top: 20px;
}
/* .ac-labelを親要素としてアイコン位置を絶対値で指定 */
.icon-wrap {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translatey(-50%);
  width: 38px;
  height: 38px;
}
/* .icon-wrapの中でプラスを中央に位置させるために.iconを親要素に設定 */
.icon {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* プラスアイコン */
/* ２本の線を.icon-wrapの中央に並行に重ねる */
.icon:before,
.icon:after {
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #3B63A3;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 2px;
  transform: translate(-50%, -50%);
}
/* そのうち1本を縦にする */
.icon:before {
  transform: translate(-50%, -50%) rotate(90deg);
}

/* プラスアイコンクリック後、マイナスにする */
.icon.open:before {
  transform: translate(-50%, -50%) rotate(0deg);
}

.wrapper{
	width:1200px;
	margin:0 auto;
}
.site-header__inner{
	margin-top: 22px;
	display: grid;
	grid-template-columns: 50% 50%;
}
.site-header--logo{
	width:278px;
}
.site-header--tel{
	text-align: right;
	font-weight: 700;
	color:#155794;
	font-family: 'Noto Sans JP', sans-serif;
	padding-bottom: 10px;
}
.site-header--tel__text{
	display: block;
	font-size:1.4rem;
}
.site-header--tel__number{
	padding-right: 0.5em;
	font-size:2.4rem;
}
.site-header--tel .fa-phone{
	margin-right:0.5em;
}
.site-header--tel a{color:#155794;}
.site-header__navi{
	background:#155794;
}
.site-header__navi ul{
	padding: 0;
	display: flex;
	justify-content: space-between;
	list-style: none;
}
.site-header__navi li{
	list-style: none;
	font-size:1.6rem;
	font-weight: bold;
	text-align: center;
}
.site-header__navi li a{
	color:#fff;
	display: block;
	padding: 29px 0
}
.kv{
	background:url("../images/kv.jpg") 0 center no-repeat;
	background-size:cover;
	padding: 115px 0;
	font-family: 'Noto Sans JP', sans-serif;
}
.kv__catchphrase span{
	background:#fff;
	display: inline-block;
	margin-bottom: 10px;
	color:#155794;
	font-size:4rem;
	font-weight: 900;
	padding: 22px 40px;
}
.kv__cta{
	width:504px;
	color:#fff;
	font-size:2.4rem;
	font-weight: 700;
	margin-top:93px;
	text-align: center;
}
.kv__cta a{
	background:#E06D15;
	color:#fff;
	display: block;
	margin-top: 18px;
	padding: 26px 0;
	position: relative;
}
.kv__cta a:hover{
	background:#F78126;
}
.kv__cta i{
	color:#fff;
	position: absolute;
	right:20px;
	top:32px;
}
.total-support{
	display: grid;
	grid-template-columns: 50% 50%;
}
.total-support section{
	padding-top: 100px;
	padding-bottom: 94px;
}
.total-support__heading{
	font-weight: 900;
	text-align: center;
	font-size:2.4rem;
	margin-bottom: 29px;
	font-family: 'Noto Sans JP', sans-serif;
}
.total-support section:first-child{
	background:#3B63A3;
	padding-left: calc(100% - 560px);
	padding-right:40px;
	color:#fff;
}
.total-support section:first-child .total-support__heading{
	border:solid 1px #fff;
	padding: 20px 0;
}
.total-support section:last-child .total-support__heading{
	border:solid 1px #155794;
	padding: 20px 0;
	color:#155794;
}
.total-support section:last-child{
	padding-right: calc(100% - 560px);
	padding-left:40px;
}
.total-support section p{
	margin-bottom: 1.5em;
	font-size:1.6rem;
}
.total-support section p span{
	font-weight: 700;
}
.total-support section aside{
	padding-top: 66px;
	margin-bottom: 30px;
}
.total-support section:last-child aside{
	padding-top: 20px;
}
.total-support section .total-support__button a{
	display: block;
	color:#fff;
	text-align: center;
	position: relative;
	padding: 22px 0;
	font-weight: 700;
	font-size:2rem;
}
.total-support section .total-support__button a i{
	position: absolute;
	top:35%;
	right:22px;
}
.total-support section:first-child .total-support__button{
	margin:0;
}
.total-support section:first-child .total-support__button a{
	background:#E06D15;
}
.total-support section:first-child .total-support__button a:hover{
	background:#F78126;
}
.total-support section:last-child .total-support__button a{
	background:#155794;
}
.total-support section:last-child .total-support__button a:hover{
	background:#2076C6;
}

.point{
	background:#F5F5F5;
	padding: 110px 0 90px 0;
}
.point__heading{
	text-align: center;
	font-size:4rem;
	margin-bottom: 60px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
}
.point__heading span{
	display: block;
	color:#E06D15;
}
.point__heading span i{
	margin-right: 20px;
}
.point__container{
	display: grid;
	grid-template-columns: 373.3px 373.3px 1fr;
	grid-gap: 40px;
}
.point__container .point__item{
	background:#fff;
	box-shadow: -1px 2px 9px #ddd;
}
.point__item__heading{
	background:#3B63A3;
	color:#fff;
	font-weight: 900;
	font-size:2rem;
	height:73px;
	line-height: 73px;
	position: relative;
	padding-left: 80px;
	font-family: 'Noto Sans JP', sans-serif;
}
.point__item__heading__icon{
	background:#fff;
	border-radius: 50%;
	width:40px;
	height:40px;
	padding-top: 10px;
	color:#3B63A3;
	margin: -10px 20px 0 0;
	text-align: center;
	display: block;
	position: absolute;
	top:25px;
	left:20px;
}
.point__item__heading__number{
	position:absolute;
	right:20px;
	top:0px;
	font-size:4rem;
}
.point__item__discription{
	background:url("../images/triangle.png") center 0 no-repeat;
	background-size:23px auto;
	padding-top: 32px;
	padding-bottom: 32px;
}
.point__item__discription > h4{
	text-align: center;
	font-size:2rem;
	font-weight: 700;
	color:#3B63A3;
	margin-bottom: 29px;
}
.point__item__discription > h4 > span{
	display: block;
	font-size:1rem;
	color:#000000;
}
.point__item__discription > ul{
	font-size:1.6rem;
	margin-left: 40px;
}
.check{
	padding: 100px 0 0 0;
}
.check__heading{
	font-family: 'Noto Sans JP', sans-serif;
	font-size:4rem;
	font-weight:900;
	text-align: center;
	background:#3B63A3;
	padding: 55px 0;
	color:#fff;
	margin-bottom: 55px;
}
.check__blue{
	background:#3B63A3;
	color:#fff;
	border-radius: 25px;
	padding: 3px 0;
	width:90px;
	display: inline-block;
	text-align: center;
}
.check__orange{
	background:#E06D15;
	color:#fff;
	border-radius: 25px;
	padding: 3px 0;
	width:90px;
	display: inline-block;
	text-align: center;
}
.check__table{
	font-size:1.6rem;
}
.check__table th{
	text-align: left;
	font-size:1rem;
	padding: 5px 0;
}
.check__table td{
	padding: 5px 20px;
}
.check .check__container{
	border:solid 1px #155794;
	padding: 32px 27px;
	margin-bottom: 29px;
}
.check .check__container > h3{
	font-size:2rem;
	margin-bottom: 27px;
}
.check__container--01{
	background:url("../images/check01.gif") 97% 50% no-repeat;
	background-size:100px auto;
}
.check__container--02{
	background:url("../images/check02.gif") 97% 50% no-repeat;
	background-size:100px auto;
}
.check__container--03{
	background:url("../images/check03.gif") 97% 50% no-repeat;
	background-size:120px auto;
}
.check__container--04{
	background:url("../images/check04.gif") 97% 50% no-repeat;
	background-size:120px auto;
}
.check__container--05{
	background:url("../images/check05.gif") 97% 50% no-repeat;
	background-size:120px auto;
}
.check__cta__link {
	pointer-events: none;
	cursor: pointer;
	color:#333333;
}
.check__cta{
	border:solid 4px #3B63A3;
	padding: 46px 34px;
	display: grid;
	grid-template-columns: 70% 1fr;
}
.check__cta__heading{
	font-size:1.6rem;
	font-weight: 700;
}
.check__cta__cathphrase{
	font-size:4rem;
	color:#E06D15;
	font-weight: 700;
}
.check__cta__inchargeof{
	background:#3B63A3;
	color:#fff;
	text-align: center;
	font-weight: 700;
	height:23px;
	line-height: 23px;
}
.check__cta__tel{
	color:#E06D15;
	font-size: 4rem;
	font-weight: 700;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
}
.check__cta__tel i{
	margin-right: 10px;
}
.price{
	padding: 100px 0;
	background:#3B63A3;	
}
.price p{color:#fff;margin-top:10px;}
.price__heading{
	text-align: center;
	font-size:4rem;
	margin-bottom: 60px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
	color:#fff;
}
.price__table{
	border-collapse: collapse;
	font-size:1.6rem;
	border-left:solid 1px #ccc;
	border-top:solid 1px #ccc;
	background:#fff;
	width:100%;
}
.price__table caption{
	text-align: left;
	margin-bottom: 5px;
	font-weight: bold;
	color:#fff;
}
.price__table th{
	background:#f2f2f2;
	border-right:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	padding: 10px;
	width:22%;
}
.price__table td{
	border-right:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
	padding: 10px;
	text-align: right;
}
.price__table__sum td{
	background:#f2f2f2;
}
.price .price__container h3{
	font-size:2rem;
	margin-bottom: 27px;
}
.price__container__inner{
	display: flex;
}
.price__container__inner table{
	width:33%;
	margin: 0 auto;
}
.price__tab {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-btween;
	list-style: none;
	padding: 0;
}
.price__tab__item {
  text-align: center;
  flex: 0 0 33.33333%;
  background-color: #eee;
  padding: 10px 0;
font-size:1.6rem;
	font-weight: bold;
	margin:0 auto 10px auto;
}
.price__tab__item.active {
  background-color: #E06D15;
	color:#fff;
}

.price__container {
  display: none;
}
.price__container.show {
  display: block;
}
.flow{
	background:#F5F5F5;
	margin: 100px 0;
	padding:100px 0;
}
.flow__heading, .qa__heading{
	font-size:4rem;
	text-align: center;
	font-weight:900;
	font-family: 'Noto Sans JP', sans-serif;
}
.flow__heading > span, .qa__heading > span{
	display: block;
	color:#3B63A3;
	font-size:1.4rem;
}
.flow__table{
	margin: 0 20px;
	width:100%;
}
.flow__table th{
	color:#3B63A3;
	font-size:2rem;
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	width:100px;
	vertical-align: top;
}
.flow__table th span{
	background:#3B63A3;
	color:#fff;
	display: block;
	border-radius:50%;
	width:100px;
	height:100px;
	line-height: 100px;
	font-size:4rem;
	margin-top: 10px;
}
.flow__table td{
	padding-left: 40px;
}
.flow__table td > h3{
	font-size:3.2rem;
	font-weight:900;
	font-family: 'Noto Sans JP', sans-serif;
	margin-bottom:20px;
}
.flow__table td > p{
	background:#fff;
	font-size:1.6rem;
	padding: 20px;
}
.flow__box{
	background:url("../images/bar.png") 70px bottom no-repeat;
	padding-bottom: 100px;
	margin-bottom: 20px;
}
.flow__box:last-child{
	background:none;
	padding: 0;
}

.greetings{
	background:url("../images/greetings.jpg") center 50% no-repeat;
	background-size:cover;
	color:#fff;
	margin-top: 100px;
	padding:100px 0;
}
.greetings__heading{
	font-size:4rem;
	font-family: 'Noto Sans JP', sans-serif;
	margin-bottom:20px;
	text-align: center;
}
.greetings p{
	font-size:1.6rem;
	width:1050px;
	margin: 0 auto 50px auto;
	line-height: 1.8em;
}
.greetings__name{
	text-align: right;
	margin: 0;
}
.profile{
	display: grid;
	grid-template-columns: 50% 50%;
	background:#3B63A3;
}
.profile > table{
	margin-left:calc(100% - 560px);
	font-size:1.6rem;
	color:#fff;
	margin-top: 50px;
	margin-bottom: 50px;
	margin-right: 40px;
}
.profile > table th{
	font-size:2rem;
	border-bottom:solid 2px #fff;
	padding: 30px 0;
}
.profile > table td{
	border-bottom:solid 1px #fff;
	padding: 30px 0;
}
.contact{
	margin: 100px 0;
}
.contact__heading{
	font-size:4rem;
	color:#3B63A3;
	font-family: 'Noto Sans JP', sans-serif;
	margin-bottom:20px;
	font-weight: 900;
	text-align: center;
}
.contact table{
	width:700px;
	margin: 0 auto;
	font-size:2rem;
}
.contact table th{
	text-align: left;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 900;
	padding-bottom: 10px;
}
.contact table th span{
	font-size:1rem;
	font-family: "游ゴシック体", "メイリオ", sans-serif;
	margin-right: 10px;
	color:#fff;
	display: inline-block;
	width:60px;
	text-align: center;
}
.contact table td{
	padding-bottom: 40px;
}
.contact table td input{
	background:#F5F5F5;
	padding: 3px 20px;
	border:none;
	width:100%;
	margin-bottom: 10px;
}
.contact table td textarea{
	background:#F5F5F5;
	padding: 3px 20px;
	border:none;
	width:100%;
	height:10em;
}
.contact table td span{
	margin-left: 20px;
}
.contact__required{
	background:#3B63A3;
}
.contact__not-required{
	background:#767575;
}
.contact__button{
	text-align: center;
}
.contact__button input{
	background:#3B63A3;
	color:#fff;
	text-align: center;
	width:248px;
	border:none;
	height:59px;
	font-size:2rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:900;
	transition:0.5s ease background;
	cursor: pointer;
}
.contact__button input:hover{
	background:#2076C6;
}
.site-footer{
	text-align: center;
	background:#3B63A3;
	color:#fff;
	height:41px;
	line-height: 41px;
	font-size:1.6rem;
}
@media (min-width:1200px){
.sp_only{display:none!important;}
}
@media (min-width:768px) and (max-width: 1199px){
.sp_only{display:none;}
.wrapper{
	width:80%;
	}
.point{
	padding-bottom: 100px!important;
	}
.point__container{
	display: grid;
	grid-template-columns: 48% 48%;
	grid-column-gap: 4%;
}
.total-support section:first-child, .total-support section:last-child{
	padding-left: 5%;
	padding-right: 5%;
}
.greetings p{
	width:80%;
}
.contact table{
	width:100%;
}
/*768-1199px*/}
@media (max-width:767px){
.pc_only{display:none;}
.wrapper{
	width:90%;
	}
	.site-header__navi ul{
		wdith:100%;
		margin-top: 20px;
		overflow-x: auto;
	}
	.site-header__navi ul::-webkit-scrollbar {
  display: none;
 }

	.site-header__navi ul li{white-space: nowrap;}
	.site-header__navi ul li a{
		font-size:1rem;
		padding:10px 10px 0 10px;
	}
	.site-header__navi ul li i{
		font-size:2rem;
	}
.site-header--tel{
	font-size:5rem;
	color:#155794;
	position: absolute;
	top:0px;
	right:10px;
	}
	.site-header{
		border-bottom:solid 4px #155794;
	}
	.site-header--logo{
		width:220px;
	}
	.kv{
		padding: 50px 0;
	}
	.kv__catchphrase span{
		font-size:2rem;
	}
	.kv__cta{
		width:90%;
		font-size:2rem;
		margin-top:30px;
	}
.point{
	padding-bottom: 100px!important;
	}
.point__container{
	display: block;
}
	.point__item{
		margin-bottom: 20px;
	}
	.total-support{
		display: block;
	}
.total-support section:first-child, .total-support section:last-child{
	padding-left: 5%;
	padding-right: 5%;
}
.point__heading, .check__heading {
		font-size:2.5rem;
	}
	.check__table th, .check__table td{
		display: block;
	}
	.check .check__container > h3{
		font-size:2rem;
	}
.check__cta{
	padding: 25px;
	display: block;
}
	.check__cta__link{
		pointer-events: all;
	}
.check__cta__heading{
	margin-bottom: 10px;
}
.check__cta__cathphrase{
	font-size:2.1rem;
	margin-bottom: 10px;
}
.check__cta__tel{
	font-size: 2.2rem;
}
.check__cta__tel i{
	margin-right: 10px;
}
	.flow__table{
		width:90%;
	}
	.flow__table th, .flow__table td{
		display: block;
		padding: 0;
	}
	.qa__heading{
		font-size:3rem;
	}
	.ac{
		padding-left: 0;
	}
	.ac-label {
		font-size:1.5rem;
		padding-right:30px;
	}
	.ac-content{
		font-size:1.5rem;
	}
	.icon-wrap{
		width:25px;
		height:25px;
	}
	.greetings__heading{
		font-size:3rem;
	}
.greetings p{
	width:90%;
}
	.profile{
		display: block;
	}
.profile > table{
	margin:0 auto;
	width:95%;
}
	.profile > table th, .profile > table td{
		display: block;
	}
	.profile > table th{
		padding-bottom:10px;
		text-align: left;
		border-bottom:dashed 1px #fff;
		font-size:1.6rem
	}
	.profile > table td{
		padding-top:10px;
	}
	.profile > table td:last-child{
		border:none;
	}
	.profile iframe{
		height:300px;
	}
	.contact__heading{
		font-size:3rem;
	}
.contact table{
	width:100%;
}
	.price__tab li{
		font-size:1.3rem;
	}
	.price .price__container{
		overflow-x:scroll;
	}
	.price .price__container table{
		 width: 100%;
  min-width: 600px;
	}
/*767px*/}