@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: 'Noto Sans JP', "Noto Sans", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";  font-style: normal;  font-weight: normal;  font-size: 1.2rem;  color: #333;  z-index: 0;  overflow-x: hidden;  background: #FFF9F3;}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%;}/*-----------------------------------------------------------------*/#header {  height: 120px;  width: 100%;  position: fixed;  top: 0;  left: 0;  right: 0;  background: #FFF9F3;  display: flex;  align-items: center;  z-index: 99;}.header_inner {  display: flex;  align-items: center;  width: 100%;  justify-content: space-between;  padding: 0 3%;}.header_r {  display: flex;  justify-content: space-around;  width: 100%;  max-width: 800px; }.gnav {  font-size: 1.8rem;  font-weight: 600;  width: 100%;  margin-right: 8%;  display: flex;  align-items: center;}.gnav ul {  display: flex;  justify-content: space-between;  align-items: center;  width: 100%;  }.gnav ul li{    font-family: "Noto Serif JP", "Noto Serif" , serif;}.mv {  max-width: calc(1800px + 6%);  padding: 0 3%;  margin: 0 auto;  margin-top: 120px;  margin-bottom: 3%;}section {  padding: 3% 0;}.sec1 {  background: url("images/top_bg.png") no-repeat top center/cover;}.container {  max-width: calc(1600px + 6%);  padding: 3%;  margin: 0 auto;}.container18 {  max-width: calc(1800px + 6%);  padding: 3%;  margin: 0 auto;}.wrap{  max-width: calc(1200px + 6%);  padding: 3%;  margin: 0 auto;  }.flex {  display: flex;  flex-wrap: wrap;}.jsb {  justify-content: space-between;}.jsa {  justify-content: space-around;}.jse {  justify-content: space-evenly;}.ac {  align-items: center;}.at{    align-items: flex-start}.txt p {  font-size: 1.8rem;  font-weight: 500;  letter-spacing: 0.1em;  line-height: 1.8;}.txt {  width: 48%;}.img {  width: 48%;}.box_ttl {  font-size: 4rem;  margin-bottom: 6%;  color: #D54100;  font-weight: 800;    font-family: "Noto Serif JP", "Noto Serif" , serif;}.box_ttl2 {  font-size: 4rem;  margin-bottom: 3%;  color: #D54100;  font-weight: 800;    font-family: "Noto Serif JP", "Noto Serif" , serif;}.btn {  padding: 1.5rem 0;  margin-top: 6%;}.btn a {  padding: 1.5rem 8rem 1.5rem 2rem;  background: #12A560;  color: #FFFFFF;  font-size: 1.8rem;  position: relative;}.btn a::before {  content: "";  height: 1px;  width: 2rem;  background: #FFFFFF;  position: absolute;  top: 50%;  right: 0;}.sec2 {  background: url("images/overview_bg.png")no-repeat top center/cover;  padding: 6% 0;}.sec3 {  background: url("images/overview_bg02.png")no-repeat top center/cover;  padding: 6% 0;}.ttl {  font-size: 6rem;  font-weight: 800;  text-align: center;  margin-bottom: 4%;  color: #D54100;  letter-spacing: 0.1em;  line-height: 1.6;    font-family: "Noto Serif JP", "Noto Serif" , serif;}.tc {  text-align: center;}.t24 {  font-size: 2.4rem;  margin-bottom: 6%;  letter-spacing: 0.1em;  line-height: 1.6;}.rela {  position: relative;}.sec2_txt_box {  position: absolute;  top: 50%;  right: 0;  transform: translateY(-50%);  width: 65%;  background: rgba(255, 255, 255, 0.80);  padding: 3vw;  box-shadow: 3px 3px 10px -3px #777777;  min-height: 360px;}.sec2_txt_box p {  font-size: 1.8rem;  font-weight: 500;  letter-spacing: 0.1em;  line-height: 1.6;}.re {  flex-direction: row-reverse;}.re .sec2_txt_box {  position: absolute;  top: 50%;  left: 0;  transform: translateY(-50%);  width: 65%;  background: rgba(255, 255, 255, 0.80);  padding: 3vw;  box-shadow: 3px 3px 10px -3px #777777;  min-height: 360px;}.info_img {  margin-bottom: 3%;}.info_bg {  background: url("images/info_bg.png")no-repeat top center/cover;  padding: 3% 0;}.info_wrap {  max-width: calc(1400px + 6%);  padding: 0 3%;  margin: 0 auto;}.info_bg ul dl {  display: flex;}.info_bg ul li {  padding-bottom: 3rem;  margin-bottom: 3rem;  border-bottom: 1px solid #CCCCCC;  font-size: 1.8rem;  font-weight: 600;  letter-spacing: 0.1em;  line-height: 1.6;}.info_bg dt {  width: 30%;}.info_bg .btn {  text-align: center;}.map {  margin-bottom: 3%;}.ore {  color: #D54100;}.maparea p {  font-size: 2rem;  line-height: 1.6;  letter-spacing: 0.1em;  font-weight: 600;}#footer {  padding-top: 6%;}.footerbox {  max-width: 1200px;  margin: 0 auto;  padding: 6%;}.f_logo {  text-align: center;  margin-bottom: 3%;}.f_tel {  text-align: center;  margin-bottom: 6%;  font-size: 4rem;  font-weight: 600;  letter-spacing: 0.1em;}.copy {  text-align: center;  color: #FFFFFF;  background: #D54100;  padding: 1rem;}/*-------------------------------ハンバーガーメニュー--------------------------------*/#g-nav {  /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/  position: fixed;  z-index: -1;  opacity: 0; /*はじめは透過0*/  /*ナビの位置と形状*/  top: 0;  width: 100%;  height: 100vh; /*ナビの高さ*/  background: #FFF9F3;  /*動き*/  transition: all 0.3s;}/*アクティブクラスがついたら透過なしにして最前面へ*/#g-nav.panelactive {  opacity: 1;  z-index: 999;}/*ナビゲーションの縦スクロール*/#g-nav.panelactive #g-nav-list {  /*ナビの数が増えた場合縦スクロール*/  position: fixed;  z-index: 999;  width: 100%;  height: 100vh; /*表示する高さ*/  overflow: auto;  -webkit-overflow-scrolling: touch;}/*ナビゲーション*/#g-nav ul {  display: none;  /*ナビゲーション天地中央揃え*/  position: absolute;  z-index: 999;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  font-size: 1.6rem;    width: 100%;}#g-nav.panelactive ul {  display: block;}/*リストのレイアウト設定*/#g-nav li {  list-style: none;  text-align: center;}#g-nav li a {  color: #333;  text-decoration: none;  padding: 10px;  display: block;  text-transform: uppercase;  letter-spacing: 0.1em;  font-weight: bold;}/*========= ボタンのためのCSS ===============*/.openbtn1 {  position: fixed;  z-index: 9999; /*ボタンを最前面に*/  top: 35px;  right: 35px;  cursor: pointer;  width: 50px;  height: 50px;}/*×に変化*/.openbtn1 span {  display: inline-block;  transition: all .4s;  position: absolute;  left: 14px;  height: 3px;  border-radius: 2px;  background-color: #333333;  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%;}/*-------------------------------下層ページ--------------------------------*/.h2_ttl {  background: url("images/h2_ttl.png") no-repeat top center/cover;  text-align: center;  color: #FFFFFF;  font-weight: 600;  font-size: 6rem;  height: 24vw;  display: flex;  justify-content: center;  align-items: center;    max-width: 1800px;    padding: 0 6rem;    margin: 120px auto 0;    border-radius: 10px;    font-family: "Noto Serif JP", "Noto Serif" , serif;}.h2_ttl.ripia02{   background: url("images/h2_ttl_ripia02.png") no-repeat top center/cover; }.h3_ttl {  font-size: 5rem;  font-weight: 800;  text-align: center;  margin-bottom: 6%;  color: #D54100;  letter-spacing: 0.1em;  line-height: 1.6;    position: relative;    padding-bottom: 3%;    font-family: "Noto Serif JP", "Noto Serif" , serif;}.sec3 .h3_ttl {  color: #00253D;}.sec3 .h3_ttl::before {  background: #00253D;}.h3_ttl::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 3px;    border-radius: 10px;    background: #D54100;    width: 10rem;}.sub_ttl{    font-size: 2.4rem;    font-weight: 600;    padding: 4% 0 1%;    color: #D54100;}.red{    color: red;}.flow04 {  padding-left: 0;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  flex-wrap: wrap;  justify-content: center;  gap: 60px;}.flow04 > li {  list-style-type: none;  width: 100%;  max-width: 420px;  display: flex;}.flow04 > li .icon04 {  line-height: 2;  width: 2em;  height: 2em;  text-align: center;  color: #fff;  background: #E26B5D;  margin: 0 auto 10px;  display: block;  border-radius: 100vh;  position: relative;}.flow04 > li .icon04::before {  content: "";  border: solid transparent;  border-width: 7px;  border-top-color: #E26B5D;  position: absolute;  top: calc(100% - 2px);  left: 50%;  -webkit-transform: translateX(-50%);  transform: translateX(-50%);}.flow04 > li dl {  padding: 30px 20px;  margin: 0;  border: 3px solid #E26B5D;  position: relative;    width: 100%;    background: #FFFFFF;}.flow04 > li:not(:first-child) dl::before {  content: "";  width: 14px;  height: 14px;  margin-right: 10px;  display: inline-block;  border-top: 4px solid #E26B5D;  border-right: 4px solid #E26B5D;  position: absolute;  top: calc(50% - 14px);  left: -45px;  -webkit-transform: rotate(45deg);  transform: rotate(45deg);}.flow04 > li dl dt {  font-size: 2rem;  font-weight: 600;  color: #E26B5D;  -ms-flex-preferred-size: 20%;  flex-basis: 20%;  margin-bottom: 10px;  text-align: center;}.flow04 > li dl dd {  margin-left: 0;    font-size: 1.8rem;    letter-spacing: 0.1em;    line-height: 1.6;}@media(max-width: 767px){  .flow04 {    gap: 20px;  }  .flow04 > li {    max-width: unset;    display: block;  }  .flow04 > li:not(:first-child) dl::before {    display: none;  }}.info_wrap p{    font-size: 1.8rem;    letter-spacing: 0.1em;    line-height: 1.6;    font-weight: 600;}.img02{    width: calc(100% / 4 - 3%);    margin-bottom: 3%;}.img02 p{    font-size: 2rem;    padding-top: 1rem;    text-align: center;    letter-spacing: 0.1em;    color: #D54100;    font-weight: 600;}.sec3 .img02 p{    color: #00253D;}/*---------------------------------------------------------フォーム-----------------------------------------------------------*/.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: #D54100;    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 #CCCCCC;}.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;    width: 100%;    font-size: 1.8rem;}@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 ul li {    font-size: 1.8rem;    line-height: 1.7;    list-style: square outside none;    margin: 0 0 0 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: #D54100;  padding: 2rem 8rem;  color: #FFFFFF;  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;    font-size: 1.8rem;}.btn input:hover {  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);  opacity: 0.7;}.btn_area{    display: flex;    justify-content: center;    gap: 30px;}.pdf{    position: fixed;    top: 30%;    right: 0;    z-index: 99;}.nav_tel{    font-size: 3rem;}.news_ttl{    font-size: max(2.6vw , 2rem);    font-family: "Noto Serif JP", "Noto Serif" , serif;    text-align: center;    font-weight: 700;    line-height: 0.8;    margin-bottom: 5%;}.news_ttl span{    font-size: max(1vw , 1.8rem);    color: #D54100;}.news_inner{    background: #FFFFFF;    border-radius: 20px;    padding: 3vw;    max-width: 1000px;    margin: 0 auto;    max-height: 300px;    overflow-y: auto;}.news_list li{    padding-bottom: 1.5rem;    margin-bottom: 1.5rem;    border-bottom: 1px dashed #D54100;    font-size: max(0.9vw , 1.6rem);    font-weight: 700;}.news_list dl{    display: flex;    justify-content: space-between;    align-items: flex-start;    flex-wrap: wrap;}.news_list dt{    width: 20%;    color: #D54100;}.news_list dd{    width: 75%;}.newsttl{    font-size: max(1.2vw , 2rem);    text-align: center;    font-weight: 700;    margin-bottom: 5%;    color: #D54100;    margin-top: 1rem;}.news_inner2 p{    font-size: max(0.9vw , 1.6rem);    letter-spacing: 0.06em;    line-height: 1.8;}.news_inner2{    background: #FFFFFF;    border-radius: 20px;    padding: 3vw;    max-width: 1000px;    margin: 0 auto;}.date{    font-size: max(0.9vw , 1.6rem);    letter-spacing: 0.06em;    font-weight: 700;    color: #D54100;    margin-bottom: 1rem;}.date span{    padding: 0.5rem;    background: #D54100;    color: #FFFFFF;    margin-right: 1rem;}/*--------------------------------------------------------------------------PC--------------------------------------------------------------------------*/@media only screen and (min-width: 1025px) {  .sp-only {    display: none !important;  }  .tab-only {    display: none !important;  }  .tab-sp-only {    display: none !important;  }}/*--------------------------------------------------------------------------tablet--------------------------------------------------------------------------*/@media only screen and (min-width: 768px) and (max-width: 1024px) {  .sp-only {    display: none !important;  }  .pc-only {    display: none !important;  }  .box_ttl {    font-size: 3rem;  }  .txt p {    font-size: 1.6rem;  }  .ttl {    font-size: 4rem;  }  .container18 {    margin: 0 auto 20%;  }  .t24 {    margin-bottom: 20%;  }  .box_ttl2 {    font-size: 3rem;  }    .img02{    width: calc(100% / 2 - 3%);    margin-bottom: 3%;}/*---------------------------------------------    下層ページ-----------------------------------------------*/    .h2_ttl {  font-size: 5rem;  height: 36vw;  max-width: 90%;  padding: 0 6rem;  margin: 120px auto 6%;  border-radius: 10px;}    .h3_ttl {  font-size: 4rem;}}/*--------------------------------------------------------------------------sp--------------------------------------------------------------------------*/@media screen and (max-width: 767px) {  .pc-only {    display: none !important;  }  .pc-tab-only {    display: none !important;  }  .tab-only {    display: none !important;  }    .logo {  width: 80%;}    .img {  width: 100%;        margin-bottom: 6%;}    .txt {  width: 100%;}    .box_ttl {  font-size: 3rem;}    .openbtn1 {  right: 15px;}    .ttl {  font-size: 3rem;}    .sec2_txt_box {  position: relative;  top: -40px;  right: 0;  width: 100%;        transform: translateY(0%);        min-height: auto;        padding: 6vw;}    .box_ttl2 {  font-size: 2.6rem;}    .re .sec2_txt_box {  position: relative;  top: -40px;  transform: translateY(0%);  width: 100%;        min-height: auto;        padding: 6vw;}    .info_bg ul dl {  flex-direction: column;}    .f_tel {  font-size: 3rem;}    .footerbox .contact    {        margin-top: 6%;    }    .btn_area{    flex-wrap: wrap;}/*-------------------------------下層ページ--------------------------------*/.h2_ttl {  background: url("images/h2_ttl.png") no-repeat top center/cover;  text-align: center;  color: #FFFFFF;  font-weight: 600;  font-size: 3rem;  height: 38vw;  display: flex;  justify-content: center;  align-items: center;  max-width: 90%;  padding: 0 6rem;  margin: 120px auto 0;  border-radius: 10px;  margin-bottom: 6%;}    .h3_ttl {  font-size: 3rem;}    .img02{    width: 100%;    margin-bottom: 3%;}    .news_list dt{    width: 100%;}.news_list dd{    width: 100%;}    .gnav ul {  display: flex;  justify-content: flex-start;  align-items: center;  width: 100%;  flex-wrap: wrap;  gap: 20px;}}