@charset "UTF-8";

/*-- ALL ------------------------------
------------------------------------------*/
*{box-sizing:border-box;}
html{overflow-x:hidden;font-size:62.5%;}
body{font-family:"Zen Kaku Gothic New", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;;font-size:18px;line-height:1.45;color:#555555;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;word-break:break-all;}
.mb0{margin-bottom:0!important}
.mb5{margin-bottom:5px!important}
.mb15{margin-bottom:15px!important}
.mb20{margin-bottom:20px!important}
.mb25{margin-bottom:25px!important}
.mb30{margin-bottom:30px!important}
.mb35{margin-bottom:35px!important}
.mb40{margin-bottom:40px!important}
.mb45{margin-bottom:45px!important}
.mb50{margin-bottom:50px!important}
.mb60{margin-bottom:60px!important}
.mb65{margin-bottom:65px!important}
.mb70{margin-bottom:70px!important}
.mb75{margin-bottom:75px!important}
.mb80{margin-bottom:80px!important}
.mb90{margin-bottom:90px!important}
.mb100{margin-bottom:100px!important}
.mb115{margin-bottom:115px!important}
.mb140{margin-bottom:140px!important}
.center{text-align:center;}
.txt_right{text-align: right;}
a{display: block;transition:all .2s;}
a:hover{opacity:.85;}
.hover:hover{opacity:.85}
.sp{display:none;}
.break_pc{display:block;}
.break_sp{display:contents;}
.txt_shadow{text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;}
p{margin:0 0 40px 0;font-size:18px;line-height:1.75;}
.mb0{margin-bottom:0;}
.lh_none{line-height:0}
.bold{font-weight:700;}
.f-maru-400{font-family: "Zen Kaku Gothic New", serif;font-weight:400;font-style:normal;}
.f-maru-500{font-family: "Zen Kaku Gothic New", serif;font-weight:500;font-style:normal;}
.f-maru-700{font-family: "Zen Kaku Gothic New", serif;font-weight:700;font-style:normal;}
.f-maru-900{font-family: "Zen Kaku Gothic New", serif;font-weight:900;font-style:normal;}
.highlight{background:-webkit-linear-gradient(transparent 50%,#ffec5c 50%,#ffec5c 80%,transparent 80%);background:-o-linear-gradient(transparent 50%,#ffec5c 50%,#ffec5c 80%,transparent 80%);background:linear-gradient(transparent 50%,#ffec5c 50%,#ffec5c 80%,transparent 80%);padding-bottom:5px;}
:root{
  --grey: #f3f3f1;
  --purple: #563cfd;
  --green: #f6fbfb;
  --green2: #42b5a9;
  --black: #020202;
  --white: #ffffff;
  --cl-text: #464851;
  --f-kaku: "Zen Kaku Gothic New", serif;
}
.lt-spa{
  letter-spacing: -2px;
}
.lt-spa-1{
  letter-spacing: -0.5px;
}
.cl_green{
  color: var(--green2);
}
.size14{
  font-size: 14px;
}
.size15{
  font-size: 12px;
}
.size30{
  font-size: 30px;
}
.size60{
  font-size: 60px;
}

/*-- header --------------------------------
------------------------------------------*/
.sec_header{
  background: var(--white);
  width: 100%;
  height: 100px;
  position: fixed;
  top: 0;
  z-index: 8;
}
.sec_header .logo{
  padding-left: 25px;
}
.sec_header .flex-h{
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sec_header .flex-h .btn_h ul{
  display: flex;
  gap: 10px;
}
/*-- /header -------------------------------
------------------------------------------*/

/*-- fv -----------------------------------
------------------------------------------*/
.sec_fv{
  background: url(../images/pc_sec_fv_bg.jpg) no-repeat center;
  height: 800px;
}
/*-- /fv ----------------------------------
------------------------------------------*/

/*-- sec01 --------------------------------
------------------------------------------*/
.sec01{
  background: #2A7B9B;
  background: linear-gradient(0deg, rgba(42, 123, 155, 1) 0%, rgba(249, 249, 249, 1) 0%, rgba(227, 244, 242, 1) 100%);
  /*--
  padding-top: 130px;
  --*/
  padding-top: 80px;
}
/*-- /sec01 -------------------------------
------------------------------------------*/

/*-- sec02 --------------------------------
------------------------------------------*/
.sec02{
  /*--
  padding: 120px 0 80px 0;
  --*/
  padding: 80px 0;
  background: linear-gradient(10deg, #F0FEFF 0%, #FAFFF0 56%, #F1FDFB 100%);
}
.sec02 p{
  font-size:24px;
  line-height:1.75;
}
/*-- /sec02 -------------------------------
------------------------------------------*/

/*-- sec03 --------------------------------
------------------------------------------*/
.sec03{
  padding: 120px 0 130px 0;
  background: linear-gradient(10deg, #F1FDFB 0%, #FFFDF9 50%, #FEF9FC 100%);
  box-shadow: 0px 30px 30px 0px #F1FDFB inset;
}
.sec03_box .item{
  display: flex;
  justify-content: space-between;
}
.sec03_box .item .txt{
  padding-right: 60px;
}
.sec03_box .item .txt dl{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec03_box .item .thumb{
  position: relative;
  /*--
  top: 15px;
  --*/
}
.sec03_box .item .txt dl dt{
  width: 80px;
  border-right: 1px solid var(--green2);
  line-height: 1.2;
  min-height: 301px;
}
.sec03_box .item .txt dl dt span{
  color: var(--green2);
}
.sec03_box .item .txt dl dd{
  width: calc(100% - 80px);
  padding-left: 40px;
}
.sec03_box .item:nth-child(2n) .txt{
  order: 2;
  padding-right: 0;
  padding-left: 70px;
}
.sec03 .fix_h3 span.size15{
  position: relative;
  top: -10px;
}
/*-- /sec03 -------------------------------
------------------------------------------*/

/*-- sec04 --------------------------------
------------------------------------------*/
.sec04{
  padding: 120px 0 120px 0;
  background: linear-gradient(10deg, #FEF9FC 0%, #F8FEF1 50%, #FFFFDE 100%);
  box-shadow: 0px 30px 30px 0px #F2FDFB inset;
}
/*-- /sec04 -------------------------------
------------------------------------------*/

/*-- sec05 --------------------------------
------------------------------------------*/
.sec05{
  padding: 120px 0 120px 0;
  background: linear-gradient(10deg, #ecf8f6 0%, #F8FEF1 50%, #ecf8f6 100%);
  box-shadow: 0px 30px 30px 0px #FCFBF9 inset;
}
.sec05_box .item{
  display: inline-block;
  position: relative;
  width: 100%;
}
.sec05_box .item .txt{
  float: left;
  width: 730px;
  background: #fff;
  position: relative;
  z-index: 2;
  padding: 40px;
}
.sec05_box .item .thumb{
  right: 0;
  top: -20px;
  position: absolute;
  z-index: 1;
}
.sec05_box .item:nth-child(2n) .thumb{
  left: 0;
  right: unset;
}
.sec05_box .item:nth-child(2n) .txt{
  float: right;
}
/*-- /sec05 -------------------------------
------------------------------------------*/

/*-- sec06 --------------------------------
------------------------------------------*/
.sec06{
  padding: 120px 0 120px 0;
  background: linear-gradient(10deg, #F9FFF4 0%, #F0FDFE 50%, #F6F9FF 100%);
  box-shadow: 0px 30px 30px 0px #EEF9F6 inset;
}
/*-- /sec06 -------------------------------
------------------------------------------*/

/*-- cta ----------------------------------
------------------------------------------*/
.cta{
  /*--
  padding: 124px 0 100px 0;
  --*/
  padding: 80px 0;
  background: url(../images/pc_cta_bg.png) no-repeat center;
}
.cta .btn_cta{
  display: flex;
  justify-content: space-between;
}
.cta .btn_cta a{
  margin-top: 3px;
}
/*-- /cta ---------------------------------
------------------------------------------*/

/*-- sec07 --------------------------------
------------------------------------------*/
.sec07{
  padding: 120px 0 140px 0;
  background: linear-gradient(10deg, #EDF8FC 0%, #FFFBF3 50%, #FFFBFE 100%);
}
.sec07_box .item{
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sec07_box .item .txt{
  padding-right: 60px;
  background: #ecf8f6;
  border-radius: 20px;
  padding: 30px;
  max-width: 735px;
}
.sec07_box .item .txt dl{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec07_box .item .txt dl dt{
  width: 80px;
  border-right: 1px solid var(--green2);
  line-height: 1;
  min-height: 301px;
}
.sec07_box .item .txt dl dt span{
  color: var(--green2);
}
.sec07_box .item .txt dl dd{
  width: calc(100% - 80px);
  padding-left: 40px;
}
.sec07_box .item.last .txt{
  order: 2;
  padding-right: 0;
  padding-left: 40px;
}
/*-- /sec07 -------------------------------
------------------------------------------*/

/*-- sec08 --------------------------------
------------------------------------------*/
.sec08{
  padding: 120px 0 120px 0;
  background: linear-gradient(0deg, #FFFBFE 0%, #E6FAFD 50%, #F2F9FA 100%);
  box-shadow: 0px 30px 30px 0px #EFF8FC inset;
}
.sec08_qa dl{
  width: 100%;
  background: #fff;
}
.sec08_qa dl dt{
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  cursor: pointer;
  padding: 15px 30px 15px 30px;
}
.sec08_qa dl dt .ja{
  font-size: 24px;
  padding-left: 15px;
}
.sec08_qa dl dt .q{
  color: var(--green2);
  border-right: 2px solid var(--green2);
  padding-right: 15px;
  line-height: 1;
}
.sec08_qa dl dt .arr{
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}
.sec08_qa dl dt .arr img {
  transition: transform 0.3s ease;
}
.sec08_qa dl dt.open .arr img{
  transform: rotate(-180deg);
}
.sec08_qa dl dd{
  display: none;
  margin-top: 25px;
  padding: 0 30px 30px 30px;
}
/*-- /sec08 -------------------------------
------------------------------------------*/

/*-- sec09 --------------------------------
------------------------------------------*/
.sec09{
  padding: 160px 0 180px 0;
  background: linear-gradient(0deg, #FDF2DE 0%, #FEF1F0 50%, #FDFBFE 100%);
  box-shadow: 0px 30px 30px 0px #FDFBFE inset;
}
/*-- /sec09 -------------------------------
------------------------------------------*/

/*-- /pagetop ------------------------------
------------------------------------------*/
.pagetop{display:none;position:fixed;bottom:30px;right:30px;z-index:9999;}
.pagetop a{position:relative;display:block;width:50px;height:50px;background-color:#42b5a9;border-radius:50%;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
.pagetop a:before{position:absolute;content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid #fff;top:50%;right:50%;transform:translateX(50%)translateY(-60%);}
.pagetop a:hover{display:block;text-align:center;color:#fff;font-size:12px;text-decoration:none;filter:alpha(opacity=70);-moz-opacity:0.7;opacity:0.7;}
.pagetop a:link,.pagetop a:visited{color:#fff;}
/*-- /pagetop ------------------------------
------------------------------------------*/




	/*-- sec06から移管したスライダー分 ---*/
	.sec04{
	  padding: 10vw 0;
	}
	.sec04 .sp_img_scroll{
	  overflow: scroll;	
    overflow-y: hidden;
	}
	.sec04 .sp_img_scroll p{
	  margin: 0;	
	}
	.sec04 .sp_img_scroll img{
	  width: 183.5vw;	
	}

	/* pc */
/*
  PC・スマホ共通のスタイルや、
  PC用のスタイルをここに書く (メディアクエリの外側)
*/
/* =============================================== */
/* --- PC用の画像スクロール --- */
    .sec04{
	  padding: 10vw 0;
	}
	.sec04 .pc_img_scroll{
	  overflow-x: scroll;	
    overflow-y: hidden;
	}
	.sec04 .pc_img_scroll p{
	  margin: 0;	
	}
	.sec04 .pc_img_scroll img{
	  width: 120%;	
	  max-width: none; 
	}
	/*-- /sec06 -------------------------------
	------------------------------------------*/

	/*-- cta ----------------------------------
	------------------------------------------*/
	.cta{
	  padding: 10vw 0 10vw 0;
	  background: url(../images/sp_cta_bg.png) no-repeat center;
	}
	.cta .btn_cta{
		flex-wrap: wrap;
		margin-top: 8vw;
	}
	.cta .btn_cta p.first{
		margin-bottom: 6vw !important;
	}
	/*-- /cta ---------------------------------
	------------------------------------------*/

	/*-- sec07 --------------------------------
	------------------------------------------*/
	.sec07{
	  padding: 10vw 0 10vw 0;
	}
	.sec07_box {
		margin-top: 8vw;
	}
	.sec07_box .item{
		flex-wrap: wrap;
	}
	.sec07_box .item .txt{
		padding: 4vw;
		max-width: 100%;
		border-radius: 4vw;
	}
	.sec07_box .item.last .thumb{
		order: 2;
	}
	.sec07_box .item.last .txt{
		padding-left: 4vw;
		padding-right: 4vw;
	}