@charset "UTF-8";
/*------------------------------------------------------------
	Reset
------------------------------------------------------------*/


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
main {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  font-size: 100%;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,main {
  display: block;
}
body {-webkit-text-size-adjust: 100%; font-size: 16px;}
body,table,input,textarea,select,option,h1,h2,h3,h4,h5,h6 { font-family: 'Noto Sans JP', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
h1,h2,h3,h4,h5,h6 { font-weight: bold; }
table,input,textarea,select,option { line-height: 1.1; }
ol,ul { list-style: none; }
blockquote,q { quotes: none; }
:focus { outline: 0; }
ins { text-decoration: none; }
del { text-decoration: line-through; }

img { vertical-align: bottom; max-width: 100%;}
a { -webkit-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; display: inline-block; text-decoration: none;}
a:hover { opacity: 0.8; -ms-filter: "alpha(opacity=80)"; filter: alpha(opacity=80); }
form label { cursor: pointer; }
*, *:before, *:after {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
       -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
          box-sizing: border-box;
}



/*------------------------------------------------------------
共通
------------------------------------------------------------*/
.sp_only,
body:not(.index) .index_only{
  display: none;
}
.innerBox{
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
}
.link_tel{
  pointer-events: none;
}
.btn{
  padding: 12px 0;
  border-radius: 100vh;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  font-weight: bold;
}
.btn-og{
  width: 240px;
  max-width: 100%;
  background: #ff9000;
}
.btn-bl{
  width: 420px;
  max-width: 100%;
  background: #2f7bc0;
}
.btn-og.btn-l{
  width: 100%;
  max-width: 700px;
  font-size: 32px;
  padding: 16px 0;
}
.btn-arrow{
  position: relative;
}
.btn-arrow::after{
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 16px;
  display: inline-block;
  width: 56px;
  height: 56px;
  background: url(/asset/images/icon_arrow-r-w.png) no-repeat center / contain;
}
.btn-bl.btn-arrow::after{
  right: 9px;
  width: 34px;
  height: 34px;
}

@media (max-width: 1160px) {
	.innerBox{
		padding: 0 20px;
	}
}
@media (max-width: 667px) {
  html {
    font-size: 14px;
  }
  .sp_only{
    display: block;
  }
  .pc_only{
    display: none;
  }
  .innerBox {
    padding: 0 10px;
  }
  .link_tel{
    pointer-events: auto;
  }
  .btn-og.btn-l{
    font-size: 5.3vw;
  }
  .btn-arrow::after{
    width: 8.7vw;
    height: 8.7vw;
  }
}



/*------------------------------------------------------------
header
------------------------------------------------------------*/
header .innerBox{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1190px;
  padding: 10px;
}
.header_logo .logo_txt{
  font-size: 0.675rem;
}
.header_logo .logo_img{
  margin: 0 0 3px ;
}
.header_logo .logo_img img{
  width: 35vw;
  max-width: 146px;
}
.header_links{
  display: flex;
  align-items: center;
}
.header_links .link_tel img{
  width: 40vw;
  max-width: 212px;
}
.header_links .link_wrap .link_contact{
  margin-left: 3.3vw;
}
.navi_lists{
  background: #2f7bc0;
}
.navi_lists .innerBox{
  padding: 0;
}
.navi_list .list_item a{
  padding: 8px 15px;
  color: #fff;
  font-weight: bold;
}
.navi_list{
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.navi_list .list_item{
  width: 25%;
  text-align: center;
}

@media (max-width: 667px) {
  header{
    height: 70px;
  }
  .header_logo .logo_txt{
    font-size: 0.625rem;
  }

  .panelBtn{
    position: relative;
    display: inline-block;
    width: 10vw;
    height: 10vw;
    margin-left: 2vw;
  }
  .panelBtn-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 8vw;
    height: 0.6vw;
    background: #2f7bc0;
    transition: .2s;
  }
  .panelBtn-icon:before,
  .panelBtn-icon:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 8vw;
    height: 0.6vw;
    background: #2f7bc0;
    transition: .3s;
  }
  .panelBtn-icon:before {
    margin-top: -2.1vw;
  }
  .panelBtn-icon:after {
    margin-top: 1.8vw;
  } 
  .panelBtn .close {
    background: transparent;
  }
  .panelBtn .close:before,
  .panelBtn .close:after {
    margin-top: 0;
  } 
  .panelBtn .close:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .panelBtn .close:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .menu_block{
    position: absolute;
    top: 70px;
    left: 0;
    z-index: 1000;
    display: none;
    width: 100%;
    padding: 0 0 20px;
    border-bottom: 1px solid #ccc;
    background: #fff;
  }
  .header_links .link_tel img{
    width: 37.7vw;
  }
  .navi_lists{
    background: transparent;
  }
  .navi_list{
    display: block;
    border-bottom: 1px solid #ccc;
  }
  .navi_list .list_item{
    width: 100%;
    border-top: 1px solid #ccc;
  }
  .navi_list .list_item a{
    width: 100%;
    color: #363636;
    font-size: 3.4vw;
    text-align: left;
  }
  .link_wrap{
    margin-top: 20px;
    text-align: center;
  }

}


/*------------------------------------------------------------
footer
------------------------------------------------------------*/
.footer_wrap{
  background: #faf9f7;
}
footer .innerBox{
  display: flex;
  align-items: center;
  flex-direction: column;
  max-width: 1190px;
  padding: 60px 20px 40px;
}
.footer_list{
  display: flex;
  margin: 50px 0 0;
  font-size: 14px;
}
.footer_list .list_item:nth-child(n + 2){
  margin-left: 25px;
}
.footer_list .list_item a{
  color: #363636;
}
footer .copyright {
  margin: 27px 0 0;
  color: #363636;
}

.pageTop{
  position: fixed;
  right: 30px;
  bottom: 30px;
  display: none;
  z-index: 10;
}
.pageTop_btn{
  display: block;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #fff url(/asset/images/icon_pagetop.png) no-repeat 50% 50%;
  text-align: center;
  box-shadow: 6px 7px 20px 0 rgb(4 0 0 / 15%);
}

@media (max-width: 820px) {
	footer .innerBox{
		padding: 30px 10px 20px;
	}
	.footer_list{
		margin: 20px 0 0;
		font-size: 12px;
	}
	footer .copyright{
		font-size: 12px;
	}
}
@media (max-width: 667px) {
  footer .innerBox {
    padding: 6vw;
    text-align: center;
  }
  footer .logo {
    margin-bottom: 5vw;
  }
  footer .logo img {
    width: 39vw;
  }
  .footer_list {
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0;
    font-size: 3.1vw;
  }
  .footer_list .list_item {
    width: 44vw;
    margin-bottom: 5vw;
    border-right: 0.2vw
    solid #acc0d8;
  }
  .footer_list .list_item:nth-child(1),
  .footer_list .list_item:nth-child(3),
  .footer_list .list_item:nth-child(5) {
    border-left: 0.2vw solid #acc0d8;
  }
  .footer_list .list_item:nth-child(n + 2){
    margin-left: 0;
  }
  .footer_list .list_item:last-child {
    width: 88vw;
  }
  footer .copyright {
    margin: 0;
    color: #717c85;
    font-size: 2.5vw;
  }

  .pageTop{
    right: 3vw;
    bottom: 3vw;
  }
  #page-top a{
    width: 12vw;
    height: 12vw;
    background: #fff url(/asset/images/icon_pagetop.png) no-repeat 50% 50% / 3vw auto;
    text-align: center;
    box-shadow: 1vw 1vw 3vw 0 rgb(4 0 0 / 15%);
  }
}



