@charset "utf-8";/* CSS Document */*, ::before, ::after {  box-sizing: border-box;}html {  font-size: 62.5%;}body {  position: relative;  width: 100%;  margin: 0;  padding: 0;  font-family: "BIZ UDGothic" , YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;  font-size: 1.2rem;  color: #333;  -webkit-text-size-adjust: none;  -webkit-font-smoothing: antialiased;  z-index: 0;  font-feature-settings: "pkna"1;  overflow-x: hidden;    letter-spacing: 0.06em;    line-height: 1.6;}a {  text-decoration: none;}h1, h2, h3, h4, h5, h6 {  margin-bottom: 0;  font-weight: 400;  font-size: inherit;  font-feature-settings: "palt";  line-height: 1.65;}p {  margin-bottom: 0;}pre {  margin-bottom: 0;}dl {  margin-bottom: 0;}ul {  margin-bottom: 0;}ol {  margin-bottom: 0;  list-style: decimal;  padding-left: 1em;}img{    max-width: 100%;}a:hover{    opacity: .6;    transition: all 0.6s;}a{    transition: all 0.6s;}/*-----------------------------------------------------------------ハンバーガーメニュー-----------------------------------------------------------------*/#g-nav{    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/    position:fixed;    z-index: 999;    /*ナビのスタート位置と形状*/  top:0;    right: -120%;  width:100%;    height: 100vh;/*ナビの高さ*/  background:#0099CB;    /*動き*/  transition: all 0.6s;}/*アクティブクラスがついたら位置を0に*/#g-nav.panelactive{    right: 0;}/*ナビゲーションの縦スクロール*/#g-nav.panelactive #g-nav-list{    /*ナビの数が増えた場合縦スクロール*/    position: fixed;    z-index: 999;     width: 100%;    height: 100vh;/*表示する高さ*/    overflow: auto;    -webkit-overflow-scrolling: touch;}/*ナビゲーション*/#g-nav ul {    /*ナビゲーション天地中央揃え*/    position: absolute;    z-index: 999;    top:50%;    left:50%;    transform: translate(-50%,-50%);    width: 100%}/*リストのレイアウト設定*/#g-nav li{  list-style: none;    text-align: center;}#g-nav li a{  color: #FFFFFF;  text-decoration: none;  padding:10px;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;  font-weight: bold;    font-size: 1.6rem;    border-bottom: 1px solid #FFFFFF;}/*========= ボタンのためのCSS ===============*/.openbtn1{  position:fixed;    z-index: 9999;/*ボタンを最前面に*/  top:26px;  right: 10px;  cursor: pointer;    width: 50px;    height:50px;    background: #0099CB;}  /*×に変化*/  .openbtn1 span{    display: inline-block;    transition: all .4s;    position: absolute;    left: 14px;    height: 3px;    border-radius: 2px;  background-color: #FFFFFF;    width: 45%;  }.openbtn1 span:nth-of-type(1) {  top:15px; }.openbtn1 span:nth-of-type(2) {  top:23px;}.openbtn1 span:nth-of-type(3) {  top:31px;}.openbtn1.active span:nth-of-type(1) {    top: 18px;    left: 18px;    transform: translateY(6px) rotate(-45deg);    width: 30%;}.openbtn1.active span:nth-of-type(2) {  opacity: 0;}.openbtn1.active span:nth-of-type(3){    top: 30px;    left: 18px;    transform: translateY(-6px) rotate(45deg);    width: 30%;}/*==================================================スライダーのためのcss===================================*/.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/    width:94%;    margin:0 auto;}.slider img {    width:70vw;/*スライダー内の画像を60vwにしてレスポンシブ化*/    height:auto;}.slider .slick-slide {	transform: scale(1);/*左右の画像のサイズを80%に*/	transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/	opacity: 0.5;/*透過50%*/}.slider .slick-slide.slick-center{	transform: scale(1);/*中央の画像のサイズだけ等倍に*/	opacity: 1;/*透過なし*/}/*矢印の設定*//*戻る、次へ矢印の位置*/.slick-prev, .slick-next {    position: absolute;/*絶対配置にする*/    top: 42%;    cursor: pointer;/*マウスカーソルを指マークに*/    outline: none;/*クリックをしたら出てくる枠線を消す*/    border-top: 2px solid #666;/*矢印の色*/    border-right: 2px solid #666;/*矢印の色*/    height: 15px;    width: 15px;}.slick-prev {/*戻る矢印の位置と形状*/    left: -1.5%;    transform: rotate(-135deg);}.slick-next {/*次へ矢印の位置と形状*/    right: -1.5%;    transform: rotate(45deg);}/*ドットナビゲーションの設定*/.slick-dots {    text-align:center;	margin:20px 0 0 0;    position: absolute;    bottom: 3vw;    right: 20vw;}.slick-dots li {    display:inline-block;	margin:0 5px;}.slick-dots button {    color: transparent;    outline: none;    width:15px;/*ドットボタンのサイズ*/    height:15px;/*ドットボタンのサイズ*/    display:block;    border-radius:50%;    background:#7F7F7F;/*ドットボタンの色*/}.slick-dots .slick-active button{    background:#FFFFFF;/*ドットボタンの現在地表示の色*/}/*--------------------------------------------------------------------------*/header{    position: fixed;    background: #FFFFFF;    z-index: 99;    width: 100%;    top: 0;    left: 0;}.header_inner{    height: 100px;    display: flex;    justify-content: space-between;    padding: 1rem 2rem;    width: 100%;    align-items: center;}.h_r{    display: flex;    gap: 3rem;}.h_tel{    width: 230px;    position: relative;    font-size: 2.6rem;    background: #0099CB;    color: #FFFFFF;    text-align: center;    border-radius: 10px;    font-weight: 700;}.h_tel::before{    content: "";    position: absolute;    left: 1rem;    top: 50%;    transform: translateY(-50%);    background: url("images/tel_icon.png") no-repeat center / contain;    width: 17px;    height: 17px;}.h_tel , .h_mail{    min-height: 40px;    display: flex;  align-items: center;  justify-content: center;    padding-left: 2rem}.h_mail{    width: 230px;    position: relative;    font-size: 1.8rem;    background: #FF7700;    color: #FFFFFF;    text-align: center;    border-radius: 10px;}.h_mail::before{    content: "";    position: absolute;    left: 1rem;    top: 50%;    transform: translateY(-50%);    background: url("images/mail_icon.png") no-repeat center / contain;    width: 18px;    height: 14px;}.nav{    width: 100%;    background: #0099CB;}.gnav{    max-width: 1280px;    margin: 0 auto;}.gnav ul{    display: flex;    align-items: center;    justify-content: center;    font-size: max(1vw , 1.6rem);    text-align: center;}.gnav ul li{    padding: 1rem 0;    border-left: 1px solid #FFFFFF;    color: #FFFFFF;    width: 12.5%;    text-align: center;}.gnav ul li:last-child{    border-right: 1px solid #FFFFFF;}.gnav ul li a:hover{    border-bottom: 1px solid #FFFFFF;    transition: all 0.6s;}.gnav ul li a{    transition: all 0.6s;}.mv{    margin-top: 160px;    margin-bottom: 30px;}.main{    background: #E1F9FF;    padding: 5rem 3%;}.contents_inner{    max-width: calc(1000px + 6%);    margin: 0 auto 3%;    background: #FFFFFF;    padding: 2%;    border-radius: 10px;}.h3_ttl{    font-size: max(1.2vw , 2rem);    color: #FFFFFF;    background: #0099CB;    border-radius: 3px;    font-weight: 700;    padding: 2rem;    margin-bottom: 3%;}.wrap{    margin-bottom: 6%;}.news_list{    display: flex;    flex-wrap: wrap;    font-size: max(1vw , 1.6rem);}.news_list dt{    width: 14%;    padding: 2rem 1rem;    border-bottom: 1px dotted #333333;    margin-bottom: 1rem;}.news_list dd{    width: 86%;    padding: 2rem 1rem;    border-bottom: 1px dotted #333333;    margin-bottom: 1rem}.news_list dt span{    padding: 5px;    background: #0099CB;    color: #FFFFFF;    border-radius: 3px;}.news_list dd span{    margin-right: 2rem;}.blue{    color: #0099CB;}.bold{    font-weight: 700;}.box_ttl{    font-size: max(1.2vw , 1.8rem);    margin-bottom: 1rem;}.flex{    display: flex;    justify-content: space-between;    flex-wrap: wrap;    gap: 2rem;}.flex-3{    max-width: calc((100% - 4rem) / 3);    width: 100%;}.flex-2 {  max-width: calc((100% - 2rem) / 2);  width: 100%;}.flex .txt{    width: 58%;}.flex .img{    width: 40%;}.info_list{    display: flex;    flex-wrap: wrap;    font-size: max(1vw , 1.6rem);    max-width: 800px;    margin: 0 auto;}.info_list dt{    width: 20%;    padding: 2rem 1rem;    border-bottom: 1px solid #CAEFFB;    margin-bottom: 1rem;}.info_list dd{    width: 80%;    padding: 2rem 1rem;    border-bottom: 1px solid #CAEFFB;    margin-bottom: 1rem}.info_list dt span{    padding: 5px;    background: #0099CB;    color: #FFFFFF;    border-radius: 3px;}.info_list dd span{    margin-right: 2rem;}footer{    background: #0099CB;    color: #FFFFFF;}.f_menu{    padding: 5% 3% 3%;}.f_menu ul{    display: flex;    flex-wrap: wrap;    max-width: 1000px;    gap: 2vw;    align-items: center;    justify-content: space-around;    font-size: max(0.9vw , 1.6rem);    margin: 0 auto;}.copy {    font-size: 1.4rem;    text-align: center;    padding: 1rem;}#page-top a{	display: flex;	justify-content:center;	align-items:center;	width: 60px;	height: 60px;	text-align: center;	text-transform: uppercase; 	text-decoration: none;	transition:all 0.3s;}#page-top a:hover{}/*リンクを右下に固定*/#page-top {	position: fixed;	right: 10px;	bottom:10px;	z-index: 2;    /*はじめは非表示*/	opacity: 0;	transform: translateX(100px);}/*　左の動き　*/#page-top.LeftMove{	animation: LeftAnime 0.5s forwards;}@keyframes LeftAnime{  from {    opacity: 0;	transform: translateX(100px);  }  to {    opacity: 1;	transform: translateX(0);  }}/*　右の動き　*/#page-top.RightMove{	animation: RightAnime 0.5s forwards;}@keyframes RightAnime{  from {  	opacity: 1;	transform: translateX(0);  }  to {  	opacity: 1;	transform: translateX(100px);  }}/*--------------------------------------------------------------------------PC--------------------------------------------------------------------------*/@media only screen and (min-width: 1025px) {  .sp-only {    display: none !important;  }  .tab-only {    display: none !important;  }}/*-------------下層ページ---------------*/.h2_ttl{    height: max(30vw , 250px);    display: flex;    justify-content: center;    align-items: center;    margin-bottom: 3rem;    background: url("images/h2_ttl.png") no-repeat center / cover;    margin-top: 100px;}.h2_ttl span{    color: #FFFFFF;    font-size: max(3vw , 3rem);    font-weight: 700;    padding-top: 5vw;}.t16{    font-size: max(0.9vw, 1.6rem);}.table01{    width: 100%;}.table01 th , .table01 td{    padding: 1rem;    border: 1px solid #333333;}.table01 th{    background: #DBECF2;    text-align: center;}.red{    color: #FF0000;}.h4_ttl{    font-size: max(1.2vw , 2rem);    font-weight: 700;    padding: 1rem 1rem 1rem 0;    margin-bottom: 2%;    border-bottom: 1px solid #0099CB;}.inner{    padding: 0 2%;}.h5_ttl{    font-size: max(1vw , 1.8rem);    font-weight: 700;    padding: 2rem 0 1% 3rem;    position: relative;}.h5_ttl::before{    content: "";    position: absolute;    left: 0;    top: calc(50% + 5px);    transform: translateY(-50%);    width: 10px;    height: 10px;    background: #0099CB;}.mt3{    margin-top: 3%;}.flex.jcc{    justify-content: center!important;}.tc{    text-align: center;    margin: 0 auto;}.img img{    width: 100%;}.box_con {  max-width: 900px;  margin: 0  auto;}@media only screen and (max-width: 768px) {  .box_con {    width: 95%;  }}.box_con form {  width: 100%;}.box_con form table {  width: 100%;    font-size: 1.8rem;    padding: 1rem;    margin-top: 5rem;}.box_con form table tr {  position: relative;}.box_con form table tr:after {  content: "";  position: absolute;  width: 100%;  left: 0;  bottom: 0;  height: 1px;  border-bottom: dotted #cdcdcd 1px;}.box_con form table tr th {  width: 30%;  font-weight: normal;  padding: 1em .5em;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;}@media only screen and (max-width: 768px) {  .box_con form table tr th {    text-align: center;    width: 100%;    display: block;    background: #97ae88;    padding: .8em .2em;    color: #fff;  }}.box_con form table tr th span {  background: #cd6f55;  padding: 0 .3em;  color: #fff;  margin-left: .5em;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;}.box_con form table tr td {  padding: 1em .5em;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;}@media only screen and (max-width: 768px) {  .box_con form table tr td {    padding: 1.5em .5em;    display: block;    width: 100%;  }}.box_con form table tr .box_br {  display: block;}.box_con form table tr select {  border: 1px solid #97ae88;}.box_con form table tr label input {  cursor: pointer;  display: none;  vertical-align: middle;}.box_con form table tr .radio02-input + label {  padding-left: 23px;  margin-right: 20px;  position: relative;}.box_con form table tr .radio02-input + label:before {  content: "";  display: block;  position: absolute;  top: 50%;  left: 0;  width: 16px;  height: 16px;  border: 1px solid #999;  border-radius: 50%;  -moz-transform: translateY(-50%);  -ms-transform: translateY(-50%);  -webkit-transform: translateY(-50%);  transform: translateY(-50%);}.box_con form table tr .radio02-input:checked + label:after {  content: "";  display: block;  position: absolute;  top: 50%;  left: 3px;  width: 12px;  height: 12px;  background: #97ae88;  border-radius: 50%;  -moz-transform: translateY(-50%);  -ms-transform: translateY(-50%);  -webkit-transform: translateY(-50%);  transform: translateY(-50%);}.box_con form table tr select, .box_con form table tr input, .box_con form table tr textarea {  width: 100%;  height: 3em;  padding: .5em;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;    background: #EEEEEE;}.box_con form table tr textarea {  height: 10em;}/*プライバシーのデザインcss↓*/.con_pri {  max-width: 700px;  margin: 0  auto;}@media only screen and (max-width: 768px) {  .con_pri {    width: 95%;  }}.con_pri .box_pri {  height: 300px;  overflow-y: scroll;  border: 1px solid #cdcdcd;  background: #f7f7f7;  -moz-box-sizing: border-box;  -webkit-box-sizing: border-box;  box-sizing: border-box;  margin-top: 20px;  padding: 20px 55px;}@media only screen and (max-width: 768px) {  .con_pri .box_pri {    margin-top: 4%;    padding: 3%;  }}@media only screen and (min-width: 769px) and (max-width: 1024px) {  .con_pri .box_pri {    padding: 4%;  }}.con_pri .box_pri .box_tori {  text-align: left;  margin-top: 40px;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_tori {    margin-top: 4%;  }}.con_pri .box_pri .box_tori h4 {  font-weight: 600;  margin-bottom: 1rem;  font-size: 2rem;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_tori h4 {    margin-bottom: 4%;  }}.con_pri .box_pri .box_tori .txt {  padding: 0 20px;    font-size: max(0.9vw , 1.6rem);}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_tori .txt {    padding: 0;  }}.con_pri .box_pri .box_num {  margin-top: 30px;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_num {    margin-top: 5%;  }}.con_pri .box_pri .box_num h4 {    font-size: 2rem;    font-weight: 600;}.con_pri .box_pri .box_num .txt {  padding: 10px 0 0 20px;}@media only screen and (max-width: 768px) {  .con_pri .box_pri .box_num .txt {    padding: 3% 0 0 3%;  }}.box_num ol li {    font-size: max(0.9vw , 1.6rem);    line-height: 1.7;    list-style: decimal;    margin: 0 0 1rem 4rem;    padding: 0;}.box_check {  text-align: center;  margin: 1em auto;}.box_check label {  display: inline-block;}.box_check label span {  margin-left: .3em;    font-size: 1.8rem;}.btn {  text-align: center;}.btn input {  display: inline-block;  background: #eee;  padding: .5em 4em;  color: #000;  text-decoration: none;  cursor: pointer;  border: none;  -moz-transition: all 0.4s;  -o-transition: all 0.4s;  -webkit-transition: all 0.4s;  transition: all 0.4s;}.btn input:hover {  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);  opacity: 0.7;}#a01{    margin-top: -100px;    padding-top: 100px}/*--------------------------------------------------------------------------tablet--------------------------------------------------------------------------*/@media only screen and (min-width: 768px) and (max-width: 1024px) {  .sp-only {    display: none !important;  }  .pc-only {    display: none !important;  }}/*--------------------------------------------------------------------------sp--------------------------------------------------------------------------*/@media screen and (max-width: 767px) {    .pc-only {    display: none !important;  }  .pc-tab-only {    display: none !important;  }   .tab-only {    display: none !important;  }     .logo {  max-width: 60%;}    .sp_mail    {        position: absolute;        top: 26px;        right: 80px;    }    .mv {  margin-top: 100px;}    .slider img    {        width: 50vh;    }    .slick-dots button {  width: 8px;  height: 8px;}    .news_list dt {  width: 100%;  padding: 2rem 1rem 0;  border-bottom: none;  margin-bottom: 0;}    .flex-3 {  max-width: calc((100% - 3rem) / 2);  width: 100%;}    .flex-2 {  max-width: 100%;  width: 100%;}    .flex .txt{    width: 100%;}.flex .img{    width: 100%;}    .info_list dt {  width: 100%;  padding: 2rem 1rem 0;  border-bottom: none;  margin-bottom: 0;}    .info_list dd {  width: 80%;  padding: 1rem 1rem 2rem;  border-bottom: 1px solid #CAEFFB;  margin-bottom: 0;}}/*==================================================フェードイン===================================*/.fadeIn{animation-name:fadeInAnime;animation-duration:1s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeInAnime{  from {    opacity: 0;  }  to {    opacity: 1;  }}/* 下から */.fadeUp{animation-name:fadeUpAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeUpAnime{  from {    opacity: 0;  transform: translateY(100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 上から */.fadeDown{animation-name:fadeDownAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeDownAnime{  from {    opacity: 0;  transform: translateY(-100px);  }  to {    opacity: 1;  transform: translateY(0);  }}/* 左から */.fadeLeft{animation-name:fadeLeftAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeLeftAnime{  from {    opacity: 0;  transform: translateX(-100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* 右から */.fadeRight{animation-name:fadeRightAnime;animation-duration:0.5s;animation-fill-mode:forwards;opacity:0;}@keyframes fadeRightAnime{  from {    opacity: 0;  transform: translateX(100px);  }  to {    opacity: 1;  transform: translateX(0);  }}/* スクロールをしたら出現する要素にはじめに透過0を指定　*/ .fadeInTrigger,.fadeUpTrigger,.fadeDownTrigger,.fadeLeftTrigger,.fadeRightTrigger{    opacity: 0;}