/*------------------------------------------------------------
main_visual
------------------------------------------------------------*/
.main_visual_wrap{
	 background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 98.5%, rgba(47, 123, 192, 1) 98.5%);
}
.main_visual{
		background: url(/asset/images/mv_img01.png) no-repeat top right -50px;
}
.main_visual_inr{
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;

}
.main_visual .innerBox{
	background: url(/asset/images/mv_img02.png) no-repeat bottom left;
	padding: 10px 0 130px;
}
.main_visual .read{
	margin-bottom: 10px;
}
.main_visual p{
	line-height: 2;
	font-size: 1.3vw;
	text-shadow:1px 1px 3px #fff;
}
.main_visual h1{
	font-size: 2.5vw;
	margin-bottom: 20px;
	text-shadow:1px 1px 3px #fff;
}
.main_visual h1 em{
	font-style: normal;
	font-size: 3vw;
	color: #ff5a00;
	background: linear-gradient(transparent 85%, #ffeca0 0%);
}
@media (max-width: 1160px) {
	.main_visual {
		background: url(/asset/images/mv_img01.png) no-repeat top right -100px;
		background-size: 50%;
	}
	.main_visual .innerBox{
		background-size: contain;
		padding: 10px 20px 130px;
	}
}
@media (max-width: 820px) {
	.main_visual{
		background: none;
	}
	.main_visual p{
		font-size: 2vw;
	}
	.main_visual h1{
		font-size: 3.5vw;
	}
	.main_visual h1 em{
		font-size: 4.5vw;
	}
}
@media (max-width: 667px) {
	.main_visual p{
		font-size: 3vw;
	}
	.main_visual p br{
		display: none;
	}
	.main_visual h1{
		font-size: 4.5vw;
		margin-bottom: 10px;
	}
	.main_visual h1 em{
		font-size: 5.5vw;
	}
	.main_visual .innerBox {
		padding: 10px 20px 80px;
	}
}

.insurance_area{
	background: #2f7bc0;
	padding: 10px 0 30px;
}
.insurance_area .ttl{
	font-weight: bold;
	font-size: 24px;
	color: #fff;
	margin-bottom: 20px;
}
.insurance_area ul{
	display: flex;
	justify-content: space-between;
}
.insurance_area ul li{
	margin: 0 5px;
}
@media (max-width: 1160px) {
	.insurance_area .ttl{
		font-size: 3vw;
	}
	.insurance_area ul li{
		padding: 0 5px;
	}
}
@media (max-width: 667px) {
	.insurance_area {
		padding: 10px 0 15px;
	}
	.insurance_area .ttl{
		font-size: 3vw;
		margin-bottom: 10px;
	}
	.insurance_area ul{
		flex-wrap: wrap;
		justify-content: center;
	}
	.insurance_area ul li{
		padding: 0 2px;
		width: 32%;
		margin-bottom: 5px;
	}
}
.sec_heading{
	text-align: center;
	font-size: 36px;
	margin: 0 20px 40px;
}
.sec01{
	background: #f8faff;
	padding: 40px 0 20px;
}
.cont_block{
	background: #fff;
	border-radius: 10px;
	padding: 30px;
	margin-bottom: 20px;
}
.cont_block h3{
	display: flex;
	align-items: center;
	font-size: 30px;
	color: #005bab;
	margin-bottom: 30px;
}
.cont_block h3 img{
	margin-right: 10px;
}
.cont_block .txt{
	margin-bottom: 20px;
}
.cont_block .txt span{
	background: linear-gradient(transparent 85%, #ffcc00 0%);
}
.cont_block .heading01_wrap{
	display: flex;
	align-items: center;
	margin-top: 40px;
}
.cont_block .heading01_wrap h4{
  min-width: 235px;
	background: #2f7bc0;
	color: #fff;
	text-align: center;
	border-radius: 10px;
	padding: 5px 40px 8px;
	font-size: 18px;
}
.cont_block .heading01_wrap .note{
	font-size: 12px;
	margin-left: 10px;
}
.cont_block .example_block{
	display: flex;
	margin: 30px 0;
}
.cont_block .example_block li{
	text-align: center;
	width: 25%;
  padding: 0 15px;
	border-right: 1px solid #ddd;
}
.cont_block .example_block li p{
	margin-top: 15px;
}
.cont_block .example_block li:nth-of-type(4){
	border-right: none;
}
.cont_block .example_block li img{
  width: 77.1%;
  border: 1px solid #ddd;
  border-radius: 100vh;
}
.insurance_link_block,.reco_link_block{
	margin-top: 50px;
}
.insurance_link_block .ttl ,.reco_link_block .ttl{
	margin-bottom: 10px;
}
.insurance_link_block ul ,.reco_link_block ul{
	display: flex;
}
.insurance_link_block li:not(:first-child),.reco_link_block li:not(:first-child){
  margin-left: 17.3px;
}

@media (max-width: 820px) {
  .sec_heading{
    font-size: 3.7vw;
  }
  .cont_block{
    padding: 20px 15px;
  }
  .cont_block h3{
    font-size: 3vw;
  }
  .cont_block h3 img{
    width: 5.8vw;
  }
  .cont_block .heading01_wrap h4{
    padding: 5px 20px 8px;
    font-size: 15px;
  }
  .cont_block .example_block li p{
    font-size: 12px;
  }
  .insurance_link_block li{
    width: calc((100% - 51.9px) / 4);
  }
  .reco_link_block li:first-of-type{
    width: 41.2%;
  }
  .reco_link_block li{
    width: calc((58.8% - 34.6px) / 2);
  }
}
@media (max-width: 667px) {
  .sec_heading{
    font-size: 5.8vw;
  }
  .cont_block h3{
    font-size: 4.8vw;
  }
  .cont_block h3 img{
    width: 8.2vw;
  }
  .cont_block .heading01_wrap{
    display: block;
  }
  .cont_block .heading01_wrap h4{
    min-width: auto;
    display: inline-block;
  }
  .cont_block .heading01_wrap .note{
    margin: 5px 0 0;
  }
  .cont_block .example_block{
    flex-wrap: wrap;
  }
  .cont_block .example_block li{
    width: 50%;
  }
  .cont_block .example_block li:nth-child(odd){
    padding: 0 10px 0 0;
  }
  .cont_block .example_block li:nth-child(even){
    padding: 0 0 0 10px;
  }

  .cont_block .example_block li:nth-child(even){
    border-right: none;
  }
  .cont_block .example_block li:nth-child(n + 3){
    margin-top: 15px;
  }
  .insurance_link_block ul, .reco_link_block ul{
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .insurance_link_block li, .reco_link_block li{
    width: calc(50% - 5px);
  }
  .insurance_link_block li:not(:first-child), .reco_link_block li:not(:first-child){
    margin: 0;
  }
  .insurance_link_block li:nth-child(n + 3), .reco_link_block li:nth-child(n + 2){
    margin-top: 10px;
  }
  .reco_link_block li:first-of-type{
    width: 100%;
  }
}


.sec02{
  padding: 60px 0 20px;
}
.sec02 .cont_block{
  background: #f8faff;
}
.cont_note{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 25px;
  border-radius: 20px;
  background: #fff;
}
.cont_note .img{
  width: 101px;
}
.cont_note .note{
  width: calc(100% - 126px);
}
.cont_note .note h4{
  margin-bottom: 15px;
  font-size: 24px;
}
.cont_note .note p{
  margin-bottom: 10px;
  font-size: 18px;
}

@media (max-width: 820px) {
  .cont_note .note h4{
    font-size: 2.4vw;
  }
  .cont_note .note p{
    font-size: 1.8vw;
  }
}
@media (max-width: 667px) {
  .cont_note{
    flex-direction: column;
  }
  .cont_note .img{
    width: 21.3vw;
    margin-bottom: 10px;
  }
  .cont_note .note{
    width: 100%;
  }
  .cont_note .note h4{
    font-size: 4.3vw;
  }
  .cont_note .note p{
    font-size: 16px;
  }
}

.sec03{
  padding: 40px 0 20px;
  background: #2f7bc0;
}
.sec03 .sec_heading{
  color: #fff;
}
.sec03_top{
  text-align: center;
}
.sec03_top .link_wrap{
  margin: 50px 0;
}
.sec03 .cont_block{
  padding: 52px 30px;
}
.sec03 .cont_block h3{
  justify-content: center;
  color: #2c2c2c;
  font-size: 36px;
}
.trouble_block{
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 930px;
  margin: 0 auto 50px;
}
.trouble_block .trouble_item{
  border: 1px solid #c2c2c2;
  border-radius: 30px;
  width: calc(50% - 10px);
}
.trouble_block .trouble_item h4{
  background: #2f7bc0;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  color: #fff;
  text-align: center;
  font-size: 23px;
  padding: 20px 0;
}
.trouble_block .trouble_item ul{
  padding: 26px 26px 34px;
}
.trouble_block .trouble_item li{
  margin: 0 0 13px 1em;
  text-indent: -1em;
}
.trouble_arrow{
  margin-bottom: 40px;
  text-align: center;
}
.trouble_txt{
  margin-bottom: 35px;
  text-align: center;
  font-size: 48px;
  font-weight: bold;
}
.trouble_txt span{
  color: #ff5a00;
}

@media (max-width: 820px) {
  .sec03 .cont_block h3{
    font-size: 3.7vw;
  }
  .trouble_block .trouble_item h4{
    font-size: 20px;
  }
  .trouble_block .trouble_item ul{
    padding: 14px 14px 22px;
  }
  .trouble_txt{
    font-size: 4.9vw;
  }
}
@media (max-width: 667px) {
  .sec03 .cont_block{
    padding: 25px 20px;
  }
  .sec03 .cont_block h3{
    font-size: 5.8vw;
  }
  .trouble_block{
    display: block;
    margin-bottom: 30px;
  }
  .trouble_block .trouble_item{
    width: 100%;
  }
  .trouble_block .trouble_item + .trouble_item{
    margin-top: 15px;
  }
  .trouble_block .trouble_item h4{
    font-size: 4.3vw;
  }
  .trouble_block .trouble_item ul{
    padding: 14px;
  }
  .trouble_block .trouble_item li{
    margin-bottom: 5px;
  }
  .trouble_arrow{
    margin-bottom: 30px;
  }
}


.sec04{
  padding: 60px 0;
}
.sec04 .sec_heading{
  margin-bottom: 75px;
  color: #00519a;
  font-size: 48px;
}
.reason_list{
  display: flex;
  justify-content: space-between;
}
.reason_list .list_item{
  position: relative;
  width: calc((100% - 100px) / 3);
  padding: 58px 17px 20px;
  background: #ebf3fa;
  text-align: center;
}
.reason_list .list_item::before{
  content: "";
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  width: 36px;
  height: 52px;
}
.reason_list .list_item-01::before{
  background: url(/asset/images/reason_num01.png) no-repeat center / contain;
}
.reason_list .list_item-02::before{
  background: url(/asset/images/reason_num02.png) no-repeat center / contain;
}
.reason_list .list_item-03::before{
  background: url(/asset/images/reason_num03.png) no-repeat center / contain;
}
.reason_ttl{
  margin-bottom: 18px;
  font-size: 28px;
  line-height: 1.3;
}
.reason_img{
  margin-bottom: 25px;
}
.reason_txt{
  text-align: left;
  line-height: 1.8;
}
.sec04 .reco_link_block{
  text-align: center;
  margin-top: 60px;
}
.sec04 .reco_link_block h4{
  margin-bottom: 15px;
  font-size: 24px;
}
@media (max-width: 820px) {
  .sec04 .sec_heading{
    font-size: 4.9vw;
  }
  .reason_list .list_item{
    width: calc((100% - 50px) / 3);
  }
  .reason_ttl{
    font-size: 2.6vw;
  }
}
@media (max-width: 667px) {
  .reason_list{
    display: block;
  }
  .reason_list .list_item{
    width: 100%;
  }
  .reason_list .list_item + .list_item{
    margin-top: 50px;
  }
  .reason_ttl{
    font-size: 5vw;
  }
  .reason_img img{
    width: 24.2vw;
  }
}

.sec05{
  padding: 60px 0;
  background: #2f7bc0;
}
.sec05 .sec_heading{
  color: #fff;
  font-size: 30px;
}
.company_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.company_list .list_item{
  width: calc((100% - 30px) / 3);
}
.company_list .list_item:nth-child(n + 4){
  margin-top: 30px;
}
.company_note{
  color: #fff;
  font-size: 14px;
}
@media (max-width: 820px) {
  .company_list .list_item:nth-child(n + 4){
    margin-top: 15px;
  }
}
@media (max-width: 667px) {
  .sec05{
    padding: 30px 0;
  }
  .sec05 .sec_heading{
    font-size: 4.8vw;
  }
  .company_list .list_item{
    width: calc((100% - 14px) / 2);
  }
  .company_list .list_item:nth-child(n + 3){
    margin-top: 14px;
  }
}


.sec06{
  padding: 55px 20px 65px;
}
.contact_box{
  text-align: center;
}
.contact_box .link_tel{
  margin-bottom: 26px;
}
@media (max-width: 667px) {
  .contact_box .link_tel{
    width: 70vw;
  }
}
/* モーダルCSS */
.modalArea {
  display: none;
  position: fixed;
  z-index: 10; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 500px;
  padding: 20px 30px;
  background-color: #fff;
}
.modalContents{
  padding-top: 20px;
}
.modalContents ul li{
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #2f7bc0;
  display: flex;
  align-items: center;
}
.modalContents ul li:nth-of-type(2){
  border: none;
}
.modalContents ul li a{
  color: #2f7bc0;
}
.closeModal{
  text-align: center;
}
.closeModal span{
  border: 1px solid #2f7bc0;
  padding: 5px 20px;
  text-align: center;
  border-radius: 10px;
  cursor: pointer;
  color: #2f7bc0;
}
#openModal{
  cursor: pointer;
